@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";:root{--navy:#031b32;--navy2:#062b50;--blue:#0b457a;--gold:#c99536;--gold2:#f0bd59;--ivory:#f7f4ed;--line:rgba(201,149,54,.38);font-family:DM Sans,sans-serif;color:#fff;background:var(--navy)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--navy);-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}.topbar{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#02172bf5;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;font:400 clamp(.9rem,1.4vw,1.45rem)/1.1 "Libre Baskerville",serif;white-space:nowrap}.brand img{width:62px;height:62px;object-fit:cover;object-position:50% 18%;border-radius:2px;box-shadow:0 0 0 1px #c9953680}.brand small{display:block;color:var(--gold2);font:600 .52rem/1.4 DM Sans;letter-spacing:.26em;margin-top:6px}.topbar nav{display:flex;gap:2.1rem;margin-left:auto}.topbar nav a{color:#fff;text-decoration:none;font-size:.82rem}.topbar nav a:hover{color:var(--gold2)}.gold-button,.outline-button{min-height:48px;border-radius:2px;padding:0 1.4rem;display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;text-decoration:none;font-weight:600;border:1px solid var(--gold);transition:.2s}.gold-button{background:linear-gradient(135deg,#bd8428,#d7a743);color:#fff}.gold-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.gold-button svg{width:18px}.outline-button{background:#01122273;color:#fff}.outline-button:hover{background:#ffffff14}.header-cta{font-size:.78rem;white-space:nowrap}.menu-button{display:none;background:none;border:0;color:#fff;font-size:1.7rem}.hero{min-height:680px;background-size:cover;background-position:center;display:flex;align-items:center;padding:6rem 6vw;position:relative}.hero-copy{max-width:690px;position:relative;z-index:1}.overline,.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold2);font-size:.7rem;font-weight:600}.site-1 .overline,.site-2 .overline,.site-4 .overline{display:none}h1,h2,h3,p{margin-top:0}.hero h1{font:400 clamp(3.3rem,5.1vw,5.7rem)/1.13 "Libre Baskerville",serif;letter-spacing:-.04em;margin:0 0 1.6rem}.hero h1 em,.about h2 em{color:var(--gold2);font-weight:400}.gold-rule{width:58px;height:3px;background:var(--gold2);display:block;margin:1.5rem 0 2rem}.hero-sub{font-size:1.14rem;line-height:1.65;max-width:590px}.actions{display:flex;gap:1.1rem;margin:2.2rem 0}.registration{display:flex;align-items:center;gap:.7rem;font-size:.8rem;color:#d9e3ea}.registration svg{font-size:1.5rem;color:var(--gold2)}.services{padding:5.5rem 7vw;text-align:center;background:var(--navy)}.site-2 .services,.site-3 .about{background:var(--ivory);color:var(--navy)}.services h2,.about h2,.approach-strip h2{font:400 clamp(2rem,3.5vw,3.4rem)/1.25 "Libre Baskerville",serif;max-width:850px;margin:1rem auto 3rem}.service-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr)}.service-grid article{padding:1.5rem 3rem;border-right:1px solid var(--line);position:relative}.service-grid article:last-child{border:0}.service-grid svg{font-size:3.1rem;color:var(--gold2);margin:1rem}.service-grid h3{font:400 1.35rem Libre Baskerville,serif}.service-grid p{font-size:.85rem;line-height:1.7;color:#b8c8d4}.site-2 .service-grid p,.site-3 .about p{color:#536473}.step{display:none}.site-3 .step{display:block;position:absolute;top:0;left:25px;font:400 4.5rem Libre Baskerville;color:#235b8c4d}.site-3 .services{background:#062f58}.about{display:grid;grid-template-columns:minmax(280px,420px) minmax(320px,1fr) 280px;align-items:center;background:linear-gradient(115deg,#0b4477,#06274a);min-height:520px;padding:0 7vw;gap:4rem;overflow:hidden}.portrait-wrap{height:520px;align-self:end}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.about-copy{padding:4rem 0}.about h2{margin:1rem 0 1.5rem;max-width:620px}.about-copy>p:not(.eyebrow):not(.signature){line-height:1.7;max-width:650px;color:#d2dee6}.signature{font:italic 2rem Libre Baskerville;color:var(--gold2);margin:1.5rem 0 .3rem}.logo-focus{display:flex;flex-direction:column;gap:1rem;text-align:center}.logo-focus img{width:100%;border:1px solid rgba(201,149,54,.5);box-shadow:0 16px 45px #00000040}.logo-focus span{color:var(--gold2);font-size:.78rem;letter-spacing:.08em}.approach-strip{display:flex;align-items:center;gap:2rem;padding:2.2rem 7vw;background:var(--ivory);color:var(--navy)}.approach-strip>svg{font-size:3rem;color:var(--gold)}.approach-strip h2{font-size:1.6rem;margin:0 0 .4rem}.approach-strip p{margin:0;color:#4c6071}.approach-strip .gold-button{margin-left:auto;white-space:nowrap}footer{padding:3.5rem 6vw 1.3rem;background:#041c34}.footer-main{display:grid;grid-template-columns:1.5fr .6fr .7fr;gap:4rem}.footer-main>div{display:flex;flex-direction:column;gap:.7rem;font-size:.78rem;color:#c9d3da}.footer-main b{color:var(--gold2);text-transform:uppercase;letter-spacing:.12em}.footer-main a{color:inherit;text-decoration:none}.legal{border-top:1px solid var(--line);padding-top:1.3rem;margin-top:2rem;text-align:center;color:#90a1ae;font-size:.62rem;line-height:1.6}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c19d6;display:grid;place-items:center;z-index:50;padding:1rem}.dialog{background:var(--ivory);color:var(--navy);width:min(520px,100%);padding:3rem;position:relative;box-shadow:0 24px 80px #000}.dialog h2{font:400 2.2rem Libre Baskerville}.dialog p{line-height:1.6}.dialog small{display:block;margin-top:1rem;color:#697986}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;font-size:1.5rem}.site-4 .services{padding:2.4rem 6vw}.site-4 .services h2{margin-bottom:1.2rem}.site-4 .service-grid article{padding-block:.8rem}.site-4 .about{min-height:420px}.site-4 .portrait-wrap{height:420px}.site-4 .about-copy{padding:2rem 0}.site-4 .logo-focus{display:none}@media(max-width:1000px){.topbar nav{display:none;position:absolute;left:0;right:0;top:88px;background:#031b32;padding:1.2rem 5vw;flex-direction:column}.topbar nav.open{display:flex}.header-cta{display:none}.menu-button{display:block}.about{grid-template-columns:280px 1fr}.logo-focus{display:none}.hero{background-position:62% center}.hero-copy{max-width:600px}.site-4 .hero{min-height:620px}}@media(max-width:700px){.topbar{height:74px;padding:0 1rem}.topbar nav{top:74px}.brand img{width:48px;height:48px}.brand{font-size:.82rem}.brand small{font-size:.42rem}.hero{min-height:690px;padding:5rem 1.25rem;background-position:68% center}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#01142657}.hero h1{font-size:2.7rem}.actions{align-items:stretch;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line);padding:2rem}.about{grid-template-columns:1fr;padding:0}.portrait-wrap,.site-4 .portrait-wrap{height:430px}.about-copy{padding:3rem 1.5rem}.approach-strip{align-items:flex-start;flex-wrap:wrap;padding:2.5rem 1.5rem}.approach-strip .gold-button{margin:0;width:100%}.footer-main{grid-template-columns:1fr}.footer-main .brand{margin-bottom:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gold-button{transition:none}}.hero{background-image:url(/assets/hero-v2.webp)}@media(max-width:700px){.hero{background-image:url(/assets/hero-mobile-v2.webp)}}.logo-focus img{height:auto;aspect-ratio:720/538;object-fit:contain}.market-banner{width:100%;height:300px;overflow:hidden;position:relative;isolation:isolate;background:#02172c;border-block:1px solid rgba(201,149,54,.28)}.market-banner:before{content:"";position:absolute;z-index:-1;top:-24px;right:-24px;bottom:-24px;left:-24px;background:linear-gradient(#0113246b,#0113246b),url(/assets/market-banner-v3.webp) center/cover no-repeat;filter:blur(18px);transform:scale(1.04)}.market-banner img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;filter:drop-shadow(0 0 24px rgba(0,0,0,.5))}.contact-dialog{width:min(920px,100%);max-height:94vh;overflow:auto;padding:0;background:var(--ivory);border-top:4px solid var(--gold);border-radius:4px}.contact-heading{display:grid;grid-template-columns:72px 1fr;gap:1.4rem;align-items:start;padding:2.6rem 3rem 1.8rem;background:linear-gradient(135deg,#f9f7f1,#eee8da);border-bottom:1px solid #ddd5c6}.contact-heading h2{margin:.4rem 0 .7rem;font:400 clamp(2rem,3.5vw,3rem)/1.15 "Libre Baskerville",serif;letter-spacing:-.04em}.contact-heading>div>p:last-child{color:#5e6a70;margin:0;line-height:1.55}.contact-mark{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:2rem;background:#fff}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:2rem 3rem 2.5rem}.field{display:flex;flex-direction:column;gap:.55rem}.field-wide{grid-column:1/-1}.field>span{display:flex;align-items:center;gap:.45rem;color:#1e3850;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.field>span svg{font-size:1.15rem;color:var(--gold)}.field input,.field textarea,.field select{width:100%;border:1px solid #cfc8ba;background:#fff;color:var(--navy);border-radius:3px;font:500 1rem DM Sans;outline:none;transition:border-color .2s,box-shadow .2s}.field input{height:52px;padding:0 .9rem}.field textarea{padding:.9rem;resize:vertical;min-height:120px}.field input:focus,.field textarea:focus,.field select:focus,.date-control:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c9953626}.date-control{height:70px;border:1px solid #cfc8ba;background:#fff;border-radius:3px;padding:.75rem 1rem;position:relative;display:flex;flex-direction:column;justify-content:center;color:var(--navy);transition:border-color .2s,box-shadow .2s}.date-control strong{font:400 1.15rem Libre Baskerville,serif}.date-control small{color:#80909b;font-size:.58rem;letter-spacing:.12em;margin-top:.2rem}.date-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.time-selects{height:70px;display:grid;grid-template-columns:1fr auto 1fr 1.2fr;align-items:end;gap:.45rem}.time-selects label{display:flex;flex-direction:column;gap:.3rem}.time-selects small{font-size:.58rem;color:#6f7e86;letter-spacing:.1em}.time-selects select{height:48px;padding:0 .6rem;cursor:pointer}.time-selects>b{align-self:center;margin-top:1rem;color:var(--gold);font-size:1.3rem}.form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #ddd5c6;padding-top:1.4rem}.form-footer p{display:flex;align-items:center;gap:.55rem;max-width:440px;color:#69777f;font-size:.68rem;line-height:1.5;margin:0}.form-footer p svg{flex:0 0 auto;color:var(--gold);font-size:1.25rem}.form-footer .gold-button{border:0}.form-notice{margin:1.5rem 3rem 0;padding:1rem 1.2rem;background:#e8f2e8;color:#1d5632;display:flex;align-items:center;gap:.7rem;border-left:3px solid #4b8b5c;font-size:.82rem}.form-notice svg{font-size:1.5rem;flex:0 0 auto}.contact-dialog .dialog-close{z-index:2;width:38px;height:38px;border:1px solid #d6cebe;border-radius:50%;display:grid;place-items:center;background:#ffffffdb;color:var(--navy)}@media(max-width:700px){.dialog-backdrop{padding:0}.contact-dialog{max-height:100dvh;height:100dvh;border-radius:0;border-top-width:3px}.contact-heading{grid-template-columns:48px 1fr;padding:2.4rem 1.2rem 1.4rem;gap:.8rem}.contact-mark{width:44px;height:44px;font-size:1.4rem}.contact-heading h2{font-size:1.85rem;padding-right:1.4rem}.contact-form{grid-template-columns:1fr;padding:1.4rem 1.2rem 2rem}.field-wide,.form-footer{grid-column:1}.form-footer{align-items:stretch;flex-direction:column}.form-footer .gold-button{width:100%}.form-notice{margin:1rem 1.2rem 0}.time-selects{grid-template-columns:1fr auto 1fr 1.2fr}}.date-stack{height:70px;display:flex;flex-direction:column;gap:.3rem}.date-stack>small{font-size:.58rem;color:#6f7e86;letter-spacing:.1em}.date-stack .date-control{height:48px;padding:0 1rem;flex-direction:row;align-items:center;cursor:pointer}.date-stack .date-control input{width:1px;height:1px;inset:auto;pointer-events:none}.time-selects>b{align-self:end;height:48px;margin-top:0;display:grid;place-items:center}.contact-dialog .dialog-close{position:sticky;top:12px;float:right;margin:12px 12px -50px 0;z-index:10;box-shadow:0 4px 16px #031b3229}
