@font-face{font-family:Vazirmatn;font-weight:400;font-display:swap;src:url(/fonts/vazirmatn-arabic-400-normal.woff2) format("woff2")}
@font-face{font-family:Vazirmatn;font-weight:600;font-display:swap;src:url(/fonts/vazirmatn-arabic-600-normal.woff2) format("woff2")}
@font-face{font-family:Vazirmatn;font-weight:800;font-display:swap;src:url(/fonts/vazirmatn-arabic-800-normal.woff2) format("woff2")}

:root{
  --bg:#FFF8F4; --paper:#FFFFFF; --peach:#FDE4D6; --peach-2:#FBD3C0;
  --coral:#F28B6B; --coral-d:#E2704F; --plum:#4A2340; --plum-2:#6B4260; --line:#F1D6C8;
  --ok:#2F7A55; --bad:#B3392B;
  --r:22px;
  --sans:Vazirmatn,Tahoma,system-ui,sans-serif;
  --display:Vazirmatn,Tahoma,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font:400 1.0625rem/2 var(--sans);background:var(--bg);color:var(--plum);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--coral-d);outline-offset:3px;border-radius:6px}
.skip{position:absolute;inset-inline-start:1rem;top:-4rem;background:var(--plum);color:#fff;padding:.5rem 1rem;border-radius:10px;z-index:100}
.skip:focus{top:1rem}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.narrow{width:min(760px,100% - 2rem)}
.center{text-align:center}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.55;color:var(--plum)}
h1{font-size:clamp(2.2rem,5.6vw,4rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.2rem)}
h3{font-size:1.35rem}
.lead{font-size:1.2rem;color:var(--plum-2);max-width:40rem}
.center .lead,.hero .lead{margin-inline:auto}

/* buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 2rem;border:2px solid var(--coral);border-radius:999px;background:var(--coral);color:var(--plum);font:600 1rem var(--sans);text-decoration:none;cursor:pointer;transition:background .25s,transform .25s,color .25s}
.btn:hover{background:var(--coral-d);border-color:var(--coral-d);transform:translateY(-2px)}
.btn:active{transform:none}
.btn.ghost{background:transparent;border-color:var(--plum);color:var(--plum)}
.btn.ghost:hover{background:var(--plum);color:#fff;border-color:var(--plum)}
.btn.dark{background:var(--plum);border-color:var(--plum);color:#fff}
.btn.dark:hover{background:#34162d;border-color:#34162d}
.btn.small{min-height:40px;padding:0 1.1rem;font-size:.9rem}
.btn.danger{background:transparent;border-color:var(--bad);color:var(--bad)}
.btn.danger:hover{background:var(--bad);color:#fff}
.link{font-weight:600;text-decoration:none;border-bottom:2px solid var(--coral);padding-bottom:1px}
.link:hover{border-color:var(--plum)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,248,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.brand img{display:block;height:56px;width:auto}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a:not(.btn){text-decoration:none;font-weight:600;padding:.2rem 0;border-bottom:2px solid transparent}
.nav a:not(.btn):hover,.nav a.on{border-color:var(--coral)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;border:0;margin:0}
.burger{display:none;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:0 10px}
.burger span{display:block;height:2px;background:var(--plum);border-radius:2px;transition:transform .3s,opacity .3s}
@media(max-width:820px){
  .burger{display:flex}
  .nav{position:absolute;inset:100% 0 auto;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1.2rem;border-bottom:1px solid var(--line);display:none}
  .nav a:not(.btn){padding:.7rem 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:.8rem}
  .nav-toggle:checked ~ .nav{display:flex}
  .nav-toggle:checked ~ .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle:checked ~ .burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .nav-toggle:focus-visible ~ .burger{outline:3px solid var(--coral-d);border-radius:8px}
}

/* hero */
.hero{position:relative;background:linear-gradient(180deg,var(--peach) 0,var(--bg) 100%);padding:clamp(3rem,8vw,6rem) 0 clamp(5rem,9vw,7rem);text-align:center;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;background:var(--peach-2);opacity:.55;z-index:0}
.hero::before{width:380px;height:380px;inset-inline-start:-140px;top:-120px}
.hero::after{width:260px;height:260px;inset-inline-end:-90px;bottom:30px;background:var(--coral);opacity:.25}
.hero-in{position:relative;z-index:1}
.hero-mark{margin-bottom:1rem}
.hero h1{max-width:20ch;margin-inline:auto;margin-bottom:1rem}
.wave{position:absolute;inset:auto 0 -1px;width:100%;height:60px;fill:var(--bg);z-index:1}
.foot .wave{inset:-59px 0 auto;fill:var(--plum)}

/* sections */
.sec{padding:clamp(3.5rem,8vw,6rem) 0}
.sec.tight{padding-top:2rem}
.sec.peach{background:var(--peach)}
.sec-title{text-align:center;margin-bottom:2.2rem}
.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.head-row .sec-title{margin:0;text-align:start}
.page-head{background:var(--peach);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,6vw,4rem);text-align:center;border-bottom-left-radius:60px 30px;border-bottom-right-radius:60px 30px}
.page-head h1{font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:.6rem}
.page-head .lead{margin-inline:auto}
.meta{font-size:.9rem;color:var(--plum-2)}
.cat{align-self:flex-start;display:inline-block;font-size:.8rem;font-weight:600;background:var(--peach-2);color:var(--plum);padding:.1rem .8rem;border-radius:999px;margin-bottom:.4rem}
.note{margin-top:2.5rem;color:var(--plum-2);font-size:.95rem;text-align:center}

/* pebbles */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:3rem}
.pebble{background:var(--paper);border:1px solid var(--line);padding:2.2rem 1.8rem;border-radius:62% 38% 55% 45% / 45% 55% 45% 55%;border-radius:36px 70px 36px 70px;box-shadow:0 10px 30px -18px rgba(74,35,64,.35)}
.pebble.alt{background:var(--coral);border-color:var(--coral);transform:translateY(1.2rem)}
.pebble h3{margin-bottom:.4rem}
.pebble p{font-size:.98rem}
@media(max-width:860px){.trio{grid-template-columns:1fr}.pebble.alt{transform:none}}

/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;counter-reset:s}
.steps li{background:var(--paper);border-radius:var(--r);padding:1.8rem 1.6rem;position:relative}
.steps b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--plum);color:#fff;font:800 1.3rem var(--display);margin-bottom:.8rem}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
.svc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;transition:transform .3s,box-shadow .3s}
.svc:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(74,35,64,.5)}
.svc h2{font-size:1.5rem}
.svc p{color:var(--plum-2);flex:1}
.svc .link{margin-top:.6rem}

/* posts */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
.post{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);transition:transform .3s,box-shadow .3s}
.post:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(74,35,64,.5)}
.post-link{display:flex;flex-direction:column;gap:.2rem;padding:0 0 1.6rem;text-decoration:none;height:100%}
.post h3{font-size:1.25rem;line-height:1.7}
.post p{color:var(--plum-2);font-size:.95rem;line-height:1.9;flex:1}

/* prose */
.prose{font-size:1.1rem}
.prose h2{margin:2.2rem 0 .6rem;font-size:1.7rem}
.prose p,.prose ul,.prose ol{margin-bottom:1.1rem}
.prose ul,.prose ol{padding-inline-start:1.4rem}
.prose li{margin-bottom:.3rem}
.prose blockquote{background:var(--peach);border-inline-start:5px solid var(--coral);padding:.8rem 1.2rem;border-radius:12px;margin:1.8rem 0;font-size:.95rem}
.prose blockquote p{margin:0}
.prose .source{font-size:.85rem;color:var(--plum-2);margin-top:2.5rem}
.prose .btn{margin-top:1rem}

/* CTA */
.cta{background:var(--coral);padding:clamp(3rem,7vw,5rem) 0;text-align:center}
.cta h2{margin-bottom:.4rem}
.cta p{margin-bottom:1.4rem}

/* forms */
.form{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(1.4rem,4vw,2.4rem);display:grid;gap:1.1rem}
.form label{display:grid;gap:.25rem;font-weight:600;font-size:.95rem}
.form small{font-weight:400;color:var(--plum-2)}
input,select,textarea{font:400 1rem var(--sans);color:var(--plum);width:100%;min-height:50px;padding:.55rem 1rem;border:2px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s}
textarea{resize:vertical;line-height:1.8}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral-d)}
.input-validation-error{border-color:var(--bad)}
.err{color:var(--bad);font-size:.85rem;font-weight:400;min-height:0}
.err-sum{background:#FDECEA;color:var(--bad);border-radius:12px;padding:.7rem 1rem;font-weight:600}
.hint{font-size:.85rem;color:var(--plum-2)}
.hp{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}
.ok{background:var(--paper);border:2px solid var(--coral);border-radius:28px;padding:2.4rem;text-align:center}
.ok h2{margin-bottom:.4rem}
.ok .btn{margin-top:1rem}
.form .btn{justify-self:start}

/* footer */
.foot{position:relative;background:var(--plum);color:#F6E6DE;margin-top:3.5rem;padding:3.5rem 0 1.5rem}
.fgrid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:2rem}
.foot h3{color:#fff;font-size:1.1rem;margin-bottom:.4rem}
.foot ul{list-style:none;padding:0}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}
.fbrand{font:800 1.6rem var(--display);color:#fff;line-height:1.4}
.fnote{font-size:.9rem;line-height:1.9;color:#E9D1C6}
.copy{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem;color:#D9BFB3}
@media(max-width:760px){.fgrid{grid-template-columns:1fr}}

/* admin */
body.admin{background:#FFF8F4;font-size:1rem;line-height:1.7}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.2rem;background:var(--paper);border-bottom:1px solid var(--line)}
.admin-top img{display:block}
.inline{display:inline-flex;align-items:center;gap:.6rem;margin:0}
.who{font-size:.9rem;color:var(--plum-2)}
.admin-main{padding:1.6rem 0 4rem;width:min(1280px,100% - 2rem)}
.admin h1{font-size:1.8rem;margin-bottom:1rem}
.login{max-width:420px;margin:4rem auto}
.login h1{text-align:center}
.stats{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}
.stat{display:flex;flex-direction:column;align-items:center;min-width:110px;padding:.6rem 1rem;background:var(--paper);border:2px solid var(--line);border-radius:16px;text-decoration:none}
.stat b{font:800 1.6rem var(--display);line-height:1.4}
.stat span{font-size:.85rem;color:var(--plum-2)}
.stat.on{border-color:var(--coral);background:var(--peach)}
.search{display:flex;gap:.6rem;margin-bottom:1rem;max-width:560px}
.search input{min-height:44px}
.empty{padding:2rem;text-align:center;color:var(--plum-2);background:var(--paper);border-radius:var(--r)}
.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
table.req{width:100%;border-collapse:collapse;font-size:.92rem}
.req th{background:var(--peach);text-align:start;padding:.7rem .8rem;white-space:nowrap}
.req td{padding:.7rem .8rem;border-top:1px solid var(--line);vertical-align:top}
.req td.msg{min-width:200px;max-width:320px;white-space:pre-wrap;word-break:break-word}
.req select.st{min-height:38px;padding:.2rem .6rem;border-radius:999px;font-weight:600;font-size:.85rem;width:auto}
.st0{background:#FDE4D6}.st1{background:#FFF1C9}.st2{background:#DDF1E4}
.pager{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.pager a{min-width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border:2px solid var(--line);border-radius:12px;text-decoration:none;font-weight:600}
.pager a.on{background:var(--coral);border-color:var(--coral)}
@media(max-width:760px){
  .req thead{display:none}
  .req,.req tbody,.req tr,.req td{display:block;width:100%}
  .req tr{border-top:8px solid var(--bg);padding:.4rem 0}
  .req td{border:0;padding:.3rem 1rem}
  .req td::before{content:attr(data-l) ": ";font-weight:600;color:var(--plum-2)}
  .req td.msg{max-width:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* images */
.post-link>*:not(.post-img){margin-inline:1.6rem}
.post-img{display:block;width:100%;margin:0 0 1rem;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r) var(--r) 0 0;background:var(--peach)}
.cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);margin:0 0 2rem;background:var(--peach)}
/* feature grids */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.feat div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.feat h3{font-size:1.2rem;margin-bottom:.3rem}
.feat p{font-size:.95rem;line-height:1.9;color:var(--plum-2)}
.feat .ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--peach-2);margin-bottom:.7rem;font:800 1.3rem var(--display)}
@media(max-width:900px){.feat{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.feat{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem 2rem;max-width:860px;margin:0 auto}
.checks li{padding-inline-start:2rem;position:relative}
.checks li::before{content:"";position:absolute;inset-inline-start:0;top:.75rem;width:14px;height:14px;border-radius:50% 50% 50% 0;background:var(--coral);transform:rotate(-45deg)}
@media(max-width:700px){.checks{grid-template-columns:1fr}}
/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.quote{background:var(--paper);border-radius:var(--r);padding:1.8rem;position:relative;border:1px solid var(--line)}
.quote::before{content:"«";position:absolute;top:.2rem;inset-inline-end:1.2rem;font:800 4rem/1 var(--display);color:var(--peach-2)}
.quote p{position:relative;margin-bottom:.8rem}
.quote footer{font-size:.9rem;color:var(--plum-2)}
.quote b{color:var(--plum)}
.stars{color:var(--coral-d);letter-spacing:.15em;font-size:1rem}
.sample-note{text-align:center;font-size:.85rem;color:var(--plum-2);margin-top:1.4rem}
@media(max-width:860px){.quotes{grid-template-columns:1fr}}
/* faq */
.faq{max-width:820px;margin:0 auto;display:grid;gap:.7rem}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:0 1.3rem}
.faq summary{cursor:pointer;list-style:none;font-weight:600;padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:800 1.6rem var(--display);color:var(--coral-d);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:1rem;color:var(--plum-2)}
.feat.two{grid-template-columns:repeat(2,1fr);max-width:860px;margin:0 auto 1.6rem}
@media(max-width:700px){.feat.two{grid-template-columns:1fr}}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1.6rem;align-items:start}
.info{display:grid;gap:.9rem}
.card-i{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.4rem}
.card-i h2{font-size:1.1rem}
.todo{color:var(--plum-2);font-size:.95rem}
.info .btn{justify-self:start}
.map iframe{display:block;width:100%;height:440px;border:0;border-radius:var(--r);background:var(--peach)}
.note-s{font-size:.85rem;color:var(--plum-2);margin-top:.6rem}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}.map iframe{height:340px}}
/* photos */
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;text-align:start}
.hero-grid h1{margin-inline:0;max-width:14ch}
.hero-grid .lead{margin-inline:0}
.hero-grid .actions{justify-content:flex-start}
.hero-photo{margin:0}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:62% 50%;border-radius:999px 999px 28px 28px;box-shadow:0 30px 60px -30px rgba(74,35,64,.55)}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-grid h1{margin-inline:auto}.hero-grid .lead{margin-inline:auto}.hero-grid .actions{justify-content:center}.hero-photo{max-width:380px;margin-inline:auto}}
.cta{background:linear-gradient(rgba(242,139,107,.9),rgba(242,139,107,.9)),url(/img/photos/_cta.webp) center/cover}
.about-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);margin:0 0 2rem}
table.credits{width:100%;border-collapse:collapse;font-size:.9rem}
.credits th{background:var(--peach);text-align:start;padding:.7rem .8rem}
.credits td{padding:.6rem .8rem;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.fcredit{font-size:.8rem}

/* ===== polish pass ===== */
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
body{background:var(--bg) radial-gradient(1200px 500px at 90% -10%,rgba(251,211,192,.45),transparent 60%)}
.topbar{background:var(--plum);color:#F6E6DE;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:36px}
.topbar a{text-decoration:none;font-weight:600;color:#fff}
.top{transition:box-shadow .3s,background .3s}
.top.scrolled{box-shadow:0 10px 30px -22px rgba(74,35,64,.6);background:rgba(255,248,244,.97)}
.eyebrow{display:inline-block;font-size:.85rem;font-weight:600;color:var(--coral-d);letter-spacing:.02em;margin-bottom:.5rem;position:relative;padding-inline-start:2.4rem}
.eyebrow::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:1.8rem;height:2px;background:var(--coral)}
.eyebrow.light{color:var(--peach-2)}.eyebrow.light::before{background:var(--peach-2)}
.sec-head{text-align:center;max-width:720px;margin:0 auto 2.6rem}
.sec-head .eyebrow{padding-inline-start:0}.sec-head .eyebrow::before{display:none}
.sec-head .eyebrow::after{content:"";display:block;width:36px;height:3px;border-radius:2px;background:var(--coral);margin:.5rem auto 0}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.sec-head p{color:var(--plum-2);margin-top:.5rem}
.sec.deco{position:relative;overflow:hidden}
.sec.deco::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(242,139,107,.14);inset-inline-start:-120px;top:-120px}
.sec.deco::after{content:"";position:absolute;width:220px;height:220px;border-radius:40% 60% 55% 45%;background:rgba(74,35,64,.06);inset-inline-end:-60px;bottom:-60px}
.sec.deco>.wrap{position:relative;z-index:1}
/* hero */
.hero{padding-bottom:clamp(5rem,9vw,7.5rem)}
.hero .blob{position:absolute;z-index:0;border-radius:50%}
.hero .b1{width:420px;height:420px;background:rgba(242,139,107,.22);inset-inline-end:-120px;top:-140px}
.hero .b2{width:300px;height:300px;background:rgba(74,35,64,.07);inset-inline-start:-90px;bottom:40px;border-radius:42% 58% 60% 40%}
.hero::before,.hero::after{display:none}
.hero .dots{position:absolute;z-index:0;inset-inline-start:46%;top:70px;opacity:.5}
.hero-text .eyebrow{margin-bottom:.8rem}
.hero-grid h1{font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.6;margin-bottom:.4rem;max-width:none}
.hero h1 mark{background:none;color:var(--coral-d);position:relative;white-space:nowrap}
.hero h1 mark::after{content:"";position:absolute;inset-inline:-4px;bottom:.35em;height:.32em;background:rgba(242,139,107,.28);z-index:-1;border-radius:8px}
.hero-points{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.92rem;font-weight:600}
.hero-points li{display:flex;align-items:center;gap:.5rem}
.hero-points li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--coral)}
.hero-photo{position:relative;margin:0}
.hero-photo::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid var(--coral);border-radius:999px 999px 34px 34px;opacity:.55}
.hero-photo img{position:relative;z-index:1;animation:floaty 7s ease-in-out infinite}
.chip{position:absolute;z-index:2;display:flex;align-items:center;gap:.5rem;background:#fff;color:var(--plum);font-weight:600;font-size:.88rem;padding:.55rem 1rem;border-radius:999px;box-shadow:0 14px 30px -14px rgba(74,35,64,.55)}
.chip svg{color:var(--coral-d)}
.chip.c1{inset-inline-end:-18px;top:18%}
.chip.c2{inset-inline-start:-22px;bottom:14%}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:860px){.hero .dots{display:none}.chip.c1{inset-inline-end:-6px}.chip.c2{inset-inline-start:-6px}.hero-points{justify-content:center}}
/* stats band */
.statband{position:relative;z-index:3;margin-top:-2.4rem}
.stats4{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 50px -30px rgba(74,35,64,.5);padding:1.3rem .5rem}
.stats4>div{text-align:center;padding:.4rem 1rem;border-inline-start:1px solid var(--line)}
.stats4>div:first-child{border-inline-start:0}
.stats4 b{display:block;font:800 2.2rem/1.4 var(--display);color:var(--coral-d)}
.stats4 span{font-size:.9rem;color:var(--plum-2)}
@media(max-width:700px){.stats4{grid-template-columns:repeat(2,1fr)}.stats4>div:nth-child(3){border-inline-start:0}.stats4>div:nth-child(n+3){border-top:1px solid var(--line)}}
/* service cards with photos */
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2rem}
.scard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;text-decoration:none;transition:transform .35s,box-shadow .35s}
.scard:hover{transform:translateY(-6px);box-shadow:0 26px 44px -28px rgba(74,35,64,.55)}
.simg{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.simg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.scard:hover .simg img{transform:scale(1.07)}
.simg::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(74,35,64,.45))}
.simg em{position:absolute;z-index:1;inset-inline-start:1rem;bottom:.8rem;font-style:normal;font-size:.78rem;font-weight:600;background:rgba(255,248,244,.95);color:var(--plum);padding:.1rem .8rem;border-radius:999px}
.sbody{display:flex;flex-direction:column;gap:.25rem;padding:1.2rem 1.4rem 1.4rem}
.sbody h3{font-size:1.25rem}
.sbody p{color:var(--plum-2);font-size:.95rem;line-height:1.9}
.more{font-weight:600;color:var(--coral-d);margin-top:.3rem}
.more::after{content:" ←"}
@media(max-width:900px){.svc-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-cards{grid-template-columns:1fr}}
/* split */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}
.split-photo{position:relative}
.split-photo img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:34px 140px 34px 34px;box-shadow:0 30px 50px -30px rgba(74,35,64,.55)}
.split-photo .ring{position:absolute;inset:18px -18px -18px 18px;border-radius:34px 140px 34px 34px;background:var(--peach-2);z-index:0}
.split h2{margin-bottom:1.4rem}
.mini-feat{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem 1.6rem}
.mini-feat svg{color:var(--coral-d);background:var(--peach);border-radius:14px;padding:10px;width:46px;height:46px;margin-bottom:.4rem}
.mini-feat h3{font-size:1.1rem}
.mini-feat p{font-size:.92rem;color:var(--plum-2);line-height:1.85}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:2.2rem}.split-photo{max-width:420px;margin-inline:auto}.mini-feat{grid-template-columns:1fr}}
/* dark process */
.sec.dark{background:var(--plum);color:#F6E6DE;position:relative;overflow:hidden}
.sec.dark::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(242,139,107,.12);inset-inline-end:-100px;top:-130px}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec.dark .sec-head .eyebrow::after{background:var(--coral)}
.flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:2.6rem;position:relative}
.flow::before{content:"";position:absolute;inset-inline:16%;top:48px;border-top:2px dashed rgba(253,228,214,.35)}
.flow li{position:relative;text-align:center;padding:0 1rem}
.flow .fi{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 1rem;border-radius:50%;background:var(--coral);color:var(--plum);position:relative;box-shadow:0 0 0 10px rgba(242,139,107,.18)}
.flow .fi svg{width:38px;height:38px}
.flow .num{position:absolute;top:-6px;inset-inline-start:calc(50% + 34px);z-index:2;background:#fff;color:var(--plum);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font:800 1rem var(--display)}
.flow p{color:#E9D1C6;font-size:.95rem}
@media(max-width:760px){.flow{grid-template-columns:1fr}.flow::before{display:none}}
/* slider */
.slider-wrap{display:flex;align-items:center;gap:.8rem}
.slider{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1rem;flex:1;scrollbar-width:none}
.slider::-webkit-scrollbar{display:none}
.slider .quote{flex:0 0 min(360px,82%);scroll-snap-align:start}
.sl-btn{flex:none;width:46px;height:46px;border-radius:50%;border:2px solid var(--plum);background:transparent;color:var(--plum);font:800 1.6rem/1 var(--display);cursor:pointer;transition:background .25s,color .25s}
.sl-btn:hover{background:var(--plum);color:#fff}
@media(max-width:600px){.sl-btn{display:none}}
.quote footer{display:flex;flex-direction:column;gap:.1rem;margin-top:.6rem}
/* cards, faq, cta polish */
.post-img{transition:transform .8s}
.post:hover .post-img{transform:scale(1.04)}
.post{overflow:hidden}
.faq details{transition:box-shadow .3s,border-color .3s}
.faq details[open]{border-color:var(--coral);box-shadow:0 14px 30px -24px rgba(74,35,64,.6)}
.cta{position:relative;overflow:hidden}
.cta h2{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--plum)}
.cta .actions{margin-top:1.4rem}
.btn{box-shadow:0 12px 24px -16px rgba(226,112,79,.9)}
.btn.ghost,.btn.dark{box-shadow:none}
.checks{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.6rem 2rem;max-width:920px;margin:0 auto 1.4rem}
.foot{background:var(--plum) radial-gradient(500px 300px at 10% 0%,rgba(242,139,107,.18),transparent 70%)}
.small-n{margin-top:1rem}
@media(prefers-reduced-motion:reduce){.hero-photo img{animation:none}.js .rv{opacity:1;transform:none}}

input[type=checkbox],input[type=radio]{width:auto;min-height:0}
.nav-toggle{width:1px!important;height:1px!important;padding:0!important;border:0!important}

/* hardening against any horizontal overflow */
html,body{max-width:100%;overflow-x:clip}
main,.top,.foot,section{max-width:100%}
.hero,.sec,.cta,.statband{overflow-x:clip}
.hero-grid>*{min-width:0}
.split>*,.contact-grid>*{min-width:0}
img,svg,iframe,table{max-width:100%}
