:root{--navy:#0e2034;--navy-deep:#081523;--navy-soft:#16304a;--cream:#fefffa;--stone:#f2f1ea;--accent:#b99a5b;--text-on-dark:var(--cream);--text-on-dark-dim:#fefffab8;--text-on-light:var(--navy);--text-on-light-dim:#0e2034b8;--line-dark:#fefffa29;--line-light:#0e20341f;--serif:"EB Garamond", Georgia, "Times New Roman", serif;--sans:"Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;--header-h:76px;--maxw:1140px;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--navy);color:var(--text-on-dark);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:300;line-height:1.75}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:700;line-height:1.15}p{margin:0 0 1.1em}.container{width:min(100% - 2.5rem, var(--maxw));margin-inline:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;background:var(--cream);color:var(--navy);font-family:var(--sans);padding:.75rem 1.25rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.reveal{opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);transition-delay:var(--reveal-delay,0s);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal.is-visible{opacity:1;transition:none;transform:none}}.site-header{z-index:50;transition:background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);background:0 0;border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line-dark);background:#081523e0;box-shadow:0 12px 30px #00000038}.header-inner{width:min(100% - 2.5rem, var(--maxw));height:var(--header-h);justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.logo-link{text-decoration:none;display:inline-flex}.logo{align-items:center;gap:.75rem;display:inline-flex}.logo-img{width:auto;height:40px}.logo-mark{border:1px solid var(--line-dark);width:42px;height:42px;font-family:var(--serif);letter-spacing:.06em;color:var(--cream);transition:border-color .3s var(--ease);flex:none;place-items:center;font-size:1.15rem;font-weight:700;display:grid}.logo-link:hover .logo-mark{border-color:var(--accent)}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-name{font-family:var(--serif);letter-spacing:.01em;font-size:1.05rem;font-weight:600}.logo-role{letter-spacing:.22em;text-transform:uppercase;color:var(--text-on-dark-dim);font-size:.7rem}.nav-desktop{align-items:center;gap:2.25rem;display:flex}.nav-link{letter-spacing:.2em;text-transform:uppercase;color:var(--text-on-dark-dim);transition:color .3s var(--ease);padding:.4rem 0;font-size:.78rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--cream)}.nav-link:hover:after{transform:scaleX(1)}.nav-link.is-active{color:var(--cream)}.nav-link.is-active:after{transform:scaleX(1)}.nav-toggle{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;display:none;position:relative}.nav-toggle span{background:var(--cream);height:1.5px;transition:transform .35s var(--ease), opacity .2s var(--ease);position:absolute;left:10px;right:10px}.nav-toggle span:first-child{top:15px}.nav-toggle span:nth-child(2){top:21px}.nav-toggle span:nth-child(3){top:27px}.nav-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-mobile{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081523f7;border-bottom:1px solid #0000;display:none}.nav-mobile.is-open{border-bottom-color:var(--line-dark)}.nav-mobile nav{width:min(100% - 2.5rem, var(--maxw));flex-direction:column;margin-inline:auto;padding:.5rem 0 1.5rem;display:flex}.nav-mobile .nav-link{border-bottom:1px solid var(--line-dark);padding:1rem 0}.nav-mobile .nav-link:after{display:none}.nav-mobile .nav-link.is-active{color:var(--accent)}.hero{min-height:100svh;padding:calc(var(--header-h) + 3rem) 0 6rem;background:radial-gradient(120% 90% at 78% 12%, #b99a5b29 0%, transparent 55%), linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);align-items:center;display:grid;position:relative;overflow:hidden}.hero:after{content:"";width:min(100% - 2.5rem, var(--maxw));background:var(--line-dark);height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-inner{animation:rise 1s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hero-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.75rem}.hero-title{letter-spacing:.01em;margin-bottom:1.5rem;font-size:clamp(2.4rem,6vw,4.2rem)}.hero-role{font-size:clamp(1rem,2vw,1.35rem);font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--text-on-dark-dim);margin-top:1rem;font-weight:300;display:block}.hero-lead{max-width:46ch;color:var(--text-on-dark-dim);margin-bottom:2.5rem;font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.scroll-hint{border:1px solid var(--line-dark);cursor:pointer;background:0 0;border-radius:14px;place-items:start center;width:26px;height:42px;padding-top:8px;display:grid;position:absolute;bottom:2.25rem;left:50%;transform:translate(-50%)}.scroll-hint span{background:var(--accent);width:3px;height:8px;animation:wheel 1.8s var(--ease) infinite;border-radius:2px}@keyframes wheel{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}to{opacity:0;transform:translateY(12px)}}.btn{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 2rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.btn-primary{background:var(--cream);color:var(--navy);border-color:var(--cream)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--navy)}.btn-ghost{color:var(--cream);border-color:var(--line-dark);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.section-light .btn-ghost{color:var(--navy);border-color:var(--line-light)}.section{scroll-margin-top:var(--header-h);padding:clamp(4.5rem,9vw,7.5rem) 0}.section-dark{background:var(--navy);color:var(--text-on-dark)}.section-light{background:var(--stone);color:var(--text-on-light)}.section-head{margin-bottom:clamp(2.5rem,5vw,3.5rem)}.section-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;font-size:.72rem}.section-title{padding-bottom:1.25rem;font-size:clamp(1.9rem,4vw,2.6rem);position:relative}.section-title:after{content:"";background:var(--accent);width:56px;height:2px;position:absolute;bottom:0;left:0}.about-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.about-text p{color:var(--text-on-dark-dim);font-size:1.05rem}.about-media img{border:1px solid var(--line-dark);width:100%;height:auto}.about-placeholder{aspect-ratio:3/4;border:1px solid var(--line-dark);background:linear-gradient(160deg, #b99a5b1a, transparent 60%), var(--navy-soft);text-align:center;place-content:center;gap:.75rem;display:grid}.about-placeholder span{font-family:var(--serif);letter-spacing:.08em;color:#fefffa80;font-size:3.5rem}.about-placeholder p{letter-spacing:.18em;text-transform:uppercase;color:#fefffa66;margin:0;font-size:.75rem}.cards{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;display:grid}.card{background:var(--cream);border:1px solid var(--line-light);transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);padding:2rem 1.75rem}.card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 18px 40px #0e20341f}.card-title{color:var(--navy);border-bottom:1px solid var(--line-light);margin-bottom:1rem;padding-bottom:1rem;font-size:1.45rem}.card-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.card-list li{color:var(--text-on-light-dim);padding-left:1.15rem;font-size:.97rem;position:relative}.card-list li:before{content:"";background:var(--accent);width:6px;height:1px;position:absolute;top:.72em;left:0}.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.contact-details{gap:2rem;display:grid}.detail h3{margin-bottom:.5rem;font-size:1.2rem}.detail a{color:var(--text-on-dark-dim);transition:color .3s var(--ease);text-decoration:none;display:grid}.detail a:hover{color:var(--accent)}.contact-form{gap:1.25rem;display:grid}.field{gap:.4rem;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.field label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-on-dark-dim);font-size:.72rem}.field input,.field textarea{width:100%;font-family:var(--sans);color:var(--cream);border:1px solid var(--line-dark);transition:border-color .3s var(--ease), background .3s var(--ease);background:#fefffa0a;padding:.85rem 1rem;font-size:1rem;font-weight:300}.field textarea{resize:vertical;line-height:1.6}.field input:hover,.field textarea:hover{background:#fefffa12}.field input:focus,.field textarea:focus{border-color:var(--accent);background:#fefffa14;outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#e2a08a}.field-error{color:#e2a08a;font-size:.85rem}.checkbox{color:var(--text-on-dark-dim);cursor:pointer;align-items:flex-start;gap:.75rem;font-size:.92rem;display:flex}.checkbox input{width:17px;height:17px;accent-color:var(--accent);flex:none;margin-top:.35rem}.honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-form .btn{justify-self:start}.form-note{color:#fefffa80;margin:0;font-size:.82rem}.form-error{color:#e2a08a;margin:0;font-size:.92rem}.form-result{border:1px solid var(--line-dark);background:#fefffa0a;justify-items:start;gap:.5rem;padding:2.5rem 2rem;display:grid}.form-result h3{font-size:1.5rem}.form-result p{color:var(--text-on-dark-dim);margin-bottom:.75rem}.map{border-top:1px solid var(--line-dark);line-height:0}.map iframe{border:0;width:100%;height:clamp(320px,45vh,460px);display:block}.site-footer{background:var(--navy-deep);border-top:1px solid var(--line-dark);padding:3.5rem 0 2.5rem}.footer-inner{gap:1.5rem;display:grid}.footer-name{font-family:var(--serif);margin:0 0 .25rem;font-size:1.25rem}.footer-meta{color:#fefffa8c;margin:0;font-size:.9rem}.footer-legal{color:#fefffa80;max-width:95ch;margin:0;font-size:.85rem;line-height:1.7}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{color:#fefffab3;transition:color .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;font-size:.85rem;text-decoration:none}.footer-links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.footer-copy{border-top:1px solid var(--line-dark);color:#fefffa66;margin:0;padding-top:1.5rem;font-size:.8rem}@media (width<=900px){.about-grid,.contact-grid{grid-template-columns:1fr}.about-media{width:min(340px,100%);margin-inline:auto}}@media (width<=760px){:root{--header-h:64px}body{font-size:16px}.nav-desktop{display:none}.nav-toggle{display:block}.nav-mobile{max-height:0;transition:max-height .4s var(--ease);display:block;overflow:hidden}.nav-mobile.is-open{max-height:60vh}.logo-name{font-size:.95rem}.logo-role{font-size:.62rem}.field-row{grid-template-columns:1fr}.hero-actions .btn{width:100%}}@media (width<=430px){.logo{gap:.6rem}.logo-mark{width:36px;height:36px;font-size:1rem}.logo-name{font-size:.86rem}.logo-role{letter-spacing:.16em;font-size:.58rem}}
