:root{--ink:#141412;--deep:#10100f;--deep2:#181715;--cream:#f4f0e9;--cream2:#ebe6dc;--gold:#caab6b;--gold-light:#e2c78c;--muted:#a6a19a;--line:rgba(201,177,125,.24);--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:87px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}em{font-weight:400;font-style:italic;color:var(--gold)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-70px;padding:12px 18px;background:#fff;color:#111;z-index:999}.skip-link:focus{top:12px}
.sm-intro{position:fixed;inset:0;z-index:1200;background:radial-gradient(circle at 50% 34%,rgba(206,172,97,.16),transparent 32%),linear-gradient(180deg,#12110f 0%,#0b0b0a 100%);display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity .9s ease,visibility .9s ease}.sm-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.sm-intro-inner{position:relative;display:grid;place-items:center;text-align:center;padding:24px}.sm-intro-ring{position:absolute;width:min(48vw,360px);height:min(48vw,360px);border:1px solid rgba(226,199,140,.5);border-radius:50%;box-shadow:0 0 70px rgba(202,171,107,.12)}.sm-intro-logo{width:min(34vw,210px);height:auto;filter:drop-shadow(0 0 18px rgba(225,195,124,.10));opacity:0;transform:scale(.9);animation:smPulse 1.45s ease forwards .25s}.sm-intro-label{margin:22px 0 0;font-size:10px;letter-spacing:.34em;font-weight:700;color:var(--gold-light);opacity:0;animation:smFade .8s ease forwards .95s}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(226,199,140,.28);border-radius:50%;background:rgba(255,255,255,.03);margin-left:auto;margin-right:8px;box-shadow:0 0 0 1px rgba(0,0,0,.06) inset}.brand-mark img{width:26px;height:auto;opacity:.95}.footer-mark{display:flex;align-items:center;justify-content:center;width:78px;height:78px;border:1px solid rgba(226,199,140,.18);border-radius:50%;background:radial-gradient(circle,rgba(226,199,140,.08),transparent 65%)}.footer-mark img{width:46px;height:auto;opacity:.9}.site-header.sm-revealed{animation:headerFade .6s ease both}.hero-copy.sm-revealed,.hero-visual.sm-revealed{animation:contentRise .85s ease both}
.site-header{position:absolute;inset:0 0 auto;z-index:100;border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(9,9,9,.72),rgba(9,9,9,.18));height:94px}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.brand{display:block;flex:0 0 auto}.brand img{width:184px;height:auto}.main-nav{display:flex;align-items:center;gap:clamp(17px,2vw,31px)}.main-nav a{color:#e8e5dd;font-size:12px;font-weight:600;transition:color .2s;white-space:nowrap}.main-nav a:hover{color:var(--gold-light)}.main-nav .nav-contact{color:#111;background:var(--gold);border:1px solid var(--gold);padding:14px 19px}.nav-contact span{margin-left:8px}.menu-toggle{display:none}
.hero{min-height:760px;background:var(--deep);color:#f9f6ef;position:relative;overflow:hidden}.hero-glow{position:absolute;right:5%;top:-420px;width:740px;height:740px;border-radius:50%;background:radial-gradient(circle,rgba(190,152,84,.12),transparent 62%);pointer-events:none}.hero-grid{min-height:760px;display:grid;grid-template-columns:1.04fr .96fr;gap:28px;align-items:center;padding-top:125px;padding-bottom:84px}.hero-copy{position:relative;z-index:2;padding-top:26px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.23em;font-weight:700;color:var(--gold);text-transform:uppercase}.eyebrow-line{height:1px;width:31px;background:currentColor;flex:0 0 auto}.hero h1{font:400 clamp(65px,7.6vw,112px)/1.08 var(--serif);letter-spacing:-.055em;margin:31px -100px 30px 0;position:relative}.hero h1 em{color:var(--gold-light)}.hero-lead{line-height:1.9;color:#c3beb4;font-size:15px;max-width:490px}.hero-actions{display:flex;align-items:center;gap:31px;margin-top:34px;flex-wrap:wrap}.btn{border:1px solid transparent;min-height:51px;padding:15px 22px;display:inline-flex;justify-content:center;align-items:center;gap:23px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.03em;transition:transform .22s,background .22s,border .22s;color:inherit;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#16120d}.btn-gold:hover{background:#e4c78d}.btn-outline{border-color:rgba(210,178,111,.54);background:transparent;color:#f5eee4}.btn-outline:hover{background:rgba(210,178,111,.09)}.btn-dark{background:#171615;color:#f5f0e7}.btn-dark:hover{background:#2f2a24}.text-link{font-size:12px;font-weight:700;border:0;border-bottom:1px solid var(--gold);padding:8px 0;display:inline-flex;gap:19px;align-items:center;background:transparent;color:inherit;text-align:left}.text-link.light{color:#eeeae2}.text-link.dark-link{color:#222}.text-link:hover{color:var(--gold)}.hero-signature{display:flex;gap:11px;color:#a8a29a;align-items:center;font-size:10px;letter-spacing:.18em;margin-top:70px}.decor-star{font-size:18px;color:var(--gold)}.hero-visual{position:relative;width:100%;height:550px;margin:4px 0 0 auto}.hero-image-frame{position:absolute;inset:0 12px 0 30px;overflow:hidden;background:#34312e}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.hero-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.3) 100%),linear-gradient(90deg,rgba(0,0,0,.09),transparent 35%)}.hero-corner{position:absolute;width:115px;height:122px;top:-18px;right:-6px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}.hero-visual-caption{position:absolute;bottom:16px;right:-22px;writing-mode:vertical-rl;letter-spacing:.21em;font-size:9px;color:#f3ede2}.hero-visual-caption span{color:var(--gold);padding:10px}.hero-scroll{position:absolute;bottom:28px;left:calc(50% - 17px);color:#897e6c;display:flex;flex-direction:column;align-items:center;font-size:8px;letter-spacing:.25em;gap:10px}.hero-scroll div{height:28px;width:1px;background:var(--gold)}
.marquee{overflow:hidden;background:var(--gold);color:#17140d;padding:14px 0}.marquee-track{font-size:10px;font-weight:800;letter-spacing:.21em;text-align:center;white-space:nowrap}.marquee span{margin:0 22px;font-size:13px}
.section{padding:112px 0}.intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(64px,10vw,144px);align-items:center}.intro-photo{position:relative;max-width:470px;aspect-ratio:4/5;overflow:hidden}.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.photo-index{position:absolute;bottom:18px;left:18px;background:rgba(20,18,15,.82);font-size:10px;letter-spacing:.15em;color:#fff;padding:10px 13px}.eyebrow.dark{color:#9b7c40}.section-intro h2,.section-heading h2,.private-intro h2,.about-copy h2,.contact-copy h2{font:400 clamp(43px,5vw,67px)/1.18 var(--serif);letter-spacing:-.045em;margin:26px 0}.section-intro h2 em,.section-heading h2 em,.private-intro h2 em,.about-copy h2 em{color:#ab8952}.intro-copy p,.about-copy p{color:#69655f;line-height:2;max-width:590px}.signature,.about-sign{font:italic 20px var(--serif);margin:25px 0 12px;color:#a48146}.intro-copy .text-link{margin-top:24px}
.section-wedding{background:#121210;color:#f4f0e9}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:90px;margin-bottom:45px}.section-heading>div{max-width:740px}.section-heading h2{margin-bottom:0}.section-heading>p,.section-heading.centered>p{max-width:350px;font-size:14px;color:#a9a49b;line-height:1.9}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.package-card{display:flex;flex-direction:column;min-height:600px;padding:35px 27px 30px;border:1px solid #4a4034;background:#191816;transition:transform .22s,border-color .22s}.package-card:hover{transform:translateY(-5px);border-color:#a78c59}.package-card.featured{border-color:var(--gold);background:linear-gradient(150deg,#272216,#171614 54%);box-shadow:inset 0 3px var(--gold)}.package-top{display:flex;justify-content:space-between;gap:15px;align-items:baseline;color:var(--gold);font-weight:700;letter-spacing:.12em;font-size:10px}.package-num{opacity:.45;font-size:17px;font-family:var(--serif)}.package-card h3{font:400 50px/1.1 var(--serif);letter-spacing:-.05em;margin:28px 0 5px}.package-tagline{font-size:12px;line-height:1.65;color:#c5bdb1;min-height:44px;margin:10px 0 21px}.price{font:400 43px var(--serif);margin:0;color:var(--gold-light);letter-spacing:-.045em}.price span{font-size:23px}.price-label{font-size:10px;letter-spacing:.11em;color:#928e85;margin:6px 0}.package-divider{height:1px;background:var(--line);margin:27px 0 22px}.feature-list{margin:0 0 29px;padding:0;list-style:none;display:grid;gap:12px}.feature-list li{padding-left:22px;position:relative;font-size:12px;line-height:1.65;color:#cfcac3}.feature-list li::before{content:'✦';font-size:9px;position:absolute;left:0;top:2px;color:var(--gold)}.feature-list strong{color:#f3e8d6;font-weight:700}.package-includes{font-size:12px;color:#d1c9ba;line-height:1.6;margin:0 0 23px}.package-spacer{flex:1}.package-card .btn{margin-top:auto;width:100%}.wedding-notes{display:flex;gap:25px;justify-content:center;flex-wrap:wrap;padding:29px 0 23px;border-bottom:1px solid #3c3932;color:#b8b2a5;font-size:11px}.dot{display:inline-block;height:5px;width:5px;border-radius:50%;background:var(--gold);margin-right:7px;vertical-align:middle}.brochure-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px;color:#bfb8a8;font-size:12px}.brochure-cta a{color:var(--gold-light);border-bottom:1px solid var(--gold);padding-bottom:4px;font-weight:600}
.section-experiences{background:#eee9e0}.section-heading.centered{display:flex;flex-direction:column;gap:0;text-align:center;align-items:center;margin-bottom:47px}.section-heading.centered h2{margin:21px 0 0}.section-heading.centered>p{max-width:540px;color:#777066}.experiences-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.experience-tile{min-height:505px;position:relative;overflow:hidden;background:#302d28}.experience-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .5s}.experience-tile:hover img{transform:scale(1.055)}.experience-tile:nth-child(2) img{object-position:center 42%}.experience-overlay{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(7,7,7,.88) 45%);color:#fff;padding:90px 28px 28px}.experience-overlay span{color:var(--gold-light);font-size:9px;letter-spacing:.17em}.experience-overlay h3{font:400 35px/1.1 var(--serif);letter-spacing:-.04em;margin:14px 0}.experience-overlay p{font-size:12px;line-height:1.75;color:#dfd9cf;max-width:300px}
.section-private{background:#1b1a18;color:#f9f4eb}.private-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:clamp(50px,8vw,110px)}.private-intro h2{max-width:560px}.private-intro p{color:#b8b1a8;line-height:2;max-width:485px}.private-intro img{width:100%;height:270px;object-fit:cover;object-position:center 45%;margin-top:27px;filter:saturate(.75)}.private-offers{padding-top:11px}.private-offer{border-top:1px solid #585044;padding:24px 0 29px}.offer-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.offer-top span{font-size:10px;color:var(--gold);letter-spacing:.17em;font-weight:800}.offer-top strong{font:400 32px var(--serif);color:var(--gold-light)}.private-offer h3{font:400 28px/1.3 var(--serif);margin:17px 0 8px}.private-offer p{line-height:1.9;color:#c1bdb5;font-size:12px}.private-offer .text-link{color:#e5c78c;margin-top:6px}.private-footnote{font-size:11px;color:#c9c1b6;margin-top:15px}.private-pdf{display:inline-flex;align-items:center;gap:15px;color:var(--gold-light);font-size:11px;margin-top:29px;border-bottom:1px solid #9a8152;padding-bottom:7px}
.section-gallery{background:var(--cream)}.section-gallery .section-heading>p{color:#79746b}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:195px;gap:12px}.gallery-item{padding:0;border:0;position:relative;overflow:hidden;background:#342e26;text-align:left}.gallery-item.tall{grid-row:span 2}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item:focus-visible{outline:3px solid #b58b44;outline-offset:3px}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:30px 14px 14px;color:#f1e9d8;font-size:9px;letter-spacing:.12em;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.76))}.gallery-item.portrait-gallery img{object-position:center 31%}
.section-about{background:#e6dfd4}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(70px,9vw,150px)}.about-visual{width:100%;height:510px;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.about-copy h2{margin-top:20px}.about-copy .btn{margin-top:23px}
.section-contact{background:#10100f;color:#f4f0e9;padding-top:105px;padding-bottom:110px}.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(60px,9vw,130px)}.contact-copy h2{max-width:470px}.contact-copy p{line-height:1.9;color:#bab2a5}.contact-direct{margin-top:48px;border-top:1px solid #504739}.contact-direct a{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid #504739;padding:17px 0}.contact-direct span{letter-spacing:.17em;font-size:9px;color:var(--gold)}.contact-direct strong{font-size:16px;font-weight:500}.contact-direct a:hover strong{color:var(--gold-light)}.whatsapp-link{display:inline-flex;gap:24px;margin-top:28px;color:var(--gold-light);font-weight:700;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:10px}.form-shell{padding:33px 34px 27px;background:#24221e;border:1px solid #4d4435}.form-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:25px;font-size:10px;letter-spacing:.12em;color:#d9c6a0;font-weight:700}.form-head strong{color:#80786c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;color:#e8e1d6;font-size:11px;font-weight:600}form label span{color:var(--gold)}input,textarea,select{width:100%;background:#1b1a17;color:#f6f2eb;border:1px solid #4d473d;border-radius:0;padding:13px 11px;font-size:12px;outline:none;min-height:47px}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input::placeholder,textarea::placeholder{color:#807a71}textarea{resize:vertical;min-height:109px}input[type=date]{color-scheme:dark}option{background:#1b1a17}.send-btn{width:100%;margin-top:4px}.form-notice{font-size:10px;line-height:1.6;color:#b9b0a2;margin:15px 0 0}.form-status{font-size:12px;color:var(--gold-light);min-height:0;margin:10px 0 0}.form-status:empty{display:none}
.site-footer{background:#090908;color:#aaa398}.footer-main{padding:49px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #2f2a23}.footer-brand img{width:184px}.footer-main p{font-family:var(--serif);font-style:italic;font-size:16px}.footer-main>a:last-child{color:var(--gold);font-size:12px;font-weight:700}.footer-bottom{padding:18px 0 25px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:#827e75}.footer-bottom a{text-decoration:underline}
.lightbox{padding:0;background:#0a0a0a;border:1px solid var(--gold);box-shadow:0 20px 80px #000b;max-width:min(92vw,900px);max-height:92vh;color:#eee}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{max-height:77vh;max-width:90vw;object-fit:contain}.lightbox p{text-align:center;font-size:12px;padding:0 22px 6px;color:#d8c3a0}.lightbox-close{position:absolute;top:8px;right:8px;width:37px;height:37px;border:0;background:#121212d9;color:#fff;font-size:27px}.reveal{transition:opacity .65s ease,transform .65s ease}.js-reveal .reveal:not(.is-visible){opacity:0;transform:translateY(21px)}

@keyframes smPulse{0%{opacity:0;transform:scale(.88)}45%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes smFade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes headerFade{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes contentRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.wrap{width:min(1100px,calc(100% - 64px))}.main-nav{gap:14px}.main-nav a{font-size:11px}.brand img{width:157px}.main-nav .nav-contact{padding:11px 12px}.hero h1{font-size:clamp(66px,8vw,90px)}.hero-grid{gap:20px}.hero-visual{height:520px}.experience-overlay{padding-left:21px;padding-right:21px}.experience-overlay h3{font-size:30px}}
.has-sm-intro .site-header,.has-sm-intro .hero-copy,.has-sm-intro .hero-visual{opacity:0}
@media(max-width:900px){.site-header{height:77px}.brand img{width:164px}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid rgba(231,210,167,.3);background:rgba(0,0,0,.17)}.menu-toggle span{height:1px;width:20px;background:#ead8b2;transition:transform .22s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:77px;left:0;right:0;background:#11100e;padding:22px 32px 29px;flex-direction:column;align-items:stretch;box-shadow:0 24px 40px rgba(0,0,0,.35)}.main-nav.is-open{display:flex}.main-nav a{font-size:14px;padding:10px 0}.main-nav .nav-contact{padding:17px;text-align:center;margin-top:10px}.hero-grid{grid-template-columns:1.02fr .98fr;min-height:690px;padding-top:99px}.hero{min-height:690px}.hero h1{font-size:clamp(55px,7vw,75px)}.hero-visual{height:450px}.hero-actions{gap:23px}.section{padding:86px 0}.intro-grid,.about-grid{gap:54px}.section-heading{gap:30px}.package-grid{grid-template-columns:1fr;max-width:650px;margin:auto}.package-card{min-height:0;padding:30px}.package-card .btn{margin-top:25px}.package-spacer{display:none}.experiences-grid{gap:11px}.experience-tile{min-height:410px}.experience-overlay h3{font-size:26px}.private-grid,.contact-grid{gap:42px}.gallery-grid{grid-auto-rows:160px}}
@media(max-width:680px){.brand-mark{width:40px;height:40px;margin-right:4px}.brand-mark img{width:24px}.footer-mark{order:4;width:66px;height:66px}.footer-mark img{width:40px}.sm-intro-ring{width:min(66vw,300px);height:min(66vw,300px)}.sm-intro-logo{width:min(45vw,180px)}html{scroll-padding-top:74px}.wrap{width:calc(100% - 38px)}.hero{min-height:0}.hero-grid{padding-top:104px;padding-bottom:40px;min-height:0;display:flex;flex-direction:column-reverse;gap:0;align-items:stretch}.hero-visual{height:360px;width:100%;margin:0 auto 25px}.hero-image-frame{inset:0 11px 0 11px}.hero-image-frame img{object-position:center 42%}.hero-corner{right:0;top:-7px;width:72px;height:72px}.hero-visual-caption{right:-3px;font-size:7px}.hero-copy{padding:0 0 15px}.hero h1{font-size:clamp(54px,12vw,78px);margin:17px 0 16px;line-height:1.08}.eyebrow{font-size:9px;gap:9px;letter-spacing:.13em}.eyebrow-line{width:21px}.hero-lead{font-size:13px;line-height:1.7}.hero-actions{margin-top:25px;gap:16px}.hero-actions .btn{width:100%}.hero-signature{margin-top:27px;font-size:9px}.hero-scroll{display:none}.marquee{padding:12px}.marquee-track{font-size:8px;letter-spacing:.1em}.marquee span{margin:0 9px}.section{padding:66px 0}.intro-grid,.about-grid,.private-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.intro-photo{aspect-ratio:1.26;max-width:100%}.intro-photo img{object-position:center 60%}.section-intro h2,.section-heading h2,.private-intro h2,.about-copy h2,.contact-copy h2{font-size:clamp(39px,9vw,52px);margin:18px 0}.intro-copy p,.about-copy p{font-size:13px;line-height:1.85}.section-heading{display:block;margin-bottom:31px}.section-heading>p{max-width:100%;margin-top:17px;font-size:13px}.package-card h3{font-size:46px}.package-card{padding:25px;min-height:unset}.wedding-notes{justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:10px;font-size:11px}.brochure-cta{flex-direction:column;align-items:flex-start;gap:10px}.experiences-grid{grid-template-columns:1fr;gap:16px}.experience-tile{height:390px;min-height:0}.experience-overlay h3{font-size:33px}.section-heading.centered>p{font-size:13px}.private-intro img{height:245px}.private-offers{padding-top:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:142px;gap:7px}.gallery-item.tall{grid-row:span 2}.gallery-item span{font-size:7px;padding:25px 8px 8px}.about-visual{height:380px;max-width:400px}.form-shell{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}.contact-direct{margin-top:27px}.contact-copy h2{max-width:100%}.footer-main{flex-direction:column;align-items:flex-start;gap:11px;padding-top:35px}.footer-main p{margin:0}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js-reveal .reveal:not(.is-visible){opacity:1;transform:none}}

/* Formulaire de demande de devis : traitement Netlify Forms */
.honeypot-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important;opacity:0!important}
.form-notice a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}

/* Expérience authentique : avis Google (capture du 18/10/2026) */
.section-reviews{background:#f5f0e7;color:#191714;padding:110px 0 90px}
.reviews-intro{max-width:840px;margin-bottom:40px}
.reviews-intro h2{font:400 clamp(43px,5vw,67px)/1.15 var(--serif);letter-spacing:-.047em;margin:23px 0 14px;max-width:780px}
.reviews-intro h2 em{color:#9f7a3c}
.reviews-intro p{max-width:670px;font-size:14px;color:#6b6459;line-height:1.9}
.reviews-grid{display:grid;grid-template-columns:.81fr 1.19fr;gap:18px;align-items:stretch}
.review-score{padding:38px 40px;background:#1a1917;color:#e9e1d4;min-height:400px;display:flex;flex-direction:column;align-items:flex-start}
.review-score-kicker{font-size:10px;font-weight:700;letter-spacing:.21em;color:#d0ae69}
.review-score-kicker span{padding:0 8px;color:#997b40}
.review-number{font:400 clamp(68px,7vw,100px)/1 var(--serif);letter-spacing:-.06em;margin:36px 0 8px;color:#f3ede3}
.review-number span{font:400 23px var(--sans);color:#b7a68a;letter-spacing:0}
.review-stars{font-size:23px;letter-spacing:.18em;color:#dfb559;white-space:nowrap}
.review-stars.small{font-size:14px;letter-spacing:.08em}
.review-count{font-size:14px;margin-top:8px;color:#e0d7c6}
.review-score-rule{width:100%;height:1px;background:#584b36;margin:28px 0 10px}
.review-score p{font-family:var(--serif);font-size:19px;line-height:1.5;color:#d4c5ad;max-width:310px;margin:10px 0 20px}
.review-google-link{display:inline-flex;gap:18px;align-items:center;color:#e8c47d;font-size:12px;font-weight:700;border-bottom:1px solid #ad8e55;padding-bottom:9px}
.review-google-link:hover,.review-original-link:hover{color:#f6d79b}
.review-score small{margin-top:22px;color:#a79e90;font-size:10px;line-height:1.5}
.review-featured{margin:0;border:1px solid #d7c7a8;background:#fffdf9;padding:35px clamp(30px,5vw,65px);position:relative;display:flex;flex-direction:column;justify-content:center;min-height:400px}
.review-featured::before{content:'';position:absolute;inset:11px;pointer-events:none;border:1px solid rgba(169,137,77,.24)}
.review-featured-top{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#947138;font-size:10px;font-weight:700;letter-spacing:.16em;position:relative;z-index:1}
.review-quotation{font:400 98px/1 var(--serif);height:70px;margin-top:10px;color:#b39559;opacity:.7}
.review-featured blockquote{font:400 clamp(22px,2.8vw,31px)/1.5 var(--serif);letter-spacing:-.022em;color:#29231a;margin:10px 0 35px;position:relative;z-index:1}
.review-featured figcaption{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}
.review-author{font-size:13px;font-weight:700;color:#29251e}
.review-source{font-size:11px;color:#827768}
.review-original-link{align-self:flex-start;color:#99763e;border-bottom:1px solid #c2aa7b;font-size:11px;font-weight:700;margin-top:29px;padding:0 0 6px;position:relative;z-index:1}
.review-conclusion{display:flex;justify-content:space-between;align-items:center;gap:26px;padding-top:34px}
.review-conclusion span{font-size:10px;font-weight:700;letter-spacing:.15em;color:#9e7a3d}
.review-conclusion p{font:italic 22px var(--serif);color:#4b4032;max-width:430px;text-align:center}
.review-conclusion .btn{min-width:210px}
@media(max-width:1080px){.reviews-grid{grid-template-columns:.9fr 1.1fr}.review-score{padding:30px}.review-featured{padding:30px}}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr;gap:14px}.review-score{min-height:0}.review-featured{min-height:0;padding:45px}.review-conclusion{flex-wrap:wrap}}
@media(max-width:680px){.section-reviews{padding:70px 0}.reviews-intro h2{font-size:clamp(39px,9vw,52px)}.reviews-intro p{font-size:13px}.review-score{padding:28px}.review-number{font-size:77px;margin-top:25px}.review-featured{padding:32px 27px}.review-featured-top{font-size:9px}.review-featured blockquote{font-size:24px;line-height:1.45;margin-top:0}.review-conclusion{align-items:flex-start;flex-direction:column;gap:12px}.review-conclusion p{font-size:23px;text-align:left;margin:0}.review-conclusion .btn{width:100%}}

/* Navigation sûre après ajout de l’onglet Avis */
@media (min-width:901px) and (max-width:1180px){
.site-header{height:77px}
.brand img{width:164px}
.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid rgba(231,210,167,.3);background:rgba(0,0,0,.17)}
.menu-toggle span{height:1px;width:20px;background:#ead8b2;transition:transform .22s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
.main-nav{display:none;position:absolute;top:77px;left:0;right:0;background:#11100e;padding:22px 32px 29px;flex-direction:column;align-items:stretch;box-shadow:0 24px 40px rgba(0,0,0,.35)}
.main-nav.is-open{display:flex}
.main-nav a{font-size:14px;padding:10px 0}
.main-nav .nav-contact{padding:17px;text-align:center;margin-top:10px}
}


/* V6 : collection d’avis Google authentiques. */
.reviews-stories{margin-top:66px}
.reviews-stories-head{display:flex;align-items:end;justify-content:space-between;gap:45px;border-top:1px solid #d4c6ae;padding:28px 0 20px}
.reviews-stories-head h3{font:400 clamp(31px,4vw,48px)/1.2 var(--serif);letter-spacing:-.04em;margin:18px 0 0;color:#252018}
.reviews-stories-head h3 em{color:#977849}
.reviews-stories-head p{max-width:330px;line-height:1.8;font-size:13px;color:#766b5c;margin:0 0 3px}
.reviews-stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-story{margin:0;border:1px solid #e0d4c0;background:#fffdf9;padding:25px 25px 22px;display:flex;flex-direction:column;min-height:256px}
.review-story-head{display:flex;align-items:start;justify-content:space-between;gap:8px}
.review-theme{font-size:9px;line-height:1.6;color:#96763d;letter-spacing:.14em;font-weight:800}
.review-story .review-stars.small{font-size:13px;letter-spacing:0;flex:0 0 auto}
.review-story blockquote{font:400 18px/1.55 var(--serif);letter-spacing:-.018em;color:#28251f;margin:29px 0 30px;flex:1}
.review-story figcaption{border-top:1px solid #e8dcc9;padding-top:15px;display:flex;flex-direction:column;gap:5px}
.review-story figcaption strong{font-size:12px;color:#29241f}
.review-story figcaption span{font-size:10px;color:#84796b}
.reviews-stories-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px}
.reviews-stories-foot span{font-size:10px;color:#877c6e;line-height:1.5}
.reviews-stories-foot a{font-size:11px;color:#7d5c29;border-bottom:1px solid #a9916b;padding-bottom:5px;font-weight:700;flex:0 0 auto}
.reviews-swipe-note{display:none}
@media(max-width:1000px){.reviews-stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-stories-head{align-items:start;flex-direction:column;gap:6px}.reviews-stories-head p{max-width:580px}}
@media(max-width:680px){
.reviews-stories{margin-top:46px}
.reviews-stories-head{padding:26px 0 13px}
.reviews-stories-head h3{font-size:33px}
.reviews-stories-head p{font-size:12px;line-height:1.7}
.reviews-swipe-note{display:block;color:#9a763c;font-size:10px;font-weight:700;letter-spacing:.03em;margin:0 0 13px}
.reviews-stories-grid{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;padding-bottom:15px;-webkit-overflow-scrolling:touch}
.review-story{flex:0 0 84%;scroll-snap-align:start;min-height:287px;padding:24px 21px}
.review-story blockquote{font-size:19px;margin:26px 0 24px}
.reviews-stories-foot{flex-direction:column;align-items:flex-start;gap:12px}
}


/* V7 : Local SEO - landing pages and homepage contextual service links */
.hero-location{font-size:13px;font-weight:600;letter-spacing:.015em;color:#e2c78c;margin:5px 0 15px;max-width:520px}
.seo-service-cta{margin:22px 0 0;text-align:center}
.seo-service-cta a{color:var(--gold-light);font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);display:inline-block;padding-bottom:8px;line-height:1.5}
.seo-private-link{display:inline-block;color:var(--gold-light);border-bottom:1px solid var(--gold);font-size:12px;line-height:1.6;font-weight:700;padding:0 0 6px;margin-top:13px}
.site-footer .footer-bottom a:hover{color:var(--gold-light)}
.inner-site-header{background:#12110f;position:relative}
.landing-hero{color:#f3ede0;background:linear-gradient(115deg,#11100e,#1d1a15);padding:100px 0 112px}
.landing-hero-grid{display:grid;grid-template-columns:1fr .83fr;gap:8%;align-items:center}
.landing-hero h1{font:400 clamp(43px,5.5vw,78px)/1.14 var(--serif);letter-spacing:-.055em;margin:30px 0 25px}
.landing-hero h1 em{color:var(--gold-light)}
.landing-hero p{font-size:16px;line-height:1.9;color:#c9c1b3;max-width:600px}
.landing-hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:33px}
.landing-hero-image{height:490px;overflow:hidden;position:relative;border:1px solid rgba(210,178,111,.4)}
.landing-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.landing-breadcrumb{font-size:12px;color:#81796c;margin-top:26px;margin-bottom:26px}
.landing-breadcrumb a{color:#9d804c}
.landing-section{padding:81px 0;border-bottom:1px solid #ded5c6}
.landing-section-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start}
.landing-section h2,.landing-faq-section h2{font:400 clamp(36px,4.2vw,59px)/1.24 var(--serif);letter-spacing:-.04em;margin:20px 0 0}
.landing-section h2 em{color:#ab8952}
.landing-prose p{font-size:15px;line-height:1.95;color:#625c53;margin:0 0 22px}
.landing-prose p strong{color:#27221b}
.landing-prose a{color:#906b32;font-weight:700;border-bottom:1px solid #ac8550}
.landing-faq-section{background:#eee7dd}
.landing-faq-section h2{margin-bottom:35px}
.landing-faq-section h2 em{color:#ab8952}
.landing-faq-wrap{max-width:950px}
.landing-faq{border-top:1px solid #c8baaa;padding:24px 3px}
.landing-faq:last-child{border-bottom:1px solid #c8baaa}
.landing-faq summary{font-size:17px;font-weight:600;cursor:pointer;color:#2b2925;line-height:1.6}
.landing-faq p{font-size:14px;line-height:1.9;color:#5e594f;max-width:780px;margin:12px 0 0}
.landing-related{padding:70px 0;background:#161511;color:#f6f0e9}
.landing-related-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.landing-related h2{font:400 40px var(--serif);letter-spacing:-.04em;margin:24px 0 8px}
.landing-related p{color:#c0b8aa;line-height:1.7;max-width:670px}
.landing-final-cta{background:#e8ddc9;text-align:center;padding:102px 0}
.landing-final-cta .wrap{max-width:820px}
.landing-final-cta h2{font:400 clamp(40px,5vw,68px)/1.2 var(--serif);letter-spacing:-.05em;margin:23px auto}
.landing-final-cta h2 em{color:#9d7a41}
.landing-final-cta p{color:#544e45;line-height:1.75;margin:0 auto 23px;max-width:700px}
.landing-final-cta .eyebrow{justify-content:center;color:#947746}
.landing-final-cta .landing-direct{margin:18px 0 0;font-size:13px}
.landing-final-cta .landing-direct a{border-bottom:1px solid #9b7845}
@media(max-width:900px){.landing-hero{padding:66px 0 80px}.landing-hero-grid{grid-template-columns:1fr 1fr;gap:5%}.landing-hero-image{height:390px}.landing-hero h1{font-size:clamp(39px,5vw,60px)}.landing-section-grid{gap:5%}.landing-related-grid{grid-template-columns:1fr}.landing-related-grid .btn{justify-self:start}}
@media(max-width:680px){.hero-location{font-size:12px;line-height:1.6}.landing-hero{padding:44px 0 70px}.landing-hero-grid{grid-template-columns:1fr}.landing-hero h1{font-size:clamp(40px,10vw,59px);margin:25px 0}.landing-hero p{font-size:14px}.landing-hero-image{height:330px;margin-top:35px}.landing-section{padding:58px 0}.landing-section-grid{grid-template-columns:1fr;gap:19px}.landing-prose p{font-size:14px}.landing-faq summary{font-size:15px}.landing-final-cta{padding:75px 0}.landing-related{padding:62px 0}.landing-related h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.landing-hero *{animation:none!important}}
