
:root{
  --ivory:#FBF7F0; --cream:#F3E9DC; --blush:#EDDCCB; --plum:#43222F; --plum2:#5A3041;
  --mauve:#7C4A5E; --gold:#A87F45; --goldl:#C9A26B; --ink:#3A2530; --line:#DFCDB8;
  --serif:"Fraunces",Georgia,serif; --sans:"Jost",Verdana,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--ivory);font-size:1.06rem;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--mauve)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.skip-link{position:fixed;top:0;left:16px;z-index:900;transform:translateY(-400%);background:var(--plum);color:#fff;padding:12px 22px;border-radius:0 0 18px 18px;font-weight:600;text-decoration:none}
.skip-link:focus{transform:translateY(0);color:#fff}
.watermark{position:fixed;inset:0;z-index:500;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Ctext x='-40' y='180' transform='rotate(-28 260 260)' font-family='Georgia' font-size='58' letter-spacing='6' fill='%2343222F' fill-opacity='0.15'%3EPREVIEW%3C/text%3E%3Ctext x='-40' y='440' transform='rotate(-28 260 260)' font-family='Georgia' font-size='58' letter-spacing='6' fill='%2343222F' fill-opacity='0.15'%3EPREVIEW%3C/text%3E%3C/svg%3E");background-size:520px 520px}
.preview-banner{background:var(--plum);color:#F6EBDD;font-size:.86rem;letter-spacing:.04em;text-align:center;padding:8px 14px;position:relative;z-index:60}
.preview-banner strong{color:var(--goldl);letter-spacing:.18em}
.site-header{position:sticky;top:0;z-index:200;background:var(--ivory);border-bottom:1px solid var(--line)}
.header-in{max-width:1180px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:46px;height:46px;border-radius:50%}
.brand-name{font-family:var(--serif);font-size:1.42rem;color:var(--plum);line-height:1;letter-spacing:.01em}
.brand-sub{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.34em;color:var(--mauve);margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.03em;text-decoration:none;padding:14px 30px;border-radius:30px 30px 30px 8px;border:2px solid transparent;cursor:pointer;min-height:52px}
.btn-call{background:var(--plum);color:#FFF9F1}
.btn-call:hover{background:var(--plum2)}
.btn-gold{background:var(--gold);color:#241118}
.btn-gold:hover{background:var(--goldl)}
.btn-ghost{background:transparent;color:var(--plum);border-color:var(--plum)}
.btn-ghost:hover{background:var(--cream)}
.header-call{padding:10px 24px;min-height:48px}
.menu-btn{display:inline-flex;align-items:center;gap:9px;background:var(--plum);color:#FFF9F1;border:0;font-family:var(--sans);font-weight:600;font-size:1rem;padding:12px 20px;border-radius:30px 30px 30px 8px;cursor:pointer;min-height:48px}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:4px}
.menu-btn .bars span{display:block;width:20px;height:2px;background:#FFF9F1}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:var(--plum);max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 30px 40px rgba(67,34,47,.35)}
.menu-panel ul{list-style:none;margin:0;padding:18px 22px 26px;max-width:1180px;margin:0 auto;columns:2;column-gap:40px}
.menu-panel a{display:block;color:#F9F1E6;text-decoration:none;padding:10px 6px;font-size:1.05rem;border-bottom:1px solid rgba(249,241,230,.14)}
.menu-panel a:hover,.menu-panel a[aria-current]{color:var(--goldl)}
body.menu-locked{position:fixed;left:0;right:0;overflow:hidden}
main{display:block}
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 88% -10%,var(--blush),transparent 60%),radial-gradient(700px 480px at -10% 110%,var(--blush),transparent 55%),var(--ivory)}
.hero-in{max-width:1180px;margin:0 auto;padding:56px 22px 0;display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.eyebrow{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--mauve);font-weight:600;margin:0 0 16px}
h1{font-family:var(--serif);font-weight:560;color:var(--plum);font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.08;margin:0 0 18px}
.hero-sub{font-size:1.16rem;max-width:34rem;margin:0 0 22px}
.trust-stack{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:7px}
.trust-stack li{padding-left:26px;position:relative;font-weight:500}
.trust-stack li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50% 50% 50% 4px;background:var(--gold)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.hero-media{position:relative}
.hero-media .arch{border-radius:290px 290px 26px 26px;overflow:hidden;box-shadow:0 34px 60px rgba(67,34,47,.28)}
.hero-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/4.6}
.hero-badge{position:absolute;left:-24px;bottom:34px;background:var(--plum);color:#F9F1E6;padding:16px 22px;border-radius:24px 24px 24px 6px;box-shadow:0 18px 34px rgba(67,34,47,.35);max-width:250px}
.hero-badge strong{font-family:var(--serif);font-size:1.25rem;display:block;color:#fff}
.hero-badge span{font-size:.9rem;color:var(--goldl)}
.request-band{position:relative;z-index:5;margin-top:-6px}
.request-card{background:#fff;border:1px solid var(--line);border-radius:34px 34px 34px 10px;box-shadow:0 26px 50px rgba(67,34,47,.16);padding:30px 32px;margin-top:26px}
.request-card h2{font-family:var(--serif);color:var(--plum);font-size:1.7rem;margin:0 0 6px;font-weight:560}
.request-card p{margin:0 0 18px}
form.lead{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:14px;align-items:end}
form.lead .field{display:grid;gap:6px}
form.lead label{font-weight:600;font-size:.92rem;color:var(--plum)}
form.lead input,form.lead select{font:inherit;padding:12px 14px;border:1.5px solid #B99B7E;border-radius:16px 16px 16px 5px;background:var(--ivory);color:var(--ink);min-height:50px;width:100%}
form.lead .hint{font-size:.8rem;color:#5F4750}
form.stack{grid-template-columns:1fr;max-width:560px}
section{padding:74px 0}
.section-head{max-width:720px;margin-bottom:34px}
.section-head h2,.band h2{font-family:var(--serif);font-weight:560;color:var(--plum);font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.15;margin:0 0 12px}
.quick{background:var(--cream);border-radius:0 0 60px 0;padding:52px 0}
.quick-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.quick h2{font-family:var(--serif);font-weight:560;color:var(--plum);font-size:1.9rem;margin:0 0 10px}
.quick-links{list-style:none;margin:0;padding:0;columns:2;column-gap:34px}
.quick-links li{break-inside:avoid;border-bottom:1px solid var(--line)}
.quick-links a{display:flex;justify-content:space-between;gap:10px;padding:11px 2px;text-decoration:none;color:var(--plum);font-weight:500}
.quick-links a:hover{color:var(--mauve)}
.quick-links .price{color:var(--gold);font-weight:600;white-space:nowrap}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:28px 28px 28px 8px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(67,34,47,.08)}
.svc-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.svc-card .pad{padding:22px 24px 26px;display:grid;gap:8px}
.svc-card h3{font-family:var(--serif);color:var(--plum);font-size:1.32rem;margin:0;font-weight:560}
.svc-card p{margin:0}
.svc-card .from{color:var(--gold);font-weight:700}
.svc-card .go{font-weight:600;color:var(--mauve)}
@media(min-width:861px){.svc-grid .svc-card:nth-child(3n+2){transform:translateY(26px)}}
.band{background:var(--plum);color:#F4E9DA;padding:84px 0;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,107,.32),transparent 65%);top:-220px;right:-120px}
.band h2{color:#FFF8EE}
.band .eyebrow{color:var(--goldl)}
.band a{color:var(--goldl)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative}
.feature-grid img{border-radius:26px 260px 26px 26px;aspect-ratio:4/3.4;object-fit:cover;width:100%;box-shadow:0 26px 48px rgba(0,0,0,.3)}
.price-big{font-family:var(--serif);font-size:2.2rem;color:var(--goldl)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:260px 26px 26px 26px;aspect-ratio:4/3.6;object-fit:cover;width:100%;box-shadow:0 24px 44px rgba(67,34,47,.2)}
.steps{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:26px 26px 26px 8px;padding:24px}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);color:var(--plum);font-family:var(--serif);font-size:1.25rem;margin-bottom:12px}
.step h3{font-family:var(--serif);color:var(--plum);margin:0 0 8px;font-size:1.2rem;font-weight:560}
.step p{margin:0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:20px 20px 20px 6px;margin-bottom:12px;padding:4px 22px}
.faq summary{font-family:var(--serif);font-size:1.14rem;color:var(--plum);cursor:pointer;padding:14px 0;font-weight:560}
.faq details p{margin:0 0 16px}
.page-head{background:radial-gradient(700px 380px at 90% -30%,var(--blush),transparent 60%),var(--cream);padding:58px 0 46px;border-radius:0 0 60px 0}
.page-head h1{max-width:820px}
.page-head p{max-width:640px;font-size:1.12rem}
.answer-first{font-size:1.2rem;max-width:760px}
.fact-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.fact-chip{background:#fff;border:1.5px solid var(--gold);color:var(--plum);border-radius:22px 22px 22px 6px;padding:10px 18px;font-weight:600}
.map-frame{border-radius:28px 28px 28px 8px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 36px rgba(67,34,47,.14)}
.map-frame iframe{width:100%;height:380px;border:0;display:block}
footer{background:var(--plum);color:#EFE3D2;padding:60px 0 120px;margin-top:0}
footer a{color:var(--goldl)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
footer h2,footer h3{font-family:var(--serif);color:#FFF8EE;font-size:1.2rem;margin:0 0 12px;font-weight:560}
.foot-nav{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-nav a{text-decoration:none}
.socials{display:flex;gap:12px;margin-top:14px}
.socials a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--goldl);color:var(--goldl)}
.socials svg{width:22px;height:22px;fill:currentColor}
.foot-legal{border-top:1px solid rgba(249,241,230,.2);margin-top:38px;padding-top:20px;font-size:.9rem;display:grid;gap:6px}
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;display:none;background:var(--plum);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px rgba(67,34,47,.35)}
.action-bar a{flex:1;text-align:center;color:#F9F1E6;text-decoration:none;font-weight:600;padding:15px 6px;font-size:.98rem;min-height:54px;display:flex;align-items:center;justify-content:center}
.action-bar a.mid{background:var(--gold);color:#241118}
body.bar-hidden .action-bar{transform:translateY(110%)}
.action-bar{transition:transform .3s ease}
.gallery-note{font-size:.92rem;color:#5F4750;font-style:italic}
.center{text-align:center}
@media(max-width:1020px){form.lead{grid-template-columns:1fr 1fr}.svc-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}}
@media(max-width:860px){
  .hero-in{grid-template-columns:1fr;padding-top:40px}
  .hero-media img{aspect-ratio:4/3.4}
  .hero-badge{left:10px;bottom:12px}
  .quick-grid,.feature-grid,.split{grid-template-columns:1fr}
  .action-bar{display:flex}
  body{padding-bottom:56px}
  .menu-panel ul{columns:1}
  .brand-name{font-size:1.2rem}
  .header-call{padding:10px 16px}
}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}form.lead{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}section{padding:54px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
