:root { --ink:#18242e; --muted:#536068; --bronze:#8c653b; --gold:#c9a477; --cream:#fcfaf6; --stone:#f1eee7; --line:#deddd5; --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.65 var(--sans); }
main:focus { outline:none; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:auto; }
figure,p { margin:0; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--bronze); outline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; background:var(--ink); color:white; padding:12px 20px; }
.skip-link:focus { top:12px; }
.shell { padding-inline:max(5vw,24px); }
.eyebrow { font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--bronze); }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.1; letter-spacing:-.04em; margin:0; }
h1 { font-size:clamp(48px,5.2vw,78px); }
h2 { font-size:clamp(36px,4vw,59px); }
h3 { font-size:27px; }
h1 i,h2 i { color:var(--bronze); font-weight:400; }
.icon { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.text-link span { font-size:20px; text-decoration:none; }
.text-link:hover { color:var(--bronze); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:26px; padding:16px 21px; border:1px solid transparent; font-size:12px; font-weight:600; cursor:pointer; }
.button span { font-size:19px; line-height:1; }
.button-dark,.nav-cta { color:var(--cream); background:var(--ink); }
.button-dark:hover,.nav-cta:hover { background:#33444e; }
.site-header { height:84px; padding-inline:max(5vw,24px); border-bottom:1px solid var(--line); background:rgba(252,250,246,.98); display:flex; align-items:center; justify-content:space-between; gap:24px; position:sticky; top:0; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:12px; font:26px var(--serif); letter-spacing:-1px; white-space:nowrap; }
.brand em { font-size:23px; }
.brand-mark { position:relative; display:flex; align-items:center; justify-content:space-between; width:30px; height:29px; flex-shrink:0; }
.brand-mark i { width:5px; height:25px; background:currentColor; }
.brand-mark b { position:absolute; height:5px; width:20px; left:0; background:#967c32; }
.primary-nav { display:flex; align-items:center; gap:25px; font-size:12px; font-weight:600; }
.primary-nav>a:not(.nav-cta):hover { color:var(--bronze); }
.nav-cta { padding:12px 17px; display:inline-flex; align-items:center; gap:20px; }
.menu-toggle { display:none; border:1px solid var(--line); padding:8px 12px; background:transparent; color:var(--ink); font-size:12px; }
.hero { padding-block:58px 68px; }
.hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:5vw; align-items:center; }
.hero-copy h1 { margin:25px 0; }
.hero-copy>p:not(.eyebrow):not(.hero-location) { max-width:440px; color:var(--muted); font-size:17px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:30px; }
.hero-location { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; margin-top:35px; }
.hero-location .icon { width:18px; height:18px; }
.hero-photo { position:relative; }
.hero-photo>img { height:530px; object-fit:cover; }
.hero-photo::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(16,25,30,.7)); pointer-events:none; }
.hero-photo figcaption { position:absolute; bottom:28px; left:28px; right:24px; color:white; z-index:1; font:25px/1.25 var(--serif); letter-spacing:-.02em; }
.hero-photo figcaption span { display:block; margin-top:8px; font:11px var(--sans); letter-spacing:.04em; }
.source-section { display:grid; grid-template-columns:1fr 1.25fr; gap:9vw; padding-block:70px 85px; border-top:1px solid var(--line); }
.source-intro h2 { margin:20px 0; }
.source-intro>p:last-child { color:var(--muted); }
.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px 40px; }
.product-card .icon { color:var(--bronze); margin-bottom:13px; }
.product-card h3 { font-size:25px; margin-bottom:8px; }
.product-card p { color:var(--muted); font-size:13px; max-width:220px; }
.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:44px; }
.section-heading h2 { margin-top:18px; }
.section-summary { margin-top:18px; color:var(--muted); max-width:560px; font-size:15px; }
.section-heading>.text-link { flex-shrink:0; margin-bottom:5px; }
.dark-section { color:var(--cream); background:var(--ink); }
.dark-section .eyebrow,.dark-section h2 i,.dark-section .icon { color:var(--gold); }
.dark-section .section-summary,.dark-section .service-card p { color:#c4c9cb; }
.dark-section .text-link:hover { color:var(--gold); }
.services-section { padding-block:80px; }
.service-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:25px; }
.service-card { padding-top:27px; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; }
.dark-section .service-card { border-color:#53606a; }
.service-card>.icon { margin-bottom:22px; color:var(--bronze); }
.dark-section .service-card>.icon { color:var(--gold); }
.service-card h3 { font-size:25px; line-height:1.12; margin-bottom:12px; }
.service-card h2 { font-size:31px; margin-bottom:15px; }
.service-card p { font-size:13px; color:var(--muted); margin-bottom:24px; max-width:330px; }
.service-card .text-link { margin-top:auto; font-size:11px; gap:10px; }
.spaces-section,.guides-section { padding-block:90px; }
.space-grid,.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.image-link { display:block; overflow:hidden; }
.image-link img { transition:transform .35s; }
.image-link:hover img { transform:scale(1.025); }
.space-card img { aspect-ratio:1.05; object-fit:cover; }
.space-card .eyebrow { font-size:9px; margin-top:22px; }
.space-card h3,.space-card h2 { margin:10px 0; font-size:30px; }
.space-card>p:not(.eyebrow) { color:var(--muted); font-size:14px; max-width:310px; margin-bottom:18px; }
.image-note { font-size:11px; color:var(--muted); margin-top:30px; }
.process-section { background:var(--stone); padding-block:80px; }
.step-grid { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px; }
.step-grid li { border-top:1px solid #b6b7ae; padding-top:24px; }
.step-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:27px; }
.step-top .icon { color:var(--bronze); }
.step-top span,.step-number { font:11px var(--sans); color:var(--muted); letter-spacing:.1em; }
.step-grid h3 { margin-bottom:12px; font-size:29px; }
.step-grid p { max-width:220px; color:var(--muted); font-size:14px; }
.guide-card { border:1px solid var(--line); display:flex; flex-direction:column; }
.guide-card img { aspect-ratio:1.8; object-fit:cover; }
.guide-copy { padding:25px; display:flex; align-items:flex-start; flex-direction:column; flex:1; }
.guide-label { display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--bronze); }
.guide-label .icon { width:23px; height:23px; }
.guide-copy h3,.guide-copy h2 { font-size:29px; line-height:1.15; margin:17px 0 12px; }
.guide-copy p { color:var(--muted); font-size:13px; margin-bottom:22px; }
.guide-copy .text-link { margin-top:auto; }
.faq-section { padding-block:75px; background:var(--stone); display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; }
.faq-intro>.icon { color:var(--bronze); margin-bottom:22px; }
.faq-intro h2 { margin-top:18px; }
.faq-list { border-top:1px solid #bfc0b6; }
.faq-list details { padding:22px 0; border-bottom:1px solid #bfc0b6; }
.faq-list summary { font-size:16px; font-weight:500; line-height:1.5; display:flex; gap:25px; justify-content:space-between; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; color:var(--bronze); font-size:21px; line-height:1; flex-shrink:0; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { padding-top:17px; color:var(--muted); font-size:14px; max-width:540px; }
.contact-section { padding-block:90px; display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; }
.contact-copy h2 { margin:20px 0 25px; }
.contact-copy>p:not(.eyebrow) { color:var(--muted); font-size:15px; }
.contact-points { display:flex; flex-direction:column; gap:14px; margin:32px 0; }
.contact-points span { display:flex; gap:14px; align-items:center; font-size:13px; }
.contact-points .icon { width:23px; height:23px; color:var(--bronze); }
.contact-email { display:inline-flex; align-items:center; gap:12px; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.contact-email .icon { width:23px; height:23px; }
.contact-copy .small-note { margin-top:12px; font-size:11px!important; }
.contact-form,.optional-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:25px 23px; align-content:start; }
.full-width { grid-column:1 / -1; }
.form-intro { color:var(--muted); font-size:12px; }
.contact-form label { display:flex; flex-direction:column; font-size:12px; gap:8px; }
.contact-form input,.contact-form select,.contact-form textarea { min-width:0; width:100%; background:transparent; border:0; border-bottom:1px solid #91998f; border-radius:0; padding:10px 0; font-size:14px; color:var(--ink); }
.contact-form textarea { resize:vertical; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#707777; }
.optional-fields summary { cursor:pointer; font-size:12px; }
.optional-fields summary span { color:var(--muted); font-size:10px; margin-left:10px; }
.optional-grid { margin-top:22px; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.turnstile-field { min-height:65px; }
.contact-form .button { width:max-content; }
.button:disabled { opacity:.6; cursor:not-allowed; }
.form-status,.privacy-note,.contact-form noscript { grid-column:1 / -1; font-size:12px; }
.form-status:empty { display:none; }
.form-status.is-success { color:#23623b; }
.form-status.is-error { color:#9b2c2c; }
.privacy-note { color:var(--muted); }
.privacy-note a { text-decoration:underline; }
.site-footer { padding-block:45px 25px; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:30px; background:#101a21; color:var(--cream); }
.site-footer p { font-size:12px; color:#b9c0c2; }
.footer-note { grid-column:1 / -1; border-top:1px solid #38464e; padding-top:20px; margin-top:5px; display:flex; flex-wrap:wrap; gap:6px; font-size:10px!important; }
.footer-note>a { margin-left:auto; text-decoration:underline; }
.breadcrumbs { font-size:11px; color:var(--muted); display:flex; gap:12px; flex-wrap:wrap; margin-bottom:50px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.page-hero { padding-block:32px 58px; border-bottom:1px solid var(--line); }
.page-hero h1 { margin:18px 0 22px; max-width:920px; }
.page-hero>p:last-child { max-width:620px; color:var(--muted); font-size:17px; }
.page-cta { padding-block:65px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:40px; }
.page-cta .icon { color:var(--bronze); margin-bottom:22px; }
.page-cta h2 { margin:18px 0; }
.page-cta p:last-child { color:var(--muted); font-size:14px; }
.page-cta>.button { flex-shrink:0; }
.service-index,.guide-index { padding-block:55px 85px; }
.service-index .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 40px; }
.service-index .service-card p { font-size:15px; }
.service-detail,.guide-detail { padding-block:45px 75px; }
.result-strip { display:flex; align-items:center; gap:22px; padding:26px 30px; background:var(--stone); margin-bottom:40px; }
.result-strip>.icon { width:42px; height:42px; color:var(--bronze); }
.result-strip p { font:26px/1.3 var(--serif); letter-spacing:-.02em; margin-top:8px; }
.detail-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.detail-steps article { padding:27px 0; border-top:1px solid var(--line); }
.detail-steps .icon { color:var(--bronze); }
.detail-steps .step-number { float:right; padding-top:8px; }
.detail-steps h2 { font-size:30px; margin:24px 0 14px; }
.detail-steps p { color:var(--muted); font-size:15px; max-width:440px; }
.detail-pair { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:30px; }
.detail-pair article { border:1px solid var(--line); padding:30px; }
.detail-pair .icon { color:var(--bronze); width:28px; height:28px; }
.detail-pair h2 { margin:18px 0; font-size:28px; }
.detail-pair ul { margin:0; padding-left:20px; color:var(--muted); font-size:14px; }
.detail-pair li { padding:5px 0; }
.scope-note { padding:20px 0 0; font-size:12px; color:var(--muted); max-width:750px; }
.space-nav { display:flex; flex-wrap:wrap; gap:35px; padding-block:23px; background:var(--stone); }
.space-detail { display:grid; grid-template-columns:1fr 1.15fr; gap:7vw; padding-block:65px; border-bottom:1px solid var(--line); }
.space-detail figure img { aspect-ratio:1; object-fit:cover; }
.space-detail figcaption,.guide-banner figcaption { font-size:10px; color:var(--muted); margin-top:10px; }
.space-detail h2 { font-size:43px; margin:18px 0; }
.space-lead { color:var(--muted); font-size:16px; }
.visual-list { list-style:none; margin:25px 0; padding:0; }
.visual-list li { display:flex; gap:22px; padding:18px 0; border-top:1px solid var(--line); }
.visual-list li>span { color:var(--bronze); font-size:10px; padding-top:4px; }
.visual-list h3 { font-size:24px; margin-bottom:9px; }
.visual-list p { font-size:13px; color:var(--muted); }
.bring-note { display:flex; gap:18px; padding:18px; background:var(--stone); align-items:center; }
.bring-note .icon { color:var(--bronze); width:26px; height:26px; }
.bring-note p { font-size:12px; color:var(--muted); }
.guide-banner { margin-bottom:40px; }
.guide-banner img { height:300px; object-fit:cover; object-position:center 55%; }
.guide-detail .detail-steps { grid-template-columns:1fr 1fr; gap:20px 50px; }
.takeaway { display:flex; gap:24px; padding:28px; background:var(--stone); margin:25px 0; align-items:center; }
.takeaway .icon { color:var(--bronze); }
.takeaway h2 { font-size:25px; margin-bottom:10px; }
.takeaway p { color:var(--muted); font-size:14px; }
.legal-copy { max-width:920px; padding-block:20px 80px; }
.legal-copy h2 { font-size:30px; margin:35px 0 16px; }
.legal-copy p { color:var(--muted); }
.legal-copy a { text-decoration:underline; }
@media(min-width:1550px) { .shell,.site-header { padding-inline:max(5vw,calc((100vw - 1380px)/2)); } }
@media(max-width:1080px) {
  .primary-nav { gap:16px; font-size:11px; }
  .brand { font-size:24px; }.brand em { font-size:20px; }
  .hero-grid { gap:35px; }.hero-photo>img { height:490px; }
  .hero h1 { font-size:clamp(46px,5.2vw,58px); }
  .hero-actions { gap:20px; }
  .service-grid { gap:20px; }.service-card h3 { font-size:23px; }
  .service-card .text-link { font-size:10px; }
  .guide-copy { padding:20px; }
}
@media(max-width:850px) {
  html { scroll-padding-top:85px; }
  .site-header { height:70px; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; position:absolute; inset:70px 0 auto; padding:22px 24px; background:var(--cream); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:4px; font-size:14px; }
  .primary-nav.is-open { display:flex; }
  .primary-nav>a { padding:12px; }.primary-nav .nav-cta { margin-top:10px; justify-content:space-between; }
  .hero { padding-block:38px 55px; }
  .hero-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .hero h1 { font-size:44px; }.hero-copy>p:not(.eyebrow):not(.hero-location) { font-size:15px; }
  .hero-photo>img { height:480px; }
  .hero-actions { gap:18px; }.hero-actions .button { padding:14px; font-size:11px; }
  .source-section { gap:40px; }.product-grid { gap:25px; }
  .service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 25px; }
  .service-card h3 { font-size:26px; }.service-card .text-link { font-size:11px; }
  .space-grid,.guide-grid { gap:20px; }.space-card h3 { font-size:26px; }
  .guide-copy h3,.guide-copy h2 { font-size:25px; }
  .step-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .step-grid p { max-width:300px; }
  .contact-section,.faq-section { gap:45px; }
  .space-detail { gap:35px; }
  .space-detail h2 { font-size:35px; }
}
@media(max-width:650px) {
  .shell,.site-header { padding-inline:22px; }
  h1 { font-size:43px; } h2 { font-size:39px; }
  .hero-grid { grid-template-columns:1fr; gap:35px; }
  .hero h1 { font-size:clamp(40px,10.5vw,58px); }
  .hero-copy h1 { margin:22px 0; }
  .hero-copy>p:not(.eyebrow):not(.hero-location) { max-width:410px; font-size:16px; }
  .hero-photo>img { height:auto; aspect-ratio:1.12; object-fit:cover; }
  .hero-location { margin-top:23px; }
  .hero-photo figcaption { font-size:23px; bottom:22px; left:22px; }
  .source-section { grid-template-columns:1fr; padding-block:50px; gap:32px; }
  .source-intro h2 { margin-block:17px; }
  .product-grid { gap:30px 20px; }
  .product-card h3 { font-size:25px; }
  .product-card p { font-size:12px; }
  .section-heading { flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:33px; }
  .section-summary { font-size:14px; }
  .services-section,.spaces-section,.process-section,.guides-section,.contact-section,.faq-section { padding-block:55px; }
  .service-grid,.service-index .service-grid { grid-template-columns:1fr; gap:30px; }
  .service-card { display:grid; grid-template-columns:40px 1fr; column-gap:18px; align-items:start; padding-top:25px; }
  .service-card>.icon { grid-row:1 / 4; margin:0; width:29px; height:29px; }
  .service-card h2,.service-card h3 { font-size:27px; margin-bottom:10px; }
  .service-card p { font-size:14px; margin-bottom:14px; max-width:none; }
  .service-card .text-link { grid-column:2; width:max-content; font-size:12px; }
  .space-grid,.guide-grid { grid-template-columns:1fr; gap:35px; }
  .space-card img { aspect-ratio:1.3; }.space-card h3 { font-size:31px; }
  .space-card .eyebrow { margin-top:18px; }.space-card>p:not(.eyebrow) { max-width:100%; }
  .step-grid { gap:30px 24px; }.step-grid h3 { font-size:28px; }.step-grid p { font-size:13px; }
  .step-top { margin-bottom:22px; }.step-top .icon { width:29px; height:29px; }
  .guide-card img { aspect-ratio:2; }.guide-copy { padding:24px; }.guide-copy h3,.guide-copy h2 { font-size:29px; }
  .faq-section,.contact-section { grid-template-columns:1fr; gap:32px; }
  .faq-intro>.icon { margin-bottom:14px; }
  .contact-copy h2 { margin-bottom:20px; }
  .contact-points { gap:10px; margin-block:25px; }
  .contact-form { gap:23px 18px; }
  .contact-form .button { max-width:100%; }
  .contact-form label { font-size:11px; }.contact-form input,.contact-form textarea,.contact-form select { font-size:16px; }
  .site-footer { grid-template-columns:1fr 1fr; gap:25px; }
  .site-footer .brand { grid-column:1 / -1; }
  .site-footer p { font-size:11px; }.footer-note { font-size:9px!important; }
  .breadcrumbs { margin-bottom:30px; gap:9px; }
  .page-hero { padding-block:25px 40px; }.page-hero h1 { font-size:43px; }.page-hero>p:last-child { font-size:16px; }
  .page-cta { flex-direction:column; align-items:flex-start; gap:23px; padding-block:50px; }
  .page-cta h2 { font-size:39px; }
  .service-index,.guide-index { padding-block:40px 55px; }
  .service-detail,.guide-detail { padding-block:30px 45px; }
  .result-strip { padding:22px; gap:17px; }.result-strip p { font-size:23px; }
  .detail-steps,.guide-detail .detail-steps { grid-template-columns:1fr; gap:10px; }
  .detail-steps article { padding-block:25px; }.detail-steps h2 { font-size:29px; margin-top:17px; }
  .detail-pair { grid-template-columns:1fr; gap:20px; margin-top:10px; }.detail-pair article { padding:25px; }
  .space-nav { gap:12px 25px; }
  .space-detail { grid-template-columns:1fr; gap:30px; padding-block:45px; }
  .space-detail figure img { aspect-ratio:1.25; }.space-detail h2 { font-size:37px; }
  .guide-banner img { height:230px; }.guide-banner { margin-bottom:30px; }
  .takeaway { padding:22px; gap:16px; align-items:flex-start; }
}
@media(max-width:370px) { .shell,.site-header { padding-inline:16px; }.hero h1 { font-size:39px; }.contact-form,.optional-grid { grid-template-columns:1fr; }.turnstile-field { margin-inline:-7px; }.hero-actions { gap:16px; }.site-footer { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
