:root{--ink:#302629;--rose:#9b7465;--cream:#f7f2ec;--paper:#fffdf9;--line:#ded2c8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;line-height:1.7}a{color:inherit}.shell{width:min(1160px,calc(100% - 2rem));margin:auto}.topbar{background:var(--ink);color:#fff;text-align:center;padding:.55rem 1rem;font-size:.82rem}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.2rem 0}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-mark{width:54px;height:54px;display:block;object-fit:cover;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 20px rgba(48,38,41,.12)}.logo-copy{display:block;padding-left:.75rem;border-left:1px solid var(--line)}.logo strong{display:block;font:600 clamp(1.35rem,2vw,1.85rem)/1 "Bodoni Moda",serif}.logo small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.navlinks{display:flex;align-items:center;gap:1.35rem;font-size:.86rem;font-weight:700}.navlinks a{text-decoration:none}.pill{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:.75rem 1.25rem;color:#fff;background:linear-gradient(135deg,#493b3f,var(--ink));border:1px solid rgba(48,38,41,.82);border-radius:12px;box-shadow:0 9px 24px rgba(48,38,41,.14),inset 0 1px rgba(255,255,255,.12);font-size:.75rem;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.pill:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(48,38,41,.2),inset 0 1px rgba(255,255,255,.16)}.pill:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.hero{min-height:70vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-copy{padding:clamp(3rem,7vw,7rem) max(1rem,calc((100vw - 1160px)/2));padding-right:clamp(2rem,6vw,6rem);align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.76rem;font-weight:800;color:var(--rose)}h1,h2{font-family:"Bodoni Moda",serif;line-height:1.02}h1{font-size:clamp(3rem,6vw,6rem);margin:.8rem 0 1.3rem;max-width:11ch}h1 em,h2 em{color:var(--rose);font-weight:500}.lead{font-size:clamp(1rem,1.6vw,1.22rem);max-width:42rem}.hero img{width:100%;height:100%;object-fit:cover}.section{padding:clamp(4rem,8vw,8rem) 0}.section h2{font-size:clamp(2.4rem,4.5vw,4.6rem);margin:.5rem 0 1.3rem}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}.card{border:1px solid var(--line);padding:1.5rem;background:#fff}.card h3{font-family:"Bodoni Moda",serif;font-size:1.5rem;line-height:1.1;margin:.2rem 0 .7rem}.soft{background:var(--cream)}.checklist{list-style:none;padding:0}.checklist li{padding:.8rem 0;border-bottom:1px solid var(--line)}.checklist li:before{content:"✦";color:var(--rose);margin-right:.7rem}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;cursor:pointer}.cta{background:var(--ink);color:#fff;text-align:center;padding:clamp(4rem,8vw,7rem) 1rem}.cta h2{font-size:clamp(2.5rem,5vw,5rem);margin:.4rem auto 1.5rem;max-width:14ch}.cta .pill{color:var(--ink);background:linear-gradient(135deg,#fffdf9,#f1e5df);border-color:rgba(255,255,255,.84)}footer{padding:2.5rem 0;background:#211a1c;color:#fff}.footer-row{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.related{display:flex;gap:1rem;flex-wrap:wrap}.related a{color:#fff}@media(max-width:800px){.site-nav{gap:.75rem}.logo{gap:.5rem}.logo-mark{width:46px;height:46px;border-radius:12px}.logo-copy{padding-left:.55rem}.logo strong{font-size:1.15rem}.logo small{font-size:.52rem;letter-spacing:.08em}.navlinks .pill{padding:.7rem .85rem;font-size:.75rem}.navlinks>a:not(.pill){display:none}.hero,.split{grid-template-columns:1fr}.hero img{height:55vh}.hero-copy{padding:4rem 1rem}.cards{grid-template-columns:1fr}h1{max-width:12ch}}


/* Shared landing-page inquiry form */
.landing-contact{position:relative;isolation:isolate;padding:clamp(5rem,8vw,8rem) 0;color:#fff;background:radial-gradient(circle at 10% 15%,rgba(210,169,178,.18),transparent 28%),radial-gradient(circle at 90% 82%,rgba(226,197,139,.13),transparent 26%),linear-gradient(135deg,#44373b,#6b555d 58%,#4a3b40);overflow:hidden}
.landing-contact:before{content:"";position:absolute;z-index:-1;inset:22px;border:1px solid rgba(226,197,139,.15);pointer-events:none}
.landing-contact-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(480px,1.22fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.landing-contact-copy{position:sticky;top:2rem}
.landing-contact-copy .eyebrow{color:#e4c98f}
.landing-contact-copy h2{margin:.6rem 0 1.4rem;color:#fff;font-size:clamp(3rem,4.5vw,5rem);text-shadow:0 12px 36px rgba(28,20,23,.22)}
.landing-contact-copy h2 em{color:#f1dde1}
.landing-contact-copy>p:not(.eyebrow){max-width:34rem;color:rgba(255,255,255,.8)}
.landing-trust{display:grid;gap:.5rem;padding:0;margin:1.6rem 0;list-style:none}
.landing-trust li{padding:.65rem .8rem;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-left-color:rgba(217,189,132,.65);border-radius:10px;font-size:.78rem;font-weight:600}
.landing-trust li:before{content:"✓";margin-right:.6rem;color:#d9bd84}
.landing-phone{display:grid;width:fit-content;gap:.2rem;margin-top:1.5rem;color:rgba(255,255,255,.72);font-size:.7rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.landing-phone strong{color:#fff;font-size:1rem;letter-spacing:.02em}
.landing-inquiry-form{position:relative;display:grid;gap:1.05rem;padding:clamp(1.9rem,4.5vw,3.5rem);overflow:hidden;color:var(--ink);background:linear-gradient(145deg,rgba(255,253,249,.995),rgba(248,241,237,.985));border:1px solid rgba(217,189,132,.62);border-radius:26px;box-shadow:0 42px 120px rgba(29,20,23,.34),0 8px 24px rgba(29,20,23,.13),inset 0 1px rgba(255,255,255,.92)}
.landing-inquiry-form:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#76505a,#d8bd84 52%,#9f737d)}
.landing-inquiry-form .form-heading{padding-bottom:1.25rem;border-bottom:1px solid rgba(121,81,90,.2)}
.landing-inquiry-form .form-kicker{display:block;margin-bottom:.55rem;color:#79515a;font-size:.61rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.landing-inquiry-form .form-heading>span{display:block;margin-bottom:.5rem;color:#4c3c41;font-family:"Bodoni Moda",serif;font-size:clamp(2rem,2.9vw,2.8rem);letter-spacing:-.035em;line-height:1}
.landing-inquiry-form .form-heading p,.landing-inquiry-form .form-note{margin:0;color:#756b68;font-size:.75rem;line-height:1.65}
.landing-inquiry-form .form-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0;margin:0;list-style:none}
.landing-inquiry-form .form-guide li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.45rem;padding:.55rem .6rem;color:#79515a;background:rgba(121,81,90,.055);border:1px solid rgba(121,81,90,.11);border-radius:10px;font-size:.59rem;font-weight:700;line-height:1.25}
.landing-inquiry-form .form-guide b{color:#a98746;font-size:.54rem}
.landing-inquiry-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.landing-inquiry-form .form-field-wide{grid-column:1/-1}
.landing-inquiry-form label{display:grid;gap:.45rem;color:#79515a;font-size:.69rem;font-weight:700}
.landing-inquiry-form input,.landing-inquiry-form select,.landing-inquiry-form textarea{width:100%;min-height:50px;padding:.85rem;color:var(--ink);background:rgba(255,253,249,.74);border:1px solid rgba(121,81,90,.23);border-radius:12px;box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 3px 10px rgba(74,56,58,.035);font-family:Manrope,sans-serif;font-size:1rem;line-height:1.35;transition:border .18s ease,box-shadow .18s ease,background .18s ease}
.landing-inquiry-form textarea{min-height:130px;resize:vertical}
.landing-inquiry-form input:focus,.landing-inquiry-form select:focus,.landing-inquiry-form textarea:focus{outline:0;background:#fffdf9;border-color:#79515a;box-shadow:0 0 0 4px rgba(121,81,90,.11)}
.landing-inquiry-form .pill{width:100%;min-height:58px;margin-top:.2rem}
.landing-inquiry-form .form-note{padding:.7rem .8rem;background:rgba(121,81,90,.055);border-radius:10px;text-align:center}
.landing-inquiry-form .form-privacy{margin:-.25rem auto 0;color:#756b68;font-size:.67rem;line-height:1.55;text-align:center}
.landing-inquiry-form .form-privacy a,.landing-inquiry-form .form-note a{color:#79515a;font-weight:700}
@media(max-width:800px){.landing-contact:before{inset:12px}.landing-contact-grid{grid-template-columns:1fr}.landing-contact-copy{position:static}.landing-inquiry-form .form-grid{grid-template-columns:1fr}.landing-inquiry-form .form-field-wide{grid-column:auto}}

/* Subtle luxury finish shared by SEO landing pages */
body{background:radial-gradient(circle at 92% 15%,rgba(155,116,101,.06),transparent 24%),var(--paper)}
.site-nav{position:relative}
.site-nav:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(155,116,101,.3),transparent)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 14% 18%,rgba(155,116,101,.1),transparent 28%),linear-gradient(135deg,#f5eee8,#fbf7f2)}
.hero-copy{position:relative;z-index:1}
.hero-copy:before{position:absolute;z-index:-1;top:12%;left:clamp(1rem,4vw,4rem);width:clamp(220px,28vw,430px);height:clamp(220px,28vw,430px);content:"";background:radial-gradient(circle,rgba(255,255,255,.62),transparent 69%);border-radius:50%;pointer-events:none}
.hero img{filter:saturate(1.01) contrast(1.05);transition:filter .4s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.hero:hover img{filter:saturate(1.045) contrast(1.06);transform:scale(1.012)}
.section{position:relative;isolation:isolate}
.section h2{text-shadow:0 12px 34px rgba(48,38,41,.05)}
.card{position:relative;overflow:hidden;border-color:rgba(155,116,101,.22);border-radius:18px;box-shadow:0 18px 50px rgba(48,38,41,.08),inset 0 1px rgba(255,255,255,.8);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.card:before{position:absolute;inset:0 18px auto;height:2px;content:"";background:linear-gradient(90deg,transparent,rgba(155,116,101,.66),transparent)}
.card:hover{border-color:rgba(155,116,101,.42);box-shadow:0 28px 66px rgba(48,38,41,.13),inset 0 1px rgba(255,255,255,.85);transform:translateY(-4px)}
.soft{background:radial-gradient(circle at 88% 14%,rgba(155,116,101,.08),transparent 28%),linear-gradient(145deg,#f5eee8,#fbf7f2)}
.checklist li{transition:color .18s ease,transform .18s ease}
.checklist li:hover{color:var(--rose);transform:translateX(3px)}
.faq details{margin-inline:-.8rem;padding-inline:.8rem;border-radius:10px;transition:background .2s ease,box-shadow .2s ease}
.faq details:hover,.faq details[open]{background:rgba(255,255,255,.72);box-shadow:0 12px 34px rgba(48,38,41,.05)}
.cta{position:relative;isolation:isolate;background:radial-gradient(circle at 12% 20%,rgba(155,116,101,.22),transparent 30%),linear-gradient(135deg,#302629,#49393e);overflow:hidden}
.cta:before{position:absolute;z-index:-1;inset:18px;content:"";border:1px solid rgba(222,190,133,.18);pointer-events:none}
footer{position:relative;background:radial-gradient(circle at 8% 0%,rgba(155,116,101,.18),transparent 30%),linear-gradient(135deg,#211a1c,#302428);border-top:1px solid rgba(222,190,133,.28)}
@media(max-width:800px){.hero-copy:before{left:-3rem}.faq details{margin-inline:0}.cta:before{inset:10px}}

/* Brand alignment: service pages share the homepage's plum, ivory and gold system */
:root{
  --ink:#37302f;
  --rose:#ab888f;
  --cream:#f4eee8;
  --paper:#fbf8f4;
  --line:rgba(74,56,58,.18);
  --plum:#4b3e42;
  --wine:#7a5f66;
  --pink:#e2d1d4;
  --gold:#c7af7c;
  --white:#fffdf9;
}
html{overflow-x:hidden}
body{overflow-x:hidden;color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.shell{width:min(calc(100% - 80px),1340px)}
.topbar{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 18px;
  color:var(--white);
  background:#3e3336;
  border-bottom:1px solid rgba(199,175,124,.34);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.09em;
  line-height:1.45;
  text-transform:uppercase;
}
.site-nav.shell{
  position:sticky;
  z-index:50;
  top:0;
  width:100%;
  max-width:none;
  min-height:90px;
  margin:0;
  padding:10px clamp(28px,4.4vw,70px);
  color:var(--white);
  background:linear-gradient(90deg,rgba(45,35,38,.97),rgba(62,47,52,.95) 50%,rgba(45,35,38,.97));
  border-bottom:1px solid rgba(216,189,135,.38);
  box-shadow:0 12px 34px rgba(20,17,15,.16),inset 0 1px rgba(255,255,255,.045);
  -webkit-backdrop-filter:blur(22px) saturate(1.16);
  backdrop-filter:blur(22px) saturate(1.16);
}
.site-nav:after{background:linear-gradient(90deg,transparent,rgba(216,189,135,.42),transparent)}
.logo{min-width:max-content;gap:14px}
.logo-mark{
  width:68px;
  height:68px;
  flex:0 0 68px;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 5px 10px rgba(20,17,15,.22)) drop-shadow(0 0 1px rgba(248,238,229,.34));
}
.logo-copy{display:grid;gap:5px;padding-left:16px;border-left:1px solid rgba(216,189,135,.64)}
.logo strong{font-weight:500;font-size:clamp(1.45rem,2vw,1.85rem);letter-spacing:-.03em}
.brand-cute{
  color:#e0c58b;
  background:linear-gradient(135deg,#ead7a7,#d6a9b1);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.logo small{color:rgba(255,255,255,.72);font-size:.56rem;font-weight:700;letter-spacing:.15em}
.navlinks{gap:clamp(18px,2.7vw,38px)}
.navlinks>a:not(.pill){padding-block:8px;color:rgba(255,255,255,.82);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.navlinks>a:not(.pill):hover{color:var(--white)}
.pill{
  min-height:54px;
  padding:0 26px;
  color:var(--white);
  background:linear-gradient(135deg,#8a5f68,var(--wine));
  border:1px solid rgba(216,189,135,.48);
  border-radius:13px;
  box-shadow:0 9px 24px rgba(43,35,30,.17),inset 0 1px rgba(255,255,255,.16);
  font-size:.7rem;
  font-weight:700;
}
.site-nav .pill{color:var(--white);background:rgba(255,255,255,.035);border-color:rgba(216,189,135,.56)}
.hero{
  position:relative;
  min-height:min(780px,calc(100svh - 126px));
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  color:var(--white);
  background:radial-gradient(circle at 17% 18%,rgba(171,136,143,.2),transparent 30%),linear-gradient(135deg,#44373b,#675159 62%,#493a3f);
  border-bottom:1px solid rgba(199,175,124,.55);
}
.hero:after{
  position:absolute;
  z-index:2;
  inset:28px auto 28px 32px;
  width:1px;
  content:"";
  background:linear-gradient(transparent,rgba(216,189,135,.7),transparent);
  pointer-events:none;
}
.hero-copy{max-width:820px;padding:clamp(72px,8vw,120px) clamp(44px,7vw,112px)}
.hero-copy:before{content:none}
.hero-copy:after{width:min(100%,570px);height:1px;display:block;margin-top:42px;content:"";background:linear-gradient(90deg,rgba(216,189,135,.7),transparent)}
.hero .eyebrow{color:#e3cb96}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--wine);font-size:.68rem}
.eyebrow:after{width:36px;height:1px;content:"";background:currentColor;opacity:.72}
h1,h2{font-weight:400;letter-spacing:-.045em;line-height:.96}
h1{max-width:10.5ch;margin:.7rem 0 1.5rem;font-size:clamp(4.5rem,6.3vw,7rem)}
h2{font-size:clamp(3rem,4.7vw,5rem)}
h1 em,h2 em{font-style:italic;letter-spacing:-.055em}
h1 em{color:#efdfe2}
h2 em{color:var(--wine)}
.lead{max-width:650px;margin-bottom:30px;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.7}
.hero img{min-height:inherit;object-position:center;filter:saturate(1.04) contrast(1.04)}
.hero:hover img{filter:saturate(1.04) contrast(1.04);transform:none}
.section{padding:clamp(84px,9vw,140px) 0;background:radial-gradient(circle at 92% 10%,rgba(171,136,143,.055),transparent 25%),var(--paper)}
.section:before{
  position:absolute;
  top:0;
  right:max(40px,calc((100vw - 1340px)/2));
  left:max(40px,calc((100vw - 1340px)/2));
  height:1px;
  content:"";
  background:linear-gradient(90deg,var(--gold) 0 5px,var(--line) 5px 100%);
}
.split{grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr);gap:clamp(60px,8vw,125px)}
.split>div:last-child{color:#796f6c;font-size:.96rem;line-height:1.82}
.soft{background:radial-gradient(circle at 13% 12%,rgba(171,136,143,.09),transparent 27%),linear-gradient(145deg,#efe4df,#f8f1ec 66%,#f2e8e3)}
.cards{gap:18px;margin-top:44px}
.card{min-height:220px;padding:30px;background:rgba(255,253,249,.84);border-color:rgba(122,95,102,.18);border-radius:20px}
.card:before{background:linear-gradient(90deg,transparent,rgba(199,175,124,.86),transparent)}
.card h3{font-size:1.75rem;font-weight:500}
.card p{color:#796f6c;font-size:.88rem}
.checklist{margin-top:28px}
.checklist li{padding:13px 0;color:var(--ink);font-size:.84rem;font-weight:600}
.checklist li:before{color:var(--gold)}
.faq details{padding-block:18px}
.faq summary{color:var(--ink)}
.landing-contact{padding:clamp(88px,9vw,140px) 0}
.landing-contact-copy{top:120px}
.cta .eyebrow{justify-content:center;color:#e4c98f}
.cta h2 em{color:#f1dde1}
footer{color:rgba(255,255,255,.72);font-size:.72rem}
.related{gap:20px}
.related a{color:rgba(255,255,255,.78);text-underline-offset:4px}
.related .footer-review-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#ead9ad;
  font-weight:700;
  text-decoration:none;
}
.footer-review-link span{color:#d8bd84}
.footer-review-link i{font-style:normal}

@media(max-width:960px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr)}
  .hero-copy{padding-inline:48px}
}
@media(max-width:800px){
  .shell{width:min(calc(100% - 40px),1340px)}
  .topbar{min-height:52px;padding:9px 28px;font-size:.61rem}
  .site-nav.shell{min-height:105px;gap:12px;padding:13px 20px}
  .logo{min-width:0;gap:9px}
  .logo-mark{width:58px;height:58px;flex-basis:58px;border-radius:0}
  .logo-copy{gap:4px;padding-left:11px}
  .logo strong{font-size:clamp(1.12rem,5.3vw,1.42rem)}
  .logo small{font-size:.46rem;letter-spacing:.09em}
  .navlinks .pill{min-height:54px;max-width:132px;padding:0 16px;font-size:.62rem;line-height:1.35;text-align:center}
  .hero{min-height:auto;grid-template-columns:1fr}
  .hero:after{inset:22px auto 22px 18px}
  .hero-copy{padding:66px 24px 58px}
  .hero-copy:after{margin-top:32px}
  h1{max-width:10ch;font-size:clamp(3.55rem,15vw,5rem)}
  .hero img{min-height:0;height:min(66vh,610px);object-position:center}
  .section{padding:84px 0}
  .section:before{right:20px;left:20px}
  .split{grid-template-columns:1fr;gap:32px}
  h2{font-size:clamp(3rem,12vw,4.25rem)}
  .card{min-height:0;padding:27px}
  .landing-contact{padding:84px 0}
  .landing-contact-grid{gap:38px}
  .landing-inquiry-form{padding:30px 22px;border-radius:22px}
  .footer-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){
  .site-nav.shell{padding-inline:14px}
  .logo-mark{width:52px;height:52px;flex-basis:52px}
  .logo-copy{padding-left:9px}
  .logo strong{font-size:1.04rem}
  .logo small{max-width:150px;font-size:.42rem}
  .navlinks .pill{max-width:116px;padding-inline:12px}
}
