:root{--ink: #0d0d0d;--ink-2: #2a2a2a;--ink-3: #6a6a6a;--ink-4: #a8a8a8;--paper: #fbf8f1;--paper-2: #f4eedf;--paper-3: #ebe2cb;--gold: #c9a14a;--gold-deep: #8f6d1f;--gold-soft: #f4ead2;--rule: rgba(13, 13, 13, .12);--shadow-card: 0 24px 60px -30px rgba(13, 13, 13, .25)}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:-.01em;margin:0;color:var(--ink)}h1{font-size:clamp(44px,6vw,80px);line-height:1.02}h2{font-size:clamp(32px,3.8vw,52px);line-height:1.08}h3{font-size:26px;line-height:1.2;font-weight:600}h4{font-size:18px;line-height:1.3;font-weight:600}p{margin:0 0 1em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none;margin:0;padding:0}.eyebrow{font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}.eyebrow.on-dark{color:var(--gold)}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}section{padding:110px 0}@media(max-width:720px){section{padding:72px 0}.wrap{padding:0 22px}}.rule{display:flex;align-items:center;gap:14px;color:var(--gold-deep)}.rule i{flex:1;height:1px;background:var(--rule);display:block}.rule i.short{max-width:60px;flex:0 0 60px}.rule span{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:500}.rule.center{justify-content:center}.rule.center i{max-width:60px}.rule.on-dark{color:var(--gold)}.rule.on-dark i{background:#c9a14a59}.nav{position:sticky;top:0;z-index:40;background:#fbf8f1e0;backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--rule)}.nav .inner{max-width:1240px;margin:0 auto;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:24px;letter-spacing:.01em;color:var(--ink);display:flex;align-items:baseline;gap:8px;white-space:nowrap}.logo .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;transform:translateY(-2px)}.nav-links{display:flex;gap:28px;font-size:14px;color:var(--ink-2);font-weight:400}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--gold-deep)}.nav-cta{display:flex;align-items:center;gap:14px}.nav-cta .phone{font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:6px}.nav-cta .phone b{font-weight:600;color:var(--ink)}.nav-toggle{display:none;background:none;border:none;width:36px;height:36px;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .25s}@media(max-width:980px){.nav-links,.nav-cta .phone-label{display:none}}@media(max-width:720px){.nav .inner{padding:14px 22px}.nav-cta{display:none}.nav-toggle{display:flex}.nav.open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--rule);padding:14px 22px 22px;gap:14px}.nav.open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.open .nav-toggle span:nth-child(2){opacity:0}.nav.open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;letter-spacing:.02em;padding:14px 22px;border-radius:2px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:all .2s ease;text-align:center}.btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--paper)}.btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn.gold:hover{background:var(--ink);color:var(--gold);border-color:var(--ink)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn .arr{transition:transform .25s ease}.btn:hover .arr{transform:translate(4px)}.hero{padding-top:64px;padding-bottom:80px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero h1{margin-top:22px}.hero h1 em{font-style:italic;color:var(--gold-deep);font-weight:500;position:relative;white-space:nowrap}.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:8px;background:var(--gold-soft);z-index:-1;border-radius:2px}.hero .lede{color:var(--ink-2);font-size:17px;max-width:44ch;margin-top:22px}.hero .lede b{font-weight:600;color:var(--ink)}.hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.hero-stats{display:grid;grid-template-columns:repeat(3,auto);gap:40px;margin-top:44px;padding-top:28px;border-top:1px solid var(--rule);max-width:520px}@media(max-width:520px){.hero-stats{grid-template-columns:repeat(3,1fr);gap:18px}}.hero-stats .stat b{font-family:Cormorant Garamond,Georgia,serif;font-size:38px;font-weight:500;color:var(--ink);line-height:1;display:block}.hero-stats .stat b i{color:var(--gold-deep);font-style:normal}.hero-stats .stat span{font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;display:block}.lead-card{background:var(--paper);border:1px solid var(--rule);padding:36px 32px;position:relative;box-shadow:var(--shadow-card)}.lead-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--gold)}.lead-card .eyebrow{margin-bottom:10px}.lead-card h3{font-size:28px;line-height:1.2;margin:0}.lead-card h3 em{font-style:italic;color:var(--gold-deep)}.lead-card .sub{color:var(--ink-3);font-size:14px;margin-top:8px}.lead-form{display:grid;gap:14px;margin-top:22px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.field input,.field select,.field textarea{font-family:inherit;font-size:15px;padding:11px 0;border:none;border-bottom:1px solid rgba(13,13,13,.25);background:transparent;color:var(--ink);outline:none;transition:border-color .2s;border-radius:0;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--gold-deep)}.field select{padding-right:20px;cursor:pointer}.lead-form .btn{width:100%;margin-top:6px}.lead-form .foot{margin-top:14px;font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:8px}.lead-form .foot:before{content:"";width:12px;height:12px;flex-shrink:0;background:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center/contain;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center/contain}.ic{flex-shrink:0;vertical-align:middle}.ft-link{display:inline-flex;align-items:center;gap:8px}.form-success{padding:32px 8px;text-align:center}.form-success__icon{margin-bottom:14px;color:var(--gold-deep);display:inline-flex}.form-success h3{font-size:26px;margin-bottom:10px;color:var(--ink)}.form-success p{color:var(--ink-3);font-size:15px;line-height:1.6;margin:0}.about{background:var(--paper-2)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}@media(max-width:980px){.about-grid{grid-template-columns:1fr;gap:36px}}.portrait{aspect-ratio:4 / 5;background:var(--paper-3);position:relative;overflow:hidden}.portrait img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%}.portrait .badge{position:absolute;left:-1px;bottom:24px;background:var(--ink);color:var(--gold);padding:14px 20px;font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-style:italic;z-index:2}.portrait .badge span{display:block;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-style:normal;margin-top:2px}.about h2{margin-top:18px}.about h2 em{font-style:italic;color:var(--gold-deep)}.about-body{color:var(--ink-2);font-size:17px;max-width:54ch;margin-top:22px}.pillars{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin-top:40px}@media(max-width:520px){.pillars{grid-template-columns:1fr}}.pillar{border-top:1px solid var(--rule);padding-top:18px}.pillar .num{font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-style:italic;color:var(--gold-deep);letter-spacing:.05em}.pillar h4{font-family:Inter,sans-serif;font-size:15px;font-weight:600;margin-top:2px;color:var(--ink)}.pillar p{font-size:14px;color:var(--ink-3);margin:4px 0 0;line-height:1.55}.project-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}.project-head h2{max-width:14ch;margin-top:14px}.project-head h2 em{font-style:italic;color:var(--gold-deep)}.project-head .meta{color:var(--ink-3);font-size:14px;max-width:38ch}.pcard{display:grid;grid-template-columns:1.3fr 1fr;gap:0;border:1px solid var(--rule);background:var(--paper);overflow:hidden}@media(max-width:900px){.pcard{grid-template-columns:1fr}}.pcard-media{position:relative;min-height:520px;display:flex;align-items:flex-start;padding:28px;overflow:hidden}.pcard-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.pcard-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0d0d0d80,#0d0d0d26);z-index:1}.pcard-media .chip-row{position:relative;z-index:2;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.pcard-media{min-height:360px}}@media(max-width:520px){.pcard-media{min-height:280px}}.chip{background:#0d0d0dd1;color:var(--gold);padding:6px 12px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(201,161,74,.4)}.chip.solid{background:var(--gold);color:var(--ink);border-color:var(--gold)}.pcard-body{padding:40px 36px;display:flex;flex-direction:column;justify-content:center}@media(max-width:520px){.pcard-body{padding:28px 22px}}.pcard-body .cdt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:500}.pcard-body h3{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(32px,4vw,44px);font-weight:500;margin-top:8px;line-height:1}.pcard-body .loc{color:var(--ink-3);font-size:14px;margin-top:6px}.pcard-body .desc{color:var(--ink-2);font-size:15px;margin-top:18px;line-height:1.6}.pcard-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}.pcard-stats .stat b{font-family:Cormorant Garamond,Georgia,serif;font-size:26px;color:var(--ink);font-weight:500;display:block;line-height:1}.pcard-stats .stat b i{color:var(--gold-deep);font-style:normal}.pcard-stats .stat span{font-size:12px;color:var(--ink-3);letter-spacing:.06em;margin-top:4px;display:block}.pcard-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}@media(max-width:720px){.gallery{grid-template-columns:repeat(2,1fr)}}.gallery .g{aspect-ratio:4 / 3;position:relative;overflow:hidden;background:var(--paper-3)}.gallery .g img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery .g:hover img{transform:scale(1.04)}.gallery .g-more:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0d0d0db3}.g-more-label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:Inter,sans-serif;font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:500}.upcoming{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:720px){.upcoming{grid-template-columns:1fr}}.up{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:22px;border:1px solid var(--rule);align-items:center;background:var(--paper)}.up .up-ph{aspect-ratio:1 / 1;background-size:cover;background-position:center;background-color:var(--paper-3)}.up .eyebrow{font-size:10px;margin-bottom:4px}.up h4{font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:500}.up .loc{color:var(--ink-3);font-size:13px;margin-top:4px}.testi{background:var(--ink);color:var(--paper-2)}.testi h2{color:var(--paper);max-width:16ch;margin-top:14px}.testi h2 em{font-style:italic;color:var(--gold)}.testi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;flex-wrap:wrap}.testi-head .rating{display:flex;align-items:center;gap:14px;color:var(--gold-soft);font-size:14px}.testi-head .stars{color:var(--gold);font-size:18px;letter-spacing:.12em}.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}@media(max-width:900px){.t-grid{grid-template-columns:1fr}}.t{padding:32px;background:#ffffff08;border:1px solid rgba(201,161,74,.2);position:relative;display:flex;flex-direction:column}.t:before{content:"“";position:absolute;top:8px;left:22px;font-family:Cormorant Garamond,Georgia,serif;font-size:80px;color:var(--gold);line-height:1;opacity:.5}.t .stars{color:var(--gold);letter-spacing:.12em;font-size:14px;position:relative}.t p{font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-weight:400;font-style:italic;color:var(--paper);line-height:1.45;margin:14px 0 22px;position:relative}.t .who{display:flex;align-items:center;gap:12px;margin-top:auto}.t .ava{width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:16px;flex-shrink:0}.t .who .name{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--paper)}.t .who .meta{font-size:12px;color:var(--ink-4);letter-spacing:.04em}.faq-head{text-align:center;margin-bottom:56px}.faq-head h2{margin-top:14px}.faq-head h2 em{font-style:italic;color:var(--gold-deep)}.faq-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}@media(max-width:900px){.faq-wrap{grid-template-columns:1fr}}.faq-list{border-top:1px solid var(--rule)}.faq-item{border-bottom:1px solid var(--rule);padding:22px 0;cursor:pointer}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:17px;font-weight:500;color:var(--ink)}.faq-item summary::-webkit-details-marker{display:none}.faq-item .ico{font-family:Cormorant Garamond,Georgia,serif;font-size:26px;color:var(--gold-deep);transition:transform .25s;line-height:1}.faq-item[open] .ico{transform:rotate(45deg)}.faq-item .body{padding-top:14px;color:var(--ink-2);font-size:15px;line-height:1.65;max-width:56ch}.lead-side{background:var(--paper-2);padding:36px 32px;position:relative;border:1px solid var(--rule)}.lead-side:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--gold)}.lead-side h3{font-size:28px;line-height:1.2}.lead-side h3 em{font-style:italic;color:var(--gold-deep)}.lead-side .sub{color:var(--ink-3);font-size:14px;margin-top:8px}.footer{background:var(--ink);color:var(--paper-3);padding:72px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}.footer .logo{font-family:Cormorant Garamond,Georgia,serif;font-size:28px;color:var(--paper);font-weight:600}.footer .tag{font-size:14px;color:var(--ink-4);margin-top:12px;max-width:30ch;line-height:1.6}.footer .socials{display:flex;gap:10px;margin-top:18px}.footer .socials a{width:36px;height:36px;border:1px solid rgba(201,161,74,.35);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:14px;transition:all .2s}.footer .socials a:hover{background:var(--gold);color:var(--ink)}.footer h5{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-weight:600}.footer ul{display:grid;gap:10px;font-size:14px}.footer ul a{color:var(--paper-3);transition:color .2s}.footer ul a:hover{color:var(--gold)}.footer .muted{color:var(--ink-4)}.footer-bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-4);letter-spacing:.04em;flex-wrap:wrap;gap:8px}.float-cta{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;flex-direction:column;gap:10px}.float-cta a{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 10px 24px -8px #0d0d0d80;transition:all .2s;border:1px solid var(--gold);text-decoration:none}.float-cta a:hover,.float-cta .phone-float{background:var(--gold);color:var(--ink)}.float-cta .phone-float:hover{background:var(--ink);color:var(--gold)}@media(max-width:520px){.float-cta{right:16px;bottom:16px}.float-cta a{width:48px;height:48px;font-size:20px}}.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}html.js .reveal{opacity:0;transform:translateY(16px)}html.js .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal,html.js .reveal{opacity:1;transform:none;transition:none}}
