@charset "UTF-8";

:root{--ink:#163039;--deep:#122c32;--deep2:#0d2228;--cream:#f8f7f2;--paper:#fffefa;--gold:#b89666;--gold-light:#d8ba8b;--muted:#5f6c6e;--line:#dedfd7;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--cream);font-family:var(--sans);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body,button,a{ -webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,svg{max-width:100%;display:block}
::selection{background:#d7b987;color:var(--deep)}
:focus-visible{outline:3px solid #d4ac65;outline-offset:4px}
.container{width:min(100% - 84px,1260px);margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:#fff;color:#112a31;padding:12px 18px;font-weight:700}.skip-link:focus{top:15px}
.top-strip{height:35px;padding:0 max(42px,calc((100vw - 1260px)/2));background:var(--deep);display:flex;align-items:center;justify-content:space-between;color:#cad6d4;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.site-header{position:relative;z-index:20;background:var(--cream);border-bottom:1px solid #e6e5df}
.nav-shell{height:93px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:14px;flex:none}
.brand-mark{width:42px;height:43px;display:block;position:relative;border:1.7px solid var(--deep);transform:skewY(-4deg)}
.brand-mark::before,.brand-mark::after,.brand-mark span::before,.brand-mark span::after{content:"";position:absolute;background:var(--deep)}
.brand-mark::before{height:1.7px;width:31px;top:12px;left:4px;transform:rotate(39deg);transform-origin:left center}
.brand-mark::after{height:1.7px;width:32px;top:31px;left:4px;transform:rotate(-39deg);transform-origin:left center}
.brand-mark span:first-child::before{height:1.7px;width:20px;top:21px;left:11px}
.brand-mark span:last-child::after{height:8px;width:2px;top:17px;left:20px}
.brand-type{font-size:27px;line-height:.95;letter-spacing:.19em;font-weight:740}
.brand-type small{display:block;margin-top:8px;font-size:8px;letter-spacing:.17em;font-weight:600;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:35px;font-size:12px;font-weight:650;letter-spacing:.015em}
.nav-links a:not(.nav-contact){transition:color .2s}.nav-links a:hover{color:#a17e4f}
.nav-contact{border:1px solid var(--deep);padding:14px 18px;display:flex;align-items:center;gap:30px;transition:background .2s,color .2s}
.nav-contact:hover{background:var(--deep);color:white}
.menu-toggle{display:none}
.hero{padding-top:70px;background:var(--cream)}
.hero-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-bottom:36px}
.eyebrow,.section-index{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.17em;color:#9b8059;line-height:1.4}
.eyebrow{margin:0 0 28px}.eyebrow-line{width:34px;height:1px;background:currentColor}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.043em}
h1 em,h2 em{color:var(--gold);font-weight:400}
.hero h1{font-size:clamp(47px,4.2vw,73px);line-height:1.1;margin:0 0 26px;letter-spacing:-.055em;white-space:nowrap}
.hero-lead{font-size:15px;line-height:1.88;max-width:520px;color:var(--muted);margin-bottom:33px}
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 23px;font-size:12px;font-weight:700;letter-spacing:.02em;min-height:57px;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--deep)}.button-primary:hover{background:#294b50}
.button span,.nav-contact span{font-size:18px;font-weight:400;line-height:1}
.text-link,.underlined-link{font-size:12px;font-weight:700}.text-link span,.underlined-link span{margin-left:8px;color:#b58d54}.text-link:hover,.underlined-link:hover{color:#a17e4f}
.hero-meta{margin-top:52px;color:#667474;font-size:11px;display:flex;align-items:center;gap:11px;font-weight:600;letter-spacing:.01em}.dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}.meta-divider{height:16px;width:1px;background:#c1c6c0;margin:0 4px}
.hero-visual{min-height:614px;background:var(--deep);position:relative;overflow:hidden;color:#f6f1e5;isolation:isolate}
.visual-grid{position:absolute;inset:0;opacity:.26;background-image:linear-gradient(#537078 1px,transparent 1px),linear-gradient(90deg,#537078 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(135deg,transparent,black 45%,black)}
.visual-orbit{position:absolute;aspect-ratio:1;border:1px solid rgba(214,193,146,.26);border-radius:50%;transform:rotate(-25deg)}.orbit-a{width:650px;right:-255px;top:42px}.orbit-b{width:475px;right:-157px;top:137px}
.visual-line{height:1px;width:90%;position:absolute;left:8%;background:rgba(227,203,151,.3);transform:rotate(-43deg)}.line-one{top:51%}.line-two{top:68%;transform:rotate(30deg);opacity:.6}
.visual-corner{position:absolute;top:27px;right:30px;font-family:var(--serif);font-size:13px;color:#cfbb92}.visual-corner span{color:#779091}
.visual-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;z-index:1}
.visual-label{font-size:10px;letter-spacing:.36em;color:#d6c39d;white-space:nowrap}
.visual-symbol{font-family:var(--serif);font-size:clamp(165px,17vw,265px);font-weight:400;line-height:1;margin:28px 0 -7px;color:transparent;-webkit-text-stroke:1px rgba(236,219,177,.78);text-shadow:0 0 50px rgba(238,198,124,.055)}
.visual-content p{margin:0;font-family:var(--serif);font-size:24px;line-height:1.32;letter-spacing:-.02em}.visual-content p i{color:var(--gold-light)}
.visual-bottom{position:absolute;left:29px;right:29px;bottom:25px;border-top:1px solid rgba(233,223,194,.32);padding-top:16px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.19em;color:#d7c9aa;z-index:1}
.hero-rule{display:flex;justify-content:space-between;border-bottom:1px solid #d8dcd4;padding:36px 0 21px;font-size:10px;letter-spacing:.2em;font-weight:700;color:#7e8b88}
.section-pad{padding:116px 0}.intro-section{background:var(--cream)}
.intro-layout{display:grid;grid-template-columns:1.03fr .97fr;gap:95px;align-items:start}
.section-index{display:block;margin:0 0 27px}.section-index.light{color:var(--gold-light)}
.section-heading h2,.section-top h2,.contact-layout h2{font-size:clamp(40px,4.1vw,65px);line-height:1.13;margin:0}
.intro-text{padding-top:43px;max-width:520px}.intro-text p{font-size:16px;color:#5c686a;line-height:1.95;margin-bottom:20px}.intro-text strong{color:var(--ink);font-weight:700}.underlined-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #9ba9a3;padding:12px 0;margin-top:15px}
.services-section{background:#eaece7}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:53px}.section-top p{max-width:340px;color:#677374;font-size:14px;line-height:1.8;margin:0 0 7px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.service-card{background:var(--paper);border:1px solid #e2e5dc;min-height:405px;padding:29px 30px 25px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(25,54,60,.07)}
.card-number{font-size:10px;letter-spacing:.15em;font-weight:700;color:#a28457}.card-icon{height:104px;display:flex;align-items:center}.card-icon svg{height:48px;width:48px;stroke:#af976d;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;fill:none}
.service-card h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.035em;margin-bottom:15px}.service-card p{font-size:13px;color:#657274;line-height:1.84;flex:1;margin-bottom:24px}.card-bottom{border-top:1px solid #e5e7df;padding-top:19px;display:flex;align-items:center;justify-content:space-between;color:#81908c;font-size:10px;font-weight:700;letter-spacing:.055em}.card-bottom span{font-size:18px;color:#b49a73}
.approach-section{background:var(--deep);color:#fff;padding-top:125px;padding-bottom:125px;position:relative;overflow:hidden}.approach-section::before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.055);border-radius:50%;left:-380px;top:-130px}
.approach-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:115px}.approach-heading h2{font-size:clamp(43px,4vw,62px);line-height:1.16;margin:0 0 25px}.approach-heading p{max-width:390px;font-size:15px;line-height:1.85;color:#aebdbd}
.approach-steps{border-top:1px solid #496065}.step{display:grid;grid-template-columns:55px 1fr 22px;gap:12px;padding:32px 0;border-bottom:1px solid #496065}.step-no{font-family:var(--serif);color:var(--gold-light);font-size:19px}.step h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 8px}.step p{color:#b7c4c2;font-size:13px;line-height:1.7;max-width:350px;margin:0}.step-arrow{color:#d6ba86;font-size:22px}
.contact-section{background:#f8f7f2}.contact-layout{display:grid;grid-template-columns:1.23fr .77fr;gap:100px}.contact-layout h2{margin-bottom:27px}.contact-layout p{color:#687676;font-size:15px;line-height:1.85;max-width:480px;margin-bottom:30px}.contact-detail{border-left:1px solid #d5dcd6;padding:8px 0 8px 55px}.detail-label{display:block;font-size:10px;font-weight:750;letter-spacing:.17em;color:#a18761;margin-bottom:15px}.detail-label.extra-gap{margin-top:28px}.contact-detail address{font-style:normal;font-size:18px;font-family:var(--serif);line-height:1.7}.contact-detail a{color:#203f46;text-decoration:underline;text-decoration-color:#a5b8b0;text-underline-offset:5px;font-size:14px;overflow-wrap:anywhere}.contact-detail p{font-size:13px;margin:0;color:#6b7677;line-height:1.8}
.site-footer{background:var(--deep2);color:#e7eeea}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:38px 0 30px}.footer-brand{font-weight:750;font-size:28px;letter-spacing:.19em;line-height:1}.footer-brand span{font-size:8px;letter-spacing:.15em;display:block;margin-top:8px;color:#c8d2d0}.footer-links{display:flex;flex-wrap:wrap;gap:28px;font-size:12px}.footer-links a{color:#ccd7d3;transition:color .2s}.footer-links a:hover{color:var(--gold-light)}.footer-inner>p{grid-column:1/-1;border-top:1px solid #334b50;padding-top:22px;margin:5px 0 0;color:#9fb0ae;font-size:11px}

/* Privacy page */
.policy-hero{background:var(--deep);color:#fff;padding:85px 0 88px}.policy-hero h1{font-size:clamp(57px,6vw,92px);line-height:1.02;margin:18px 0 24px}.policy-hero p{font-size:16px;line-height:1.8;max-width:650px;color:#c6d2d0;margin-bottom:28px}.policy-updated{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d7bc8d}
.policy-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:95px;align-items:start;padding-top:77px;padding-bottom:113px}
.policy-toc{display:flex;flex-direction:column;gap:15px;position:sticky;top:30px;border-left:1px solid #ccd5ce;padding:2px 0 2px 25px}.toc-title{font-size:10px;font-weight:750;letter-spacing:.15em;color:#b29568;margin-bottom:10px}.policy-toc a{font-size:12px;line-height:1.5;color:#677775;transition:color .2s}.policy-toc a:hover{color:#a07d4e}
.policy-content{max-width:805px}.policy-intro{border-bottom:1px solid #d6ded7;padding-bottom:31px;margin-bottom:46px}.policy-intro p{font-size:17px;line-height:1.94;color:#4d6264}.policy-content section{border-bottom:1px solid #dce2db;margin-bottom:43px;padding-bottom:28px;scroll-margin-top:35px}.policy-index{font-size:10px;letter-spacing:.17em;font-weight:750;color:#a5885f}.policy-content h2{font-size:clamp(29px,3vw,41px);line-height:1.18;margin:13px 0 19px}.policy-content section p,.policy-content li{font-size:14px;line-height:1.95;color:#546769}.policy-content section p{margin-bottom:16px}.policy-content ul{padding-left:23px;margin-top:0;margin-bottom:18px}.policy-content li{padding-left:4px;margin-bottom:5px}.policy-email{display:inline-flex;gap:22px;align-items:center;background:var(--deep);color:#fff;font-size:14px;padding:15px 20px;margin:2px 0 20px;overflow-wrap:anywhere}.policy-email span{font-size:21px}.back-home{display:inline-flex;gap:15px;align-items:center;font-size:12px;font-weight:700;border-bottom:1px solid #a7b5ad;padding-bottom:9px}.back-home span{font-size:18px;color:#b99566}

@media (max-width:1150px){.container{width:min(100% - 58px,1260px)}.hero-layout{gap:30px}.hero h1{font-size:clamp(43px,4.3vw,59px)}.hero-visual{min-height:540px}.approach-layout{gap:65px}.contact-layout{gap:65px}.intro-layout{gap:62px}.policy-layout{gap:55px}}
@media (max-width:900px){.top-strip{padding:0 27px}.nav-links{gap:18px}.nav-contact{gap:15px}.hero{padding-top:48px}.hero-layout{grid-template-columns:1fr}.hero-copy{padding:15px 0 0}.hero h1{font-size:clamp(51px,8vw,76px)}.hero-visual{min-height:435px}.visual-symbol{font-size:215px}.hero-meta{margin-top:34px}.intro-layout{gap:30px}.intro-text{padding-top:10px}.section-pad{padding:83px 0}.section-heading h2,.section-top h2,.contact-layout h2{font-size:clamp(38px,5vw,55px)}.service-card{padding:22px 22px;min-height:440px}.service-card h3{font-size:25px}.approach-layout{gap:40px}.approach-heading h2{font-size:44px}.contact-layout{gap:36px}.contact-detail{padding-left:34px}.policy-layout{grid-template-columns:1fr;gap:30px}.policy-toc{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;border-left:0;border-bottom:1px solid #d4ddd5;padding:0 0 27px}.toc-title{grid-column:1/-1}}
@media (max-width:700px){.container{width:min(100% - 38px,1260px)}.top-strip{height:30px;padding:0 19px;font-size:8px}.top-strip span:last-child{display:none}.nav-shell{height:74px}.brand{gap:11px}.brand-mark{width:34px;height:35px}.brand-mark::before{width:25px;top:10px;left:3px}.brand-mark::after{width:26px;top:26px;left:3px}.brand-mark span:first-child::before{width:17px;top:17px;left:8px}.brand-mark span:last-child::after{left:16px;top:13px}.brand-type{font-size:22px}.brand-type small{font-size:6px;margin-top:7px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid #bdc7c1;background:transparent;cursor:pointer}.menu-toggle span{height:1.5px;width:19px;background:var(--deep);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);box-shadow:0 12px 20px rgba(0,0,0,.06);padding:20px 19px 26px;flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:14px 8px;border-bottom:1px solid #e3e5df}.nav-links .nav-contact{margin-top:15px;padding:14px}.hero{padding-top:48px}.hero h1{font-size:clamp(41px,10vw,64px);line-height:1.13;white-space:normal}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:25px}.hero-lead{font-size:14px;line-height:1.8}.hero-actions{align-items:flex-start;gap:20px;flex-direction:column}.hero-meta{font-size:10px;flex-wrap:wrap;line-height:1.6;margin:32px 0 3px}.hero-visual{min-height:380px;margin-top:25px}.visual-content{padding:25px}.visual-label{font-size:8px;letter-spacing:.28em}.visual-symbol{font-size:180px;margin:8px 0 -5px}.visual-content p{font-size:20px}.visual-bottom{left:19px;right:19px;bottom:18px;font-size:8px}.visual-corner{top:18px;right:18px}.hero-rule{padding:23px 0 17px;font-size:9px}.section-pad{padding:67px 0}.intro-layout,.approach-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.intro-text{max-width:none}.intro-text p{font-size:14px}.section-index{font-size:10px;margin-bottom:21px}.section-heading h2,.section-top h2,.contact-layout h2{font-size:clamp(37px,9vw,51px)}.section-top{display:block;margin-bottom:34px}.section-top p{margin:22px 0 0;max-width:none}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:0;padding:24px}.card-icon{height:86px}.service-card h3{font-size:29px}.service-card p{font-size:13px}.approach-heading h2{font-size:43px}.approach-heading p{font-size:14px}.step{padding:23px 0}.contact-detail{border-left:0;border-top:1px solid #d5dcd6;padding:31px 0 0}.footer-inner{display:block;padding:34px 0 28px}.footer-links{gap:18px;margin:30px 0}.footer-inner>p{line-height:1.8}.policy-hero{padding:65px 0}.policy-hero h1{font-size:clamp(47px,12vw,70px)}.policy-hero p{font-size:14px}.policy-layout{padding-top:40px;padding-bottom:75px}.policy-toc{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-toc a{font-size:11px}.policy-content h2{font-size:33px}.policy-intro p{font-size:15px}.policy-content section p,.policy-content li{font-size:13px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
