@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

:root{
  --paper:#F8F8F7;
  --taupe:#D6CBC7;
  --wine:#6A0F3E;
  --black:#000002;
  --white:#FFFFFF;
  --muted:#625A5E;
  --line:rgba(0,0,2,.14);
  --container:1200px;
  --radius:28px;
  --radius-sm:18px;
  --font:"Montserrat",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--black);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;z-index:500;top:-70px;left:18px;padding:11px 16px;border-radius:10px;background:var(--black);color:#fff}
.skip-link:focus{top:18px}
:focus-visible{outline:3px solid var(--taupe);outline-offset:3px}

h1,h2,h3{margin:0;font-family:"Gatwick",var(--font);font-weight:600;letter-spacing:-.04em}
h1{font-size:clamp(3.2rem,5.4vw,4.75rem);line-height:.98}
h2{font-size:clamp(2.2rem,3.7vw,3.35rem);line-height:1.06}
h3{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.2}
p{margin:0}
.copy p+p{margin-top:15px}
.eyebrow{display:block;margin-bottom:15px;color:var(--wine);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.lead{max-width:650px;color:var(--muted);font-size:1.08rem}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px);background:var(--black)}
.btn-light{border-color:#fff;background:#fff;color:var(--wine)}
.btn-outline{background:transparent;color:var(--wine)}

.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid var(--line);background:rgba(248,248,247,.96);backdrop-filter:blur(14px)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{width:188px;height:58px;object-fit:contain;object-position:left center}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.88rem;font-weight:600}
.nav-links>a:not(.btn){position:relative;padding:11px 0}
.nav-links>a:not(.btn)::after{content:"";position:absolute;right:0;bottom:4px;left:0;height:2px;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:.2s}
.nav-links>a:hover::after,.nav-links>a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--wine)}
.menu-toggle i,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:19px;height:2px;margin:5px auto;background:currentColor;transition:.2s}
.menu-toggle[aria-expanded="true"] i{opacity:0}.menu-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}

.hero{width:100%;background:var(--paper)}
.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center;padding:42px 0 48px}
.hero-copy{max-width:650px}
.hero-copy h1{max-width:650px;color:var(--wine)}
.hero-copy .lead{margin-top:24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-media{position:relative;height:500px;overflow:hidden;border-radius:var(--radius)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero-badge{position:absolute;right:14px;bottom:14px;left:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hero-stat{padding:14px 16px;border-radius:14px;background:rgba(248,248,247,.94);backdrop-filter:blur(8px)}
.hero-stat strong{display:block;color:var(--wine);font-size:1.55rem;line-height:1}
.hero-stat span{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.35}
.service-rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.service-rail .container{display:flex;overflow:auto;justify-content:space-between;gap:28px;padding-block:18px;color:var(--wine);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

.section{padding:84px 0}
.section-white{background:var(--white)}
.section-dark{background:var(--black);color:#fff}
.section-wine{background:var(--wine);color:#fff}
.section-taupe{background:var(--taupe)}
.section-head{max-width:820px;margin-bottom:42px}
.section-head h2{color:var(--wine)}
.section-dark .section-head h2,.section-wine .section-head h2{color:#fff}
.section-dark .eyebrow,.section-wine .eyebrow{color:var(--taupe)}

.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.about-image{height:600px;overflow:hidden;border-radius:var(--radius)}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.about-copy h2{margin-bottom:24px;color:var(--wine)}
.about-copy p{color:var(--muted)}
.about-note{margin-top:28px;padding:20px 22px;border-left:4px solid var(--wine);background:var(--paper);font-weight:600}

.estate-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.estate-copy h2{margin-bottom:22px}
.estate-copy p{color:#d8d0d3}
.estate-media{height:500px;overflow:hidden;border-radius:var(--radius)}
.estate-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.estate-metric{display:flex;align-items:baseline;gap:11px;margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.25)}
.estate-metric strong{color:var(--taupe);font-size:2.2rem}.estate-metric span{font-size:.8rem}

.reason-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.reason{min-height:300px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.reason-no{color:var(--wine);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.reason h3{margin:38px 0 14px;color:var(--wine)}
.reason p{color:var(--muted);font-size:.94rem}

.services{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:90px .65fr 1fr;gap:34px;align-items:start;padding:36px 0;border-bottom:1px solid var(--line)}
.service-row .number{color:var(--wine);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.service-row h3{color:var(--wine)}
.service-row p{color:var(--muted)}
.service-row .benefit{display:block;margin-top:12px;color:var(--black);font-weight:600}
.signature-offer{display:grid;grid-template-columns:1.05fr .95fr;margin-top:38px;overflow:hidden;border-radius:var(--radius);background:var(--wine);color:#fff}
.signature-copy{padding:54px}
.signature-copy h3{margin-bottom:18px;font-size:clamp(2rem,3vw,3rem)}
.signature-copy p{color:#eee5e9}
.signature-copy .benefit{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-weight:600}
.signature-offer img{width:100%;height:100%;min-height:450px;object-fit:cover;object-position:50% 52%}

.reviews-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;align-items:center}
.reviews-copy h2{margin-bottom:18px;color:var(--wine)}
.reviews-copy p{color:var(--muted)}
.reviews-image{padding:12px;border-radius:var(--radius);background:var(--white)}
.reviews-image img{width:100%;border-radius:18px}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.process-step{min-height:315px;padding:28px;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius-sm);background:rgba(255,255,255,.06)}
.process-step .step-no{display:block;margin-bottom:42px;color:var(--taupe);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.process-step h3{margin-bottom:14px}.process-step p{color:#ddd3d8;font-size:.86rem}

.newsletter-band{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.newsletter-band h2{margin-bottom:14px}.newsletter-band p{color:#eee3e8}
.inline-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-form .btn{grid-column:1/-1}
.field,.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--black);padding:14px 15px}.field{min-height:50px}.form-status{display:none;grid-column:1/-1;padding:11px 14px;border-radius:12px;background:#fff;color:var(--wine);font-size:.82rem}

.page-hero{width:100%;background:var(--paper)}
.page-hero-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:center;padding:42px 0 48px}
.page-hero-copy h1{max-width:670px;color:var(--wine)}
.page-hero-copy .lead{margin-top:20px}
.page-hero-media{height:430px;overflow:hidden;border-radius:var(--radius)}
.page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.anchor-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.anchor-nav a{padding:8px 12px;border:1px solid var(--wine);border-radius:999px;color:var(--wine);font-size:.72rem;font-weight:700}

.offer-detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding:44px 0;border-top:1px solid var(--line)}
.offer-detail:last-child{border-bottom:1px solid var(--line)}
.offer-detail h2{color:var(--wine);font-size:clamp(1.7rem,2.7vw,2.5rem)}
.offer-detail p{color:var(--muted)}
.benefit-box{margin-top:18px;padding:17px 19px;border-left:4px solid var(--wine);background:var(--paper);color:var(--black);font-weight:600}
.clean-list{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.clean-list li{position:relative;padding-left:22px}.clean-list li::before{content:"";position:absolute;top:.72em;left:0;width:10px;height:2px;background:currentColor}
.premium-grid{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-radius:var(--radius);background:var(--wine);color:#fff}
.premium-copy{padding:58px}.premium-copy h2{margin-bottom:20px}.premium-copy p{color:#eee3e8}.premium-copy .benefit-box{border-color:var(--taupe);background:rgba(255,255,255,.08);color:#fff}
.premium-grid img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:50% 52%}

.newsletter-hero .page-hero-media img{object-position:50% 50%}
.price-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.price-pill{padding:8px 12px;border:1px solid var(--wine);border-radius:999px;color:var(--wine);font-size:.74rem;font-weight:700}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.plan{padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.plan-dark{background:var(--black);color:#fff}.plan h3{color:var(--wine)}.plan-dark h3{color:#fff}.price{margin:20px 0 8px;color:var(--wine);font-size:2.8rem;font-weight:600;line-height:1}.plan-dark .price{color:var(--taupe)}.plan p,.plan .clean-list{color:var(--muted)}.plan-dark p,.plan-dark .clean-list{color:#d8d0d3}
.audience-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.audience-grid h2{color:var(--wine)}

.blog-hero{background:var(--wine);color:#fff}.blog-hero .page-hero-copy h1{color:#fff}.blog-hero .eyebrow{color:var(--taupe)}.blog-hero .lead{color:#eee3e8}.blog-hero .page-hero-media{height:420px}.blog-hero .page-hero-media img{object-position:50% 51%}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article{display:flex;min-height:500px;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.article img{width:100%;aspect-ratio:4/3;object-fit:cover}.article-body{display:flex;flex:1;flex-direction:column;padding:25px}.article-body h3{margin-bottom:12px;color:var(--wine)}.article-body p{color:var(--muted);font-size:.92rem}.article-body .btn{width:fit-content;margin-top:auto}

.contact-hero{padding:64px 0;background:var(--wine);color:#fff}.contact-hero h1{color:#fff}.contact-hero .eyebrow{color:var(--taupe)}.contact-hero .lead{margin-top:18px;color:#eee3e8}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.contact-form-wrap{padding:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.form{display:grid;gap:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form label{display:block;margin-bottom:5px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form textarea{min-height:145px;resize:vertical}.form .btn{width:100%}
.contact-aside{display:grid;gap:14px}.contact-photo{height:410px;overflow:hidden;border-radius:var(--radius)}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.contact-services{padding:24px;border-radius:var(--radius);background:var(--black);color:#fff}.contact-services h3{margin-bottom:16px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem}

.footer{padding:60px 0 24px;background:var(--black);color:#fff}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:50px}.footer .logo{filter:brightness(0) invert(1)}.footer p,.footer a{color:#cfc6ca}.footer-label{margin-bottom:12px;color:var(--taupe);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.footer-links{display:grid;gap:7px}.copyright{display:flex;justify-content:space-between;gap:18px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#a99fa4;font-size:.74rem}
.error-page{min-height:70vh;display:grid;place-items:center;padding:40px 24px;text-align:center}.error-page h1{color:var(--wine)}.error-page p{margin:15px 0 22px}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .nav-links{display:none;position:fixed;top:82px;right:20px;left:20px;padding:26px;border:1px solid var(--line);background:var(--paper);box-shadow:0 18px 45px rgba(0,0,2,.16);flex-direction:column;align-items:stretch;font-size:1rem}.nav-links.open{display:flex}.menu-toggle{display:block}
  .hero-inner,.page-hero-inner,.about-grid,.estate-grid,.newsletter-band,.reviews-grid,.contact-grid{grid-template-columns:1fr}.hero-inner{gap:34px}.hero-media{height:580px}.about-image{height:560px}.estate-media{order:-1}.process-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:70px 1fr}.service-row>div:last-child{grid-column:2}.signature-offer,.premium-grid{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr 1fr}.contact-photo{height:500px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}

@media(max-width:680px){
  .container{width:min(var(--container),calc(100% - 24px))}.nav{min-height:72px}.logo{width:158px;height:50px}.nav-links{top:72px;right:12px;left:12px}
  h1{font-size:clamp(2.65rem,12vw,3.45rem)}h2{font-size:clamp(2rem,9vw,2.65rem)}.section{padding:66px 0}
  .hero-inner,.page-hero-inner{padding:40px 0 46px}.hero-media,.page-hero-media{height:450px;border-radius:20px}.hero-actions{flex-direction:column}.hero-badge{grid-template-columns:1fr 1fr;right:8px;bottom:8px;left:8px}.hero-stat{padding:11px}.service-rail .container{padding-block:14px}
  .about-grid,.estate-grid,.audience-grid{gap:34px}.about-image{height:470px;border-radius:20px}.estate-copy{order:2}.estate-media{height:360px;border-radius:20px}.reason-grid,.plan-grid,.article-grid,.process-grid{grid-template-columns:1fr}.reason{min-height:0}.service-row{grid-template-columns:46px 1fr;gap:12px;padding:30px 0}.signature-copy,.premium-copy{padding:34px 24px}.signature-offer img,.premium-grid img{min-height:410px}.reviews-grid{gap:30px}.reviews-image{padding:7px}.process-step{min-height:0}.newsletter-band{gap:30px}.inline-form,.form-row{grid-template-columns:1fr}.inline-form .btn{grid-column:auto}
  .offer-detail{grid-template-columns:1fr;gap:18px;padding:34px 0}.audience-grid{grid-template-columns:1fr}.blog-hero .page-hero-media{height:390px}.article{min-height:0}.contact-hero{padding:46px 0}.contact-form-wrap{padding:30px 22px}.contact-photo{height:410px;border-radius:20px}.contact-services{border-radius:20px}.footer{padding-top:46px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:first-child{grid-column:auto}.copyright{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
