@font-face{font-family:'Cormorant Garamond';src:url('fonts/CormorantGaramond-VariableFont_wght.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/CormorantGaramond-Italic-VariableFont_wght.ttf') format('truetype');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:'Jost';src:url('fonts/Jost-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--navy:#0C1422;--navy2:#111C30;--panel:#152139;--ink:#EFE9DA;--mut:#9AA4B8;--gold:#C9A84C;--goldl:#DCBE7A;--line:rgba(201,168,76,.22);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--navy);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--goldl);text-decoration:none}
a:hover{color:var(--gold)}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.rule{width:56px;height:1px;background:var(--gold);border:0;margin:26px 0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;text-wrap:balance}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.js .rv.in{opacity:1;transform:none}
.js .rv2.in{transition-delay:.15s}
.js .rv3.in{transition-delay:.3s}
/* header */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .35s,border-color .35s;border-bottom:1px solid transparent}
.hd.on{background:rgba(12,20,34,.92);backdrop-filter:blur(8px);border-color:var(--line)}
.hd__in{max-width:1240px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;gap:36px}
.hd__brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.hd__brand img{width:34px;height:34px}
.hd__name{font-family:var(--serif);font-size:21px;letter-spacing:.2em;font-weight:600;color:var(--ink)}
.hd__sub{display:block;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.hd__nav{display:flex;gap:30px;margin-left:auto}
.hd__nav a{font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:400}
.hd__nav a:hover{color:var(--goldl)}
.hd__tel{font-size:14px;color:var(--ink);letter-spacing:.04em;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--gold);cursor:pointer;transition:all .25s;white-space:nowrap}
.btn--gold{background:var(--gold);color:#0C1422}
.btn--gold:hover{background:var(--goldl);color:#0C1422}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:rgba(201,168,76,.12);color:var(--ink)}
.btn--sm{padding:11px 22px;font-size:12.5px}
.hd__burger{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px}
/* hero */
.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:150px 0 60px;position:relative}
.hero__eyebrow{display:flex;align-items:center;gap:14px}
.hero__eyebrow::before,.hero__eyebrow::after{content:'';width:36px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(64px,11vw,150px);margin:22px 0 10px;color:var(--ink)}
.hero h1 em{font-style:italic;color:var(--goldl);font-weight:500}
.hero__lede{max-width:560px;font-size:19px;color:var(--mut);margin:18px 0 40px}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap}
.hero__foot{margin-top:auto;padding-top:64px;display:flex;gap:34px;align-items:center;flex-wrap:wrap;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.hero__foot b{color:var(--goldl);font-weight:500}
.hero__foot span{display:flex;align-items:center;gap:9px}
.stars{color:var(--gold);letter-spacing:2px;font-size:13px}
/* photo band */
.band{padding:0 0 110px}
.band__ph{height:62vh;min-height:380px;background-size:cover;background-position:center 35%;filter:saturate(.92)}
.band__cap{display:flex;justify-content:space-between;gap:20px;padding-top:16px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
/* sections */
.sec{padding:110px 0}
.sec--alt{background:var(--navy2)}
.sec__head{max-width:640px;margin-bottom:64px}
.sec__head h2{font-size:clamp(36px,4.6vw,54px);margin-top:16px}
.sec__head p{color:var(--mut);margin-top:16px;font-size:18px}
/* service rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:64px 1.1fr 1.4fr 44px;gap:24px;align-items:center;padding:32px 10px;border-bottom:1px solid var(--line);color:var(--ink);transition:background .25s,padding .25s}
.row:hover{background:rgba(201,168,76,.06);padding-left:22px}
.row__n{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold)}
.row__t{font-family:var(--serif);font-size:29px;font-weight:500}
.row__d{font-size:15.5px;color:var(--mut)}
.row__a{font-size:22px;color:var(--gold);text-align:right;transition:transform .25s}
.row:hover .row__a{transform:translateX(6px)}
/* bundle */
.bundle{margin-top:70px;border:1px solid var(--gold);padding:44px 48px;display:flex;align-items:center;gap:48px;flex-wrap:wrap}
.bundle__pct{font-family:var(--serif);font-size:96px;line-height:1;color:var(--goldl);font-weight:500}
.bundle__pct sup{font-size:36px;vertical-align:super}
.bundle__t{font-family:var(--serif);font-size:27px;margin-bottom:8px}
.bundle__b{color:var(--mut);font-size:15.5px;max-width:520px}
/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.step{border-top:1px solid var(--line);padding-top:22px}
.step__n{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold)}
.step h3{font-size:23px;margin:10px 0 10px}
.step p{font-size:15px;color:var(--mut)}
/* about */
.about{display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:start}
.about__ph{position:relative}
.about__ph img{filter:saturate(.92)}
.about__cap{position:absolute;left:0;bottom:0;background:var(--navy);color:var(--goldl);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;padding:10px 18px}
.about__txt p{color:var(--mut);margin-bottom:20px;font-size:16.5px}
.about__txt .lede{font-family:var(--serif);font-size:24px;color:var(--ink);line-height:1.4}
.about__sig{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--goldl)}
/* review */
.review{text-align:center;max-width:820px;margin:0 auto}
.review blockquote{font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);line-height:1.35;font-weight:500;margin:26px 0}
.review__meta{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.review__meta b{color:var(--ink);font-weight:500}
.review__g{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:3px}
/* area */
.area{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 56px}
.area h3{font-size:20px;color:var(--goldl);margin-bottom:14px;font-weight:500}
.area ul{list-style:none;columns:2;column-gap:24px}
.area li{font-size:15px;color:var(--mut);padding:3px 0}
.area__foot{margin-top:54px;color:var(--mut);font-size:15.5px}
/* faq */
.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 4px;font-family:var(--serif);font-size:23px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--sans);font-weight:300;font-size:26px;color:var(--gold);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 4px 26px;color:var(--mut);font-size:16px;max-width:640px}
/* quote */
.quote{display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:start}
.quote__perks{list-style:none;margin-top:30px}
.quote__perks li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--mut);display:flex;gap:12px;align-items:baseline}
.quote__perks li::before{content:'';width:14px;height:1px;background:var(--gold);flex:none;align-self:flex-start;margin-top:0.72em}
.quote__panel{background:#F4EFE2;padding:14px;min-height:520px}
.quote__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:492px;color:#5b6472;font-size:15px;text-align:center;padding:24px}
.quote__ph a{color:#8a6d23}
/* footer */
.ft{border-top:1px solid var(--line);padding:70px 0 0;background:var(--navy)}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:60px}
.ft__name{font-family:var(--serif);font-size:24px;letter-spacing:.18em;margin:14px 0 4px}
.ft__tag{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.ft h5{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--goldl);font-weight:500;margin-bottom:16px}
.ft ul{list-style:none}
.ft li{padding:5px 0;font-size:14.5px;color:var(--mut)}
.ft li a{color:var(--mut)}
.ft li a:hover{color:var(--goldl)}
.ft__fine{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--mut)}
/* sticky quote */
.qbtn{position:fixed;right:26px;bottom:26px;z-index:60;background:var(--gold);color:#0C1422;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;box-shadow:0 10px 30px rgba(0,0,0,.45);opacity:0;transform:translateY(14px);pointer-events:none;transition:all .35s}
.qbtn.on{opacity:1;transform:none;pointer-events:auto}
.qbtn:hover{background:var(--goldl);color:#0C1422}
/* service detail pages */
.sd-hero{padding:170px 0 90px;background:var(--navy2)}
.sd-hero__grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:center}
.sd-hero h1{font-size:clamp(48px,6.5vw,84px);margin:18px 0 8px}
.sd-hero__lede{font-size:19px;color:var(--mut);max-width:520px;margin:14px 0 36px}
.sd-hero__ph{aspect-ratio:4/3;background-size:cover;background-position:center;filter:saturate(.92);border:1px solid var(--line)}
.sd-back{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.sd-back:hover{color:var(--goldl)}
.inc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;border-top:1px solid var(--line);max-width:900px}
.inc li{list-style:none;padding:18px 4px;border-bottom:1px solid var(--line);font-size:16px;color:var(--mut);display:flex;gap:14px;align-items:baseline}
.inc li::before{content:'';width:14px;height:1px;background:var(--gold);flex:none;align-self:flex-start;margin-top:0.72em}
.sd-steps{max-width:760px}
.sd-step{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}
.sd-step__n{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold)}
.sd-step h3{font-size:24px;margin-bottom:8px}
.sd-step p{color:var(--mut);font-size:16px}
.sd-note{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--goldl);max-width:700px;line-height:1.45;margin-top:54px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:900px}
.ba figure{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.ba img{width:100%;height:100%;object-fit:cover}
.ba figcaption{position:absolute;top:14px;left:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:7px 14px}
.ba .b{background:rgba(12,20,34,.85);color:var(--ink)}
.ba .a{background:var(--gold);color:#0C1422}
.cta{background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:96px 28px}
.cta h2{font-size:clamp(34px,4.5vw,52px)}
.cta p{color:var(--mut);margin:16px auto 36px;max-width:480px}
.more{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px}
.more a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);padding:11px 20px;transition:all .25s}
.more a:hover{color:var(--goldl);border-color:var(--gold)}
@media(max-width:960px){
.hd__nav,.hd__tel{display:none}
.hd__burger{display:block;margin-left:auto}
.hd.open .hd__nav{display:flex;position:fixed;inset:69px 0 auto 0;background:var(--navy2);flex-direction:column;padding:28px;gap:22px;border-bottom:1px solid var(--line)}
.steps{grid-template-columns:1fr 1fr}
.about,.quote,.sd-hero__grid{grid-template-columns:1fr;gap:44px}
.area{grid-template-columns:1fr 1fr}
.ft__grid{grid-template-columns:1fr 1fr}
.row{grid-template-columns:44px 1fr auto;gap:10px 18px}
.row__d{grid-column:2/4;grid-row:2}
.row__a{display:none}
}
@media(max-width:560px){.steps,.area,.inc,.ba{grid-template-columns:1fr}.bundle{padding:32px 26px;gap:24px}}
