@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root { --ink:#f4f0e9; --muted:#a8b0b9; --navy:#101b28; --line:rgba(239,237,231,.16); --coral:#e5a487; --cream:#eee9dd; font-family:'DM Sans',Arial,sans-serif; color:var(--ink); background:var(--navy); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; }
body.menu-active { overflow:hidden; }
a { color:inherit; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--coral); outline-offset:4px; }
.site-shell { min-height:100vh; position:relative; overflow:hidden; background:radial-gradient(circle at 73% 27%,#24364a 0,transparent 36%),var(--navy); }
.site-shell:before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.15; background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:calc(100% / 12) 100%; }
.site-header,main,.site-footer { position:relative; z-index:1; }
.site-header { height:104px; max-width:1480px; margin:auto; padding:0 clamp(25px,5vw,78px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { text-decoration:none; display:flex; align-items:center; gap:22px; }
.brand-mark { font-family:Outfit,Arial,sans-serif; font-weight:600; font-size:27px; letter-spacing:-2px; }
.brand-mark span { color:var(--coral); }
.brand-name { font-size:13px; font-weight:600; letter-spacing:.04em; }
.header-right { display:flex; align-items:center; gap:52px; }
.header-note,.eyebrow,.note-label,.menu-section,.menu-title,.menu-bottom { font-size:10px; font-weight:700; letter-spacing:.22em; }
.header-note { color:#aab4bf; }
.header-note-dot { color:var(--coral); font-size:7px; margin:0 8px; }
.menu-button { border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--ink); height:46px; padding:0 15px 0 20px; display:flex; gap:20px; align-items:center; cursor:pointer; font-size:12px; font-weight:700; letter-spacing:.08em; }
.menu-button:hover,.menu-button:focus-visible { border-color:var(--coral); }
.menu-bars { display:flex; flex-direction:column; gap:5px; }
.menu-bars i { display:block; width:18px; height:1px; background:var(--ink); }
.menu-bars i:nth-child(2) { width:12px; margin-left:auto; }
.hero { max-width:1480px; margin:auto; padding:clamp(65px,7vw,112px) clamp(25px,5vw,78px) 125px; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr); gap:clamp(55px,7vw,130px); align-items:center; }
.hero-copy { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-bottom:20px; }
.eyebrow { color:var(--coral); margin:0; display:flex; align-items:center; gap:15px; }
.eyebrow-line { width:30px; height:1px; background:var(--coral); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Outfit,Arial,sans-serif; }
h1 { font-size:clamp(64px,6.9vw,112px); font-weight:500; line-height:.98; letter-spacing:-.068em; margin:42px 0 37px; }
h1 em { font-family:Georgia,serif; font-weight:400; color:var(--coral); letter-spacing:-.072em; }
.hero-lede { font-size:clamp(19px,1.8vw,25px); line-height:1.52; max-width:540px; color:#c9ced1; font-weight:400; margin-bottom:42px; }
.hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { text-decoration:none; display:inline-flex; align-items:center; gap:36px; padding:18px 24px; font-size:13px; font-weight:700; }
.button-primary { background:var(--coral); color:#17212b; }
.button-primary:hover { background:#f4baa0; }
.button span,.text-link span { font-size:18px; font-weight:400; }
.text-link { text-decoration:none; font-size:13px; font-weight:700; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:5px; display:inline-flex; align-items:center; gap:12px; }
.text-link:hover { color:var(--coral); border-color:var(--coral); }
.hero-footer { font-size:11px; color:#9eabb5; margin-top:75px; display:flex; align-items:center; gap:11px; }
.pulse { width:7px; height:7px; background:#9ab69f; border-radius:50%; box-shadow:0 0 0 5px rgba(154,182,159,.12); }
.portrait-column { max-width:540px; justify-self:end; }
.portrait-card { margin:0; position:relative; }
.portrait-card:before { content:''; position:absolute; inset:-21px 25px 44px -21px; border:1px solid rgba(229,164,135,.55); pointer-events:none; }
.portrait-frame { aspect-ratio:4/4.85; overflow:hidden; background:#42546a; }
.portrait-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 17%; filter:saturate(.82) contrast(1.04); }
.portrait-card figcaption { display:flex; justify-content:space-between; padding:16px 0 21px; border-bottom:1px solid var(--line); color:#adb9c1; font-size:10px; font-weight:700; letter-spacing:.15em; }
.about-note { padding:27px 0 0 30px; border-left:1px solid rgba(229,164,135,.6); margin-top:30px; }
.note-label { color:var(--coral); }
.about-note p { font-size:17px; line-height:1.7; color:#c9d0d1; margin:14px 0 0; }
.lower { background:var(--cream); color:#172331; padding:86px clamp(25px,5vw,78px) 108px; }
.lower>* { max-width:1324px; margin-left:auto; margin-right:auto; }
.section-intro .eyebrow { color:#9c614c; }
.section-intro h2 { font-size:clamp(40px,4.3vw,68px); font-weight:500; letter-spacing:-.055em; margin:17px 0 54px; }
.interest-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9c6be; }
.interest { padding:28px 30px 8px 0; display:flex; gap:20px; min-height:175px; border-right:1px solid #c9c6be; }
.interest:not(:first-child) { padding-left:32px; }
.interest:last-child { border:0; }
.interest-num { font-size:11px; font-weight:700; color:#9c614c; padding-top:7px; }
.interest h3 { font-size:21px; font-weight:600; letter-spacing:-.02em; margin:0 0 12px; }
.interest p { font-size:13px; line-height:1.7; color:#596572; max-width:270px; }
.interest-arrow { margin-left:auto; color:#9c614c; font-size:18px; }
.site-footer { max-width:1480px; margin:auto; padding:30px clamp(25px,5vw,78px); display:flex; justify-content:space-between; gap:20px; color:#9aabb8; font-size:11px; }
.site-footer a { text-decoration:none; }
.site-footer a:hover { color:var(--coral); }
.menu-overlay { position:fixed; inset:0; z-index:20; background:rgba(3,10,17,.68); opacity:0; transition:opacity .28s; }
.menu-overlay:not([hidden]) { opacity:1; }
.side-menu { position:fixed; z-index:21; top:0; right:0; bottom:0; width:min(460px,100vw); background:#eae5da; color:#172331; padding:35px clamp(28px,4vw,54px); transform:translateX(102%); transition:transform .3s ease; display:flex; flex-direction:column; box-shadow:-20px 0 70px rgba(0,0,0,.2); }
.side-menu.open { transform:translateX(0); }
.menu-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:42px; }
.menu-title { color:#866b5d; }
.menu-close { border:0; background:none; font-size:34px; cursor:pointer; color:#172331; line-height:1; }
.menu-section { color:#9a6b57; display:block; margin-bottom:19px; }
.side-menu nav a { font-family:Outfit,Arial,sans-serif; font-size:31px; font-weight:500; letter-spacing:-.04em; text-decoration:none; padding:16px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ccc8c0; }
.side-menu nav a:hover { color:#aa6e54; }
.side-menu nav a span { font:700 11px 'DM Sans',Arial,sans-serif; color:#9a6b57; letter-spacing:.04em; }
.menu-bottom { color:#918c83; margin-top:auto; }
@media(max-width:960px) { .hero { grid-template-columns:1fr 1fr; gap:45px; } h1 { font-size:clamp(58px,7vw,82px); } .hero-footer { margin-top:50px; } .portrait-card:before { inset:-15px 18px 36px -15px; } .about-note p { font-size:15px; } }
@media(max-width:730px) { .site-header { height:77px; } .header-note { display:none; } .brand-name { font-size:12px; } .hero { grid-template-columns:1fr; padding-top:65px; padding-bottom:80px; gap:55px; } .hero-copy { padding:0; } h1 { font-size:clamp(58px,11vw,82px); margin:28px 0; } .hero-lede { font-size:19px; margin-bottom:30px; } .hero-footer { margin-top:42px; } .portrait-column { justify-self:stretch; max-width:520px; margin-left:18px; } .portrait-frame { aspect-ratio:4/4.45; } .about-note { margin-top:23px; } .lower { padding-top:65px; padding-bottom:72px; } .section-intro h2 { margin-bottom:36px; } .interest-grid { grid-template-columns:1fr; } .interest,.interest:not(:first-child) { padding:22px 0; border-right:0; border-bottom:1px solid #c9c6be; min-height:125px; } .interest:last-child { border-bottom:0; } .site-footer { flex-wrap:wrap; } .site-footer span:nth-child(2) { display:none; } }
@media(max-width:390px) { .brand-name { display:none; } .hero-actions { gap:22px; } .button { gap:15px; } .side-menu nav a { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }
