/* ===== BASE ===== */
:root{
  --cream:#fdfaf0;
  --cream2:#f7f1e3;
  --brown:#3a2618;
  --brown2:#4a2f1c;
  --gold:#b98a3e;
  --rose:#c0704d;
  --ink:#2c2015;
  --muted:#7a6a5c;
  --line:#e2d9c6;
  --gold2:#e0b76a;
  --display:'Playfair Display',Georgia,serif;
  --serif:'Marcellus',Georgia,serif;
  --soft:'Cormorant Garamond',Georgia,serif;
  --script:'Italianno',cursive;
  --sans:'Jost','Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:15px;line-height:1.75;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{width:min(1200px,92%);margin:0 auto}
.section{padding:100px 0}

/* ===== TYPO ===== */
.h-title{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.22;color:var(--brown);margin-bottom:22px;letter-spacing:-.01em}
.h-title.light{color:#fff}
.h-title.center{text-align:center}
.lead{color:var(--muted);font-weight:300;font-size:14.5px}
.lead.light{color:rgba(255,255,255,.72)}
.lead.center{text-align:center}
.lead.narrow{max-width:780px;margin:0 auto}
.ornament{color:var(--gold);width:46px}
.ornament.center{margin:0 auto 14px}
.ornament.light{color:var(--gold);margin:0 auto 14px}
.mandala-ic{width:46px;height:46px;animation:spin 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== BUTTONS ===== */
.btn-ghost,.btn-outline,.btn-solid{display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:13px 30px;border:1px solid var(--gold);background:transparent;color:var(--brown);cursor:pointer;position:relative;overflow:hidden;transition:color .35s,border-color .35s;z-index:1}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.75)}
.btn-ghost::after,.btn-outline::after,.btn-solid::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.6,0,.2,1);z-index:-1}
.btn-ghost:hover::after,.btn-outline:hover::after,.btn-solid:hover::after{transform:scaleX(1);transform-origin:left}
.btn-ghost:hover,.btn-outline:hover{color:#fff;border-color:var(--gold)}
.btn-solid{background:var(--brown);color:#fff;border-color:var(--brown)}
.btn-solid:hover{color:#fff;border-color:var(--gold)}
.btn-outline.sm,.btn-solid.sm{padding:9px 22px;font-size:11px}

/* ===== HEADER ===== */
.header{position:absolute;top:0;left:0;right:0;z-index:60;transition:background .35s,box-shadow .35s,backdrop-filter .35s}
.header.stuck{position:fixed;top:0;background:rgba(32,20,12,.9);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 8px 30px rgba(0,0,0,.3);animation:slideDown .5s cubic-bezier(.2,.7,.2,1)}
.header.stuck::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.nav-in{display:flex;align-items:center;gap:28px;height:86px}
.logo{font-family:var(--script);font-size:40px;line-height:1;color:#fff;white-space:nowrap;letter-spacing:.5px;background:linear-gradient(100deg,#fff 25%,var(--gold2) 55%,#fff 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:6px}
.nav{margin-left:auto}
.nav>ul{display:flex;gap:26px}
.nav>ul>li{position:relative}
.nav a{color:#fff;font-size:13px;font-weight:400;padding:26px 0;display:inline-block;position:relative;transition:color .3s}
.nav>ul>li>a::before{content:"";position:absolute;left:0;bottom:20px;width:0;height:1px;background:var(--gold);transition:width .35s}
.nav>ul>li:hover>a::before{width:100%}
.nav a:hover{color:var(--gold)}
.drop{position:absolute;top:100%;left:-14px;background:#2a1a10;min-width:180px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.has-drop:hover .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:block;padding:8px 18px;font-size:12.5px}
.socials{display:flex;gap:14px}
.socials a{color:#fff;font-size:13px;transition:.3s}
.socials a:hover{color:var(--gold);transform:translateY(-3px)}
.burger{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:24px;height:2px;background:#fff;transition:.3s}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden;background:#241609}
.hero-media{position:absolute;inset:-6% 0;will-change:transform}
.hero-video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-video.on{opacity:1}
/* looping ken-burns slideshow (video fallback) */
.hero-slides{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero-slides.on{opacity:1}
.hero-slides .sld{position:absolute;inset:0;background:#3a2415 center/cover no-repeat;opacity:0;transition:opacity 1.8s ease}
.hero-slides .sld.act{opacity:1;animation:kenburns 9s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.16) translate(-1.2%,-1.4%)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,15,8,.72) 0%,rgba(26,15,8,.42) 42%,rgba(26,15,8,.78) 100%)}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 38%,rgba(20,11,5,.72) 100%)}
/* floating petals */
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.petal{position:absolute;top:-8%;width:9px;height:9px;border-radius:60% 0 60% 0;background:linear-gradient(135deg,#f6d9a0,#d99a5b);opacity:.5;animation:fall linear infinite}
@keyframes fall{0%{transform:translate3d(0,-10vh,0) rotate(0)}100%{transform:translate3d(40px,110vh,0) rotate(540deg)}}

.hero-in{position:relative;z-index:3;color:#fff;display:flex;flex-direction:column;align-items:center;gap:14px;padding:130px 0}
.hero-kicker{font-family:var(--sans);font-size:11px;font-weight:300;letter-spacing:.42em;text-transform:uppercase;color:var(--gold2);padding-bottom:4px}
.hero-title{font-family:var(--display);font-weight:400;font-size:clamp(40px,6.4vw,86px);line-height:1.12;letter-spacing:-.5px;text-shadow:0 6px 40px rgba(0,0,0,.45)}
.hero-title em{font-family:var(--script);font-style:normal;font-size:1.15em;color:var(--gold2);padding:0 6px}
.hero-rule{display:flex;align-items:center;gap:16px;margin-top:6px}
.hero-rule i{width:clamp(20px,6vw,64px);height:1px;background:linear-gradient(90deg,transparent,var(--gold2))}
.hero-rule i:last-child{background:linear-gradient(90deg,var(--gold2),transparent)}
.hero-rule span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.82);font-weight:300}
.hero-sub{font-family:var(--soft);font-size:19px;font-style:italic;font-weight:300;color:rgba(255,255,255,.88);max-width:620px}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:22px;height:36px;border:1px solid rgba(255,255,255,.6);border-radius:12px;z-index:3}
.scroll-cue span{position:absolute;top:7px;left:50%;width:3px;height:6px;background:#fff;border-radius:2px;transform:translateX(-50%);animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}

/* ===== IMAGES ===== */
.rimg{border-radius:14px 14px 0 0;overflow:hidden;position:relative;background:linear-gradient(135deg,#c9a06a,#8a5a3b)}
.rimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.rimg:hover img{transform:scale(1.07)}
.rimg::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}

/* ===== STORY ===== */
.story{background:var(--cream);border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.scard{border:1px solid var(--line);padding:22px 16px;text-align:center;background:#fff;transition:.4s;border-radius:4px}
.scard:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(90,60,30,.12);border-color:var(--gold)}
.scard i{color:var(--gold);font-size:20px}
.scard h4{font-family:var(--serif);font-size:19px;font-weight:500;margin:10px 0 6px;color:var(--brown)}
.scard p{font-size:12px;color:var(--muted);line-height:1.6}
.story-imgs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.story-imgs .rimg{height:340px}
.story-imgs .tall{height:380px;align-self:end}

/* ===== COUPLE ===== */
.couple{background:var(--cream2)}
.couple-grid{display:grid;grid-template-columns:.85fr 1.3fr .85fr;gap:44px;align-items:center}
.couple-mid{text-align:center;display:flex;flex-direction:column;align-items:center}
.couple-mid .lead{max-width:460px}
.rimg.big{height:440px}
.socials-round{display:flex;gap:12px;margin:22px 0 24px}
.socials-round a{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:12px;transition:.35s}
.socials-round a:hover{background:var(--gold);color:#fff;transform:translateY(-4px)}

/* ===== COUNTDOWN ===== */
.countdown{background:#3a2415;padding:96px 0;position:relative;overflow:hidden;text-align:center}
.mandala{position:absolute;top:50%;width:340px;height:340px;transform:translateY(-50%);opacity:.13;background:radial-gradient(circle,transparent 22%,#e6c99a 23%,transparent 24%),repeating-conic-gradient(from 0deg,#e6c99a 0 2deg,transparent 2deg 12deg);border-radius:50%;animation:spin 60s linear infinite}
.mandala.left{left:-90px}
.mandala.right{right:-90px;animation-direction:reverse}
.cd-in{position:relative;z-index:2}
.cd-box{display:inline-flex;gap:10px;background:rgba(0,0,0,.28);border:1px solid rgba(230,201,154,.25);padding:22px 26px;margin-top:34px;border-radius:4px}
.cd-unit{min-width:86px;text-align:center}
.cd-unit span{display:block;font-family:var(--display);font-size:clamp(30px,4vw,48px);color:#fff;line-height:1.1;font-weight:400}
.cd-unit em{font-style:normal;font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.55);text-transform:capitalize}

/* ===== SERVICES ===== */
.services{background:var(--cream)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.svc{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.45s}
.svc:hover{transform:translateY(-10px);box-shadow:0 24px 48px rgba(90,60,30,.15)}
.svc-img{height:210px;overflow:hidden;background:linear-gradient(135deg,#d9b98a,#a97b4c)}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.svc:hover .svc-img img{transform:scale(1.1)}
.svc h4{font-family:var(--serif);font-size:20px;font-weight:500;text-align:center;padding:20px 10px;color:var(--brown)}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:64px;text-align:center}
.cnt b{font-family:var(--display);font-size:clamp(32px,4vw,46px);font-weight:400;color:var(--brown);display:block}
.cline{display:block;width:54px;height:1px;background:var(--gold);margin:10px auto}
.cnt em{font-style:normal;font-size:12.5px;color:var(--rose);letter-spacing:.06em}

/* ===== TESTIMONIALS ===== */
.testi{position:relative;padding:92px 0;overflow:hidden}
.testi-bg{position:absolute;inset:0;background:#3a2415 center/cover no-repeat}
.testi-overlay{position:absolute;inset:0;background:rgba(30,18,10,.78)}
.testi-in{position:relative;z-index:2}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.tcard{background:#fdfaf0;padding:22px 24px;border-radius:2px;transition:.4s}
.tcard:hover{transform:translateY(-8px)}
.tcard header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.tcard h5{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--brown)}
.tcard small{color:var(--muted);font-size:11px}
.tcard i{color:var(--rose);font-size:14px}
.tcard p{font-size:12.5px;color:var(--muted);line-height:1.7}

/* ===== MESSAGE FORM ===== */
.msg{background:var(--cream)}
.msg-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}
.msg .rimg.big{height:400px}
.wform{background:#fff;border:1px solid var(--line);padding:30px;margin-top:26px;border-radius:4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fld{position:relative;margin-bottom:24px}
.fld input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;font-family:var(--sans);font-size:13px;color:var(--ink);outline:none}
.fld label{position:absolute;left:0;top:10px;font-size:13px;color:var(--muted);pointer-events:none;transition:.3s}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld input.filled+label{top:-12px;font-size:11px;color:var(--gold)}
.fld input:focus{border-bottom-color:var(--gold)}
.fmsg{font-size:12px;color:var(--gold);margin-top:12px;min-height:16px}

/* ===== BLOG ===== */
.blog{background:var(--cream)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.45s}
.bcard:hover{transform:translateY(-10px);box-shadow:0 24px 48px rgba(90,60,30,.15)}
.bimg{height:200px;overflow:hidden;position:relative;background:linear-gradient(135deg,#d9b98a,#a97b4c)}
.bimg img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.bcard:hover .bimg img{transform:scale(1.09)}
.tag{position:absolute;top:12px;left:12px;background:var(--rose);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;z-index:2}
.bbody{padding:20px}
.bmeta{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-bottom:10px}
.bmeta i{color:var(--gold);margin-right:4px}
.bcard h4{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--brown);margin-bottom:8px}
.bcard p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:16px}

/* ===== TOUCH / MAP ===== */
.touch{position:relative;padding:70px 0 0;background:var(--cream)}
.map{position:absolute;left:0;right:0;bottom:0;height:78%;filter:grayscale(.35)}
.map iframe{width:100%;height:100%;border:0}
.touch-in{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr .9fr;max-width:min(1000px,92%)}
.touch-card{background:#fdf8ec;padding:38px 40px}
.touch-card h3{font-family:var(--serif);font-size:26px;color:var(--brown);margin-bottom:12px}
.touch-card p{font-size:12.5px;color:var(--muted);line-height:1.8}
.bw{margin-top:16px}
.sign{font-family:var(--script);font-size:46px;line-height:1;color:var(--brown)}
.touch-info{background:#5a3a1e;color:#fff;padding:38px 30px;display:flex;align-items:center}
.touch-info li{font-size:12.5px;display:flex;gap:12px;align-items:flex-start;margin-bottom:18px;color:rgba(255,255,255,.85)}
.touch-info i{color:#e6c99a;margin-top:4px}
.touch-info a{transition:color .3s}
.touch-info a:hover{color:#e6c99a}
.touch-card .btn-outline.sm{margin-top:18px}
.h-title em{font-family:var(--script);font-style:normal;font-size:1.1em;color:var(--gold);padding:0 4px}

/* ===== FOOTER ===== */
.footer{background:#2a1a10;color:#cfc2b4;padding-top:70px;position:relative;z-index:3}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:50px}
.fcol h5{font-family:var(--serif);color:#fff;font-size:20px;font-weight:500;margin-bottom:18px}
.fcol p,.fcol a{font-size:12.5px;line-height:1.9;color:#b7a795}
.fcol li{margin-bottom:6px}
.fcol a{transition:.3s;position:relative}
.fcol a:hover{color:var(--gold);padding-left:5px}
.fcol .socials{margin-top:18px}
.fld.dark input{border-bottom-color:rgba(255,255,255,.2);color:#fff}
.fld.dark label{color:#9d8f80}
.fld.dark input:focus{border-bottom-color:var(--gold)}
.copy{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;text-align:center;font-size:12px;color:#8b7e70}

/* ===== TO TOP ===== */
.totop{position:fixed;right:22px;bottom:22px;width:42px;height:42px;background:var(--gold);color:#fff;display:grid;place-items:center;border-radius:50%;opacity:0;visibility:hidden;transform:translateY(14px);transition:.35s;z-index:80}
.totop.on{opacity:1;visibility:visible;transform:translateY(0)}
.totop:hover{background:var(--brown)}

/* ===== REVEAL ANIMATIONS ===== */
.reveal,.reveal-l,.reveal-r{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal{transform:translateY(42px)}
.reveal-l{transform:translateX(-56px)}
.reveal-r{transform:translateX(56px)}
.reveal.in,.reveal-l.in,.reveal-r.in{opacity:1;transform:none}
.d1{transition-delay:.14s}.d2{transition-delay:.28s}.d3{transition-delay:.42s}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-l,.reveal-r{opacity:1;transform:none}.mandala-ic,.mandala{animation:none}}

/* ===== POLISH ===== */
.rimg{border-radius:200px 200px 8px 8px}
.rimg.big{border-radius:220px 220px 10px 10px}
.rimg::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.28);border-radius:inherit;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s,inset .5s}
.rimg:hover::before{opacity:1;inset:16px}
.story-imgs .rimg,.msg .rimg.big{box-shadow:0 26px 60px rgba(80,50,20,.18)}

.h-title.center::after{content:"";display:block;width:70px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero-title{will-change:transform}

.scard i{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(140deg,#fdf4e2,#f3e3c4);font-size:18px;transition:.4s}
.scard:hover i{background:linear-gradient(140deg,var(--gold),#8f6626);color:#fff;transform:rotate(-8deg)}

.svc{position:relative}
.svc h4{position:relative}
.svc h4::after{content:"";position:absolute;left:50%;bottom:12px;width:0;height:1px;background:var(--gold);transform:translateX(-50%);transition:width .45s}
.svc:hover h4::after{width:56px}
.svc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(40,24,12,.5));opacity:0;transition:.45s}
.svc:hover .svc-img::after{opacity:1}
.svc-img{position:relative}

.tcard{position:relative;overflow:hidden}
.tcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),var(--rose));transform:scaleY(0);transform-origin:top;transition:transform .5s}
.tcard:hover::before{transform:scaleY(1)}

.countdown::before,.countdown::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(230,201,154,.45),transparent)}
.countdown::before{top:0}
.countdown::after{bottom:0}
.cd-unit{position:relative}
.cd-unit+.cd-unit::before{content:"";position:absolute;left:-5px;top:14%;height:52%;width:1px;background:rgba(230,201,154,.22)}

.touch-card{box-shadow:0 30px 70px rgba(60,35,12,.22)}
.touch-info{box-shadow:0 30px 70px rgba(60,35,12,.25)}
.bcard h4{transition:color .3s}
.bcard:hover h4{color:var(--gold)}

::selection{background:var(--gold);color:#fff}
body::-webkit-scrollbar{width:10px}
body::-webkit-scrollbar-track{background:var(--cream2)}
body::-webkit-scrollbar-thumb{background:var(--gold);border-radius:6px}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .story-grid,.msg-grid{grid-template-columns:1fr;gap:40px}
  .couple-grid{grid-template-columns:1fr;gap:30px}
  .couple-mid{order:-1}
  .rimg.big{height:340px}
  .svc-grid,.blog-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .touch-in{grid-template-columns:1fr}
  .cd-box{flex-wrap:wrap;justify-content:center}
}
@media(max-width:820px){
  .section{padding:70px 0}
  .burger{display:flex}
  .socials{display:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(300px,80%);background:#2a1a10;padding:90px 26px;transform:translateX(100%);transition:transform .4s;overflow-y:auto}
  .nav.open{transform:translateX(0)}
  .nav>ul{flex-direction:column;gap:4px}
  .nav a{padding:11px 0;display:block}
  .drop{position:static;opacity:1;visibility:visible;transform:none;background:transparent;box-shadow:none;display:none;padding-left:14px}
  .has-drop.open .drop{display:block}
  .header.stuck{background:rgba(35,22,13,.97)}
}
@media(max-width:640px){
  .story-cards{grid-template-columns:1fr}
  .svc-grid,.blog-grid,.testi-grid,.counters,.row,.story-imgs{grid-template-columns:1fr}
  .story-imgs .tall{height:300px}
  .foot-grid{grid-template-columns:1fr}
  .cd-unit{min-width:70px}
  .logo{font-size:30px}
  .wform{padding:22px}
  .rimg,.rimg.big{border-radius:130px 130px 8px 8px}
  .hero-rule span{font-size:9.5px;letter-spacing:.14em}
  .hero-sub{font-size:17px}
}



/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .story-grid,.msg-grid{grid-template-columns:1fr;gap:40px}
  .couple-grid{grid-template-columns:1fr;gap:30px}
  .couple-mid{order:-1}
  .rimg.big{height:340px}
  .svc-grid,.blog-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .touch-in{grid-template-columns:1fr}
  .cd-box{flex-wrap:wrap;justify-content:center}
}
@media(max-width:820px){
  .section{padding:70px 0}
  .burger{display:flex}
  .socials{display:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(300px,80%);background:#2a1a10;padding:90px 26px;transform:translateX(100%);transition:transform .4s;overflow-y:auto}
  .nav.open{transform:translateX(0)}
  .nav>ul{flex-direction:column;gap:4px}
  .nav a{padding:11px 0;display:block}
  .drop{position:static;opacity:1;visibility:visible;transform:none;background:transparent;box-shadow:none;display:none;padding-left:14px}
  .has-drop.open .drop{display:block}
  .header.stuck{background:rgba(35,22,13,.97)}
}
@media(max-width:640px){
  .story-cards{grid-template-columns:1fr}
  .svc-grid,.blog-grid,.testi-grid,.counters,.row,.story-imgs{grid-template-columns:1fr}
  .story-imgs .tall{height:300px}
  .foot-grid{grid-template-columns:1fr}
  .cd-unit{min-width:70px}
  .logo{font-size:30px}
  .wform{padding:22px}
  .rimg,.rimg.big{border-radius:130px 130px 8px 8px}
  .hero-rule span{font-size:9.5px;letter-spacing:.14em}
  .hero-sub{font-size:17px}
}

    /* 1200px and below */
    @media (max-width: 1200px) {
      .container { width: min(1100px, 94%); }
    }
    
    /* 1024px and below */
    @media (max-width: 1024px) {
      .story-grid { grid-template-columns: 1fr; gap: clamp(30px, 5vw, 50px); }
      .msg-grid { grid-template-columns: 1fr; gap: clamp(30px, 5vw, 50px); }
      .couple-grid { grid-template-columns: 1fr; gap: clamp(20px, 3vw, 40px); }
      .couple-mid { order: -1; }
      .rimg.big { height: clamp(280px, 35vw, 380px); }
      .svc-grid { grid-template-columns: 1fr 1fr; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .testi-grid { grid-template-columns: 1fr 1fr; }
      .foot-grid { grid-template-columns: 1fr 1fr; }
      .touch-in { grid-template-columns: 1fr; }
      .cd-box { flex-wrap: wrap; justify-content: center; }
      .story-imgs .rimg { height: clamp(200px, 30vw, 300px); }
      .story-imgs .tall { height: clamp(240px, 34vw, 340px); }
    }
    
    /* 820px and below */
    @media (max-width: 820px) {
      .section { padding: clamp(50px, 8vw, 70px) 0; }
      .burger { display: flex; }
      .socials { display: none; }
      .nav { 
        position: fixed; 
        inset: 0 0 0 auto; 
        width: min(300px, 80%); 
        background: #2a1a10; 
        padding: 90px 26px; 
        transform: translateX(100%); 
        transition: transform .4s cubic-bezier(.2,.7,.2,1); 
        overflow-y: auto; 
        z-index: 61;
      }
      .nav.open { transform: translateX(0); }
      .nav>ul { flex-direction: column; gap: 4px; }
      .nav a { padding: 11px 0; display: block; font-size: clamp(14px, 1.6vw, 16px); }
      .drop { 
        position: static; 
        opacity: 1; 
        visibility: visible; 
        transform: none; 
        background: transparent; 
        box-shadow: none; 
        display: none; 
        padding-left: 14px; 
      }
      .has-drop.open .drop { display: block; }
      .header.stuck { background: rgba(35,22,13,.97); }
      .story-cards { grid-template-columns: 1fr 1fr; }
      .counters { grid-template-columns: 1fr 1fr; gap: 20px; }
    }
    
    /* 640px and below */
    @media (max-width: 640px) {
      .section { padding: clamp(40px, 6vw, 60px) 0; }
      .story-cards { grid-template-columns: 1fr; }
      .svc-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
      .blog-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
      .testi-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
      .counters { grid-template-columns: 1fr 1fr; }
      .row { grid-template-columns: 1fr; }
      .story-imgs { grid-template-columns: 1fr; }
      .story-imgs .rimg { height: clamp(180px, 40vw, 240px); }
      .story-imgs .tall { height: clamp(200px, 45vw, 260px); }
      .foot-grid { grid-template-columns: 1fr; }
      .cd-unit { min-width: clamp(50px, 20vw, 70px); }
      .logo { font-size: clamp(24px, 7vw, 32px); }
      .wform { padding: clamp(16px, 4vw, 22px); }
      .rimg, .rimg.big { border-radius: 130px 130px 8px 8px; }
      .hero-rule span { font-size: 9.5px; letter-spacing: .14em; }
      .hero-sub { font-size: clamp(15px, 2.8vw, 17px); }
      .hero-title { font-size: clamp(28px, 8vw, 42px); }
      .hero-kicker { font-size: 9px; letter-spacing: .3em; }
      .touch-card { padding: clamp(20px, 5vw, 28px); }
      .touch-info { padding: clamp(20px, 5vw, 28px); }
      .btn-ghost, .btn-outline, .btn-solid { padding: 11px 22px; font-size: 10px; }
      .mandala { width: clamp(140px, 40vw, 200px); height: clamp(140px, 40vw, 200px); }
      .mandala.left { left: clamp(-40px, -10vw, -60px); }
      .mandala.right { right: clamp(-40px, -10vw, -60px); }
      .cd-box { padding: 16px 14px; gap: 6px; }
      .cd-unit { min-width: 50px; }
      .cd-unit span { font-size: clamp(22px, 8vw, 30px); }
      .cd-unit em { font-size: 9px; }
      .nav-in { height: 70px; gap: 12px; }
      .hero-in { padding: clamp(80px, 12vh, 100px) 0; }
      .scroll-cue { width: 18px; height: 30px; bottom: 20px; }
      .scroll-cue span { width: 2px; height: 5px; top: 6px; }
      .h-title { font-size: clamp(24px, 6vw, 32px); }
      .h-title.center::after { width: 50px; margin-top: 12px; }
      .lead { font-size: clamp(12px, 2.4vw, 14px); }
      .svc h4 { font-size: clamp(16px, 4vw, 18px); }
      .bcard h4 { font-size: clamp(16px, 4vw, 18px); }
      .touch-card h3 { font-size: clamp(20px, 5vw, 24px); }
      .sign { font-size: clamp(30px, 8vw, 38px); }
      .cnt b { font-size: clamp(24px, 7vw, 32px); }
      .cnt em { font-size: 10px; }
    }
    
    /* 420px and below — very small phones */
    @media (max-width: 420px) {
      .container { width: 70%; margin: 0px;
        justify-self: center; }
      .header.stuck .container{
        width: 70%;
      }
      .nav-in { height: 60px; justify-content: space-between; }
      .logo { font-size: clamp(20px, 6vw, 26px); }
      .burger span { width: 20px; height: 1.5px; gap: 4px; }
      .hero-title { font-size: clamp(22px, 7vw, 30px); }
      .hero-rule i { width: clamp(14px, 8vw, 24px); }
      .hero-rule span { font-size: 8px; letter-spacing: .1em; }
      .hero-sub { font-size: 14px; }
      .hero-in { padding: clamp(60px, 10vh, 80px) 0; gap: 10px; }
      .section { padding: clamp(30px, 5vw, 40px) 0; }
      .h-title { font-size: clamp(20px, 5.5vw, 26px); margin-bottom: 16px; }
      .lead { font-size: 11.5px; }
      .btn-ghost, .btn-outline, .btn-solid { padding: 9px 16px; font-size: 9px; letter-spacing: .12em; }
      .btn-outline.sm, .btn-solid.sm { padding: 7px 14px; font-size: 9px; }
      .story-cards { gap: 12px; }
      .scard { padding: 16px 12px; }
      .scard i { width: 40px; height: 40px; font-size: 16px; }
      .scard h4 { font-size: 15px; }
      .cd-box { padding: 12px 10px; gap: 4px; }
      .cd-unit { min-width: 40px; }
      .cd-unit span { font-size: 18px; }
      .cd-unit em { font-size: 8px; letter-spacing: .08em; }
      .cd-unit+.cd-unit::before { left: -3px; }
      .rimg, .rimg.big { border-radius: 100px 100px 6px 6px; }
      .svc-img { height: clamp(130px, 35vw, 160px); }
      .bimg { height: clamp(130px, 35vw, 160px); }
      .bbody { padding: 14px; }
      .bmeta { font-size: 9px; gap: 8px; }
      .tag { font-size: 8px; padding: 3px 8px; top: 8px; left: 8px; }
      .counters { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 30px; }
      .cnt b { font-size: 20px; }
      .cnt em { font-size: 9px; }
      .cline { width: 36px; margin: 6px auto; }
      .tcard { padding: 14px 16px; }
      .tcard h5 { font-size: 14px; }
      .tcard p { font-size: 11px; }
      .touch-card { padding: 16px 18px; }
      .touch-info { padding: 16px 18px; }
      .touch-info li { font-size: 11px; margin-bottom: 12px; gap: 8px; }
      .fld { margin-bottom: 18px; }
      .fld input { padding: 8px 0; font-size: 12px; }
      .fld label { font-size: 12px; top: 8px; }
      .fld input:focus+label, .fld input:not(:placeholder-shown)+label, .fld input.filled+label { top: -10px; font-size: 10px; }
      .foot-grid { gap: 20px; padding-bottom: 24px; }
      .fcol h5 { font-size: 16px; margin-bottom: 12px; }
      .fcol p, .fcol a { font-size: 11px; }
      .socials-round a { width: 28px; height: 28px; font-size: 10px; }
      .totop { width: 34px; height: 34px; right: 14px; bottom: 14px; font-size: 14px; }
    }
    
    /* 360px and below — extreme small */
    @media (max-width: 360px) {
      .container { width: 70%; margin: 0px;
        justify-self: center; }
      .header.stuck .container{
        width: 70%;
      }
      .logo { font-size: 18px; }
      .hero-title { font-size: 18px; }
      .hero-sub { font-size: 12px; }
      .nav-in { height: 52px; }
      .burger span { width: 18px; height: 1.5px; gap: 3px; }
      .cd-unit { min-width: 34px; }
      .cd-unit span { font-size: 15px; }
      .cd-unit em { font-size: 7px; }
      .cd-box { padding: 10px 8px; gap: 2px; }
      .h-title { font-size: 18px; }
      .lead { font-size: 10.5px; }
      .svc h4 { font-size: 14px; }
      .bcard h4 { font-size: 14px; }
      .touch-card h3 { font-size: 18px; }
      .sign { font-size: 26px; }
      .cnt b { font-size: 18px; }
    }