:root{
  --bg:#F7F4EE;
  --bg-2:#FFFFFF;
  --bg-3:#EFEAE1;
  --ink:#16140F;
  --ink-2:#3A352C;
  --muted:#6E675C;
  --line:rgba(22,20,15,.08);
  --line-strong:rgba(22,20,15,.14);
  --gold:#C9A55A;
  --gold-2:#B8923F;
  --gold-soft:rgba(201,165,90,.14);
  --dark:#12100C;
  --dark-2:#1C1914;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 14px 40px rgba(22,20,15,.08);
  --max:1080px;
  --pad:clamp(1.1rem,4vw,2rem);
  --font:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Fraunces","Times New Roman",Georgia,serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);background:var(--bg);color:var(--ink);
  line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-bottom:84px;
}
img,video{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:#111}
.wrap{width:min(100% - 2*var(--pad),var(--max));margin-inline:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--gold);color:#111;padding:.55rem 1rem;border-radius:999px}

h1,h2,h3{font-family:var(--display);font-weight:550;letter-spacing:-.02em;line-height:1.12;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(2.15rem,6vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.45rem)}
h3{font-size:1.15rem}
.lead{font-size:1.05rem;color:var(--ink-2);max-width:32rem}
.kicker{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.gold{color:var(--gold-2)}
.muted{color:var(--muted)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  border-radius:999px;padding:.88rem 1.35rem;font-weight:750;font-size:.92rem;
  border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,background .2s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:linear-gradient(135deg,#E0C07A,var(--gold) 50%,var(--gold-2));color:#1A150C;box-shadow:0 10px 28px rgba(201,165,90,.28)}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2)}
.btn-dark{background:var(--dark);color:#F7F4EE}
.btn-sm{padding:.55rem .95rem;font-size:.82rem}
.btn-block{width:100%}

.announce{background:#EFE6D2;color:#16140F;text-align:center;font-size:.82rem;padding:.55rem var(--pad);border-bottom:1px solid rgba(22,20,15,.08)}
.announce a{color:#16140F;font-weight:700;text-decoration:underline;text-decoration-color:#B8923F;text-underline-offset:2px}

.hdr{position:sticky;top:0;z-index:40;background:rgba(247,244,238,.9);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.hdr.scrolled{border-color:var(--line);box-shadow:0 8px 24px rgba(22,20,15,.05)}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.65rem}
.brand img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text b{font-size:.92rem}
.brand-text span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nav-d{display:none;gap:1.15rem;font-size:.9rem;font-weight:650;color:var(--ink-2)}
.nav-d a:hover,.nav-d a.on{color:var(--gold-2)}
.hdr-actions{display:flex;align-items:center;gap:.55rem}
.menu-btn{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:.45rem .65rem;cursor:pointer}
.drawer{position:fixed;inset:0;background:rgba(18,16,12,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,320px);background:var(--bg-2);padding:1.2rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow)}
.drawer nav{display:flex;flex-direction:column;gap:.85rem;font-weight:700}
@media(min-width:860px){
  .nav-d{display:flex}
  .menu-btn{display:none}
}

.hero{padding:clamp(2.2rem,6vw,3.8rem) 0 clamp(2.5rem,5vw,3.5rem)}
.hero-inner{display:grid;gap:1.8rem;align-items:center}
@media(min-width:900px){.hero-inner{grid-template-columns:1.05fr .95fr;gap:2.4rem}}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}
.hero-note{margin-top:.9rem;color:var(--muted);font-size:.92rem}
.hero-visual{position:relative}
.hero-visual .shot{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/5;background:var(--bg-3);
}
.hero-visual .shot img,.hero-visual .shot video{width:100%;height:100%;object-fit:cover}
.float-badge{
  position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.94);
  border:1px solid var(--line);border-radius:14px;padding:.7rem .9rem;box-shadow:var(--shadow);
}
.float-badge b{display:block;font-size:.88rem}
.float-badge span{font-size:.78rem;color:var(--muted)}

section{padding:clamp(2.4rem,5vw,3.6rem) 0}
.sec-head{margin-bottom:1.4rem;max-width:36rem}
.sec-head p{margin-top:.55rem;color:var(--ink-2)}

.grid-prices{display:grid;gap:1rem}
@media(min-width:720px){.grid-prices{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.grid-prices{grid-template-columns:repeat(4,1fr)}}
.price-card{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 8px 24px rgba(22,20,15,.04);
  transition:border-color .2s,transform .2s;
}
.price-card:hover{border-color:rgba(201,165,90,.45);transform:translateY(-2px)}
.price-card.feat{border-color:rgba(201,165,90,.55);background:linear-gradient(180deg,#FFFDF8,var(--bg-2))}
.price-card .tag{align-self:flex-start;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--gold-soft);color:var(--gold-2);padding:.25rem .55rem;border-radius:999px}
.price-card .price{font-family:var(--display);font-size:2rem;color:var(--ink);line-height:1}
.price-card .note{font-size:.78rem;color:var(--muted)}
.price-card ul{list-style:none;margin:.35rem 0 .6rem;display:grid;gap:.28rem;font-size:.88rem;color:var(--ink-2)}
.price-card ul li::before{content:"✓ ";color:var(--gold-2);font-weight:700}
.price-card .btn{margin-top:auto}

.work-grid{display:grid;gap:1rem}
@media(min-width:780px){.work-grid{grid-template-columns:1.1fr 1fr;gap:1.2rem}}
.work-main{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.work-main video,.work-main .poster{width:100%;aspect-ratio:9/12;object-fit:cover;background:#111}
.work-main .cap,.work-side .cap{padding:1rem 1.1rem}
.work-main .cap b,.work-side .cap b{display:block;font-size:1rem}
.work-main .cap span,.work-side .cap span{font-size:.88rem;color:var(--muted)}
.work-side{display:grid;gap:1rem}
.work-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.work-card img{width:100%;aspect-ratio:16/11;object-fit:cover;background:var(--bg-3)}

.ba-slider{
  position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/3;background:#111;user-select:none;touch-action:none;
}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-slider .after-wrap{position:absolute;inset:0;overflow:hidden;width:50%}
.ba-slider .after-wrap img{width:100vw;max-width:none;height:100%;object-fit:cover}
.ba-slider .handle{
  position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;transform:translateX(-50%);
  box-shadow:0 0 0 1px rgba(0,0,0,.2);
}
.ba-slider .handle::after{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:36px;height:36px;border-radius:50%;background:white;box-shadow:0 6px 18px rgba(0,0,0,.25);
  background-image:linear-gradient(90deg,#111 40%,transparent 40%,transparent 60%,#111 60%);
  background-size:12px 12px;background-repeat:no-repeat;background-position:center;
}
.ba-slider .lbl{
  position:absolute;top:.7rem;z-index:2;font-size:.65rem;font-weight:800;letter-spacing:.1em;
  background:rgba(0,0,0,.55);color:#fff;padding:.28rem .5rem;border-radius:999px;
}
.ba-slider .lbl.before{left:.7rem}
.ba-slider .lbl.after{right:.7rem}

.steps{display:grid;gap:1rem}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.step .n{font-family:var(--display);font-size:1.6rem;color:var(--gold-2)}
.step p{margin-top:.35rem;color:var(--ink-2);font-size:.95rem}

.band{background:var(--dark);color:#EDE7DB;padding:clamp(2.2rem,5vw,3.2rem) 0}
.band h2{color:#F7F4EE}
.band p{color:#C8C0B2}
.band .grid2{display:grid;gap:1.2rem}
@media(min-width:800px){.band .grid2{grid-template-columns:1.2fr .8fr;align-items:center}}
.map-chip{
  background:var(--dark-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);
  padding:1.3rem;text-align:center;font-family:var(--display);font-size:1.5rem;color:var(--gold);
}

.faq details{
  background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:.95rem 1.1rem;margin-bottom:.65rem;
}
.faq summary{cursor:pointer;font-weight:750;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-2);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:.55rem;color:var(--ink-2);font-size:.95rem}

.cta-final{
  background:linear-gradient(180deg,#FFFDF8,var(--bg-3));
  border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.4rem);
  text-align:center;box-shadow:var(--shadow);
}
.cta-final .hero-ctas{justify-content:center}

footer{padding:2.4rem 0 1.4rem;border-top:1px solid var(--line);margin-top:1rem;font-size:.9rem;color:var(--muted)}
footer .wrap{display:grid;gap:1.4rem}
@media(min-width:800px){footer .wrap{grid-template-columns:1.4fr 1fr 1fr}}
footer a{color:var(--ink-2)}
footer a:hover{color:var(--gold-2)}
footer .tiny{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.78rem}

.mobile-cta{
  position:fixed;left:var(--pad);right:var(--pad);bottom:1rem;z-index:30;
  box-shadow:0 12px 30px rgba(22,20,15,.2);
}
@media(min-width:860px){.mobile-cta{display:none}}

.page-hero{padding:2rem 0 1rem}
.page-hero p{margin-top:.6rem;color:var(--ink-2);max-width:34rem}
.simple-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;margin:.8rem 0}
.contact-list{display:grid;gap:.7rem}
.contact-list a,.contact-list > div{
  display:flex;gap:.8rem;align-items:flex-start;background:var(--bg-2);border:1px solid var(--line);
  border-radius:14px;padding:.9rem 1rem;
}
.contact-list .i{width:28px;text-align:center;color:var(--gold-2);font-weight:800}
.quote{display:grid;gap:.7rem;margin-top:.8rem}
.quote .row{display:grid;gap:.7rem}
@media(min-width:640px){.quote .row{grid-template-columns:1fr 1fr}}
.quote input,.quote select,.quote textarea{
  width:100%;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:12px;padding:.85rem 1rem;
}
.quote input:focus,.quote select:focus,.quote textarea:focus{outline:2px solid rgba(201,165,90,.35);border-color:var(--gold)}
.soon-box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.soon-ctas{display:flex;flex-wrap:wrap;gap:.6rem;margin:.9rem 0 .5rem}
.soon-note{font-size:.9rem;color:var(--muted);margin-top:.4rem}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in{opacity:1;transform:none}

.links-page{min-height:100vh;display:grid;place-items:center;padding:2rem var(--pad)}
.links-card{width:min(100%,400px);background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:1.6rem;box-shadow:var(--shadow);text-align:center}
.links-card img{width:88px;height:88px;border-radius:50%;margin:0 auto 1rem}
.links-card .l{
  display:block;margin:.55rem 0;padding:.95rem 1rem;border-radius:999px;background:var(--dark);color:#F7F4EE;font-weight:750
}
.links-card .l.gold{background:linear-gradient(135deg,#E0C07A,var(--gold));color:#1A150C}
.links-card .soc{display:flex;justify-content:center;gap:.8rem;margin:1rem 0 .4rem}
.links-card .hrs{font-size:.85rem;color:var(--muted)}
