:root{--navy:#082e54;--ink:#102b43;--muted:#526676;--line:#c7d4dd;--pale:#ecf3f6;--accent:#217f98;--cream:#f5f8fa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1684a4;outline-offset:4px}
header{max-width:1440px;margin:auto;padding:8px 5% 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:36px}
.brand{width:194px;height:112px;display:block;flex:none;overflow:hidden;position:relative}
.brand img{position:absolute;width:194px;height:auto;left:0;top:-13px}
nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600;flex-wrap:wrap}
.nav-contact{border-bottom:1px solid var(--navy);padding:8px 0}.nav-contact span{padding-left:9px}
section{padding:88px 7%}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;line-height:1.1;letter-spacing:-.035em}
h1{font-size:clamp(3.2rem,5.4vw,5.25rem);margin:22px 0 28px}
h1 em,h2 em{color:var(--accent);font-weight:normal}
h2{font-size:clamp(2.4rem,4vw,3.7rem);margin:15px 0 30px}
h3{font-size:clamp(1.55rem,2.3vw,2rem);margin:15px 0}
p{margin:0 0 21px}
.eyebrow{font:700 .78rem/1.6 Arial,Helvetica,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.lede{font-size:1.25rem;line-height:1.57;color:var(--muted);max-width:610px}
.button{display:inline-flex;background:var(--navy);color:white;padding:15px 23px;font:600 .94rem/1.5 Arial,Helvetica,sans-serif;margin-top:15px;align-items:center}
.button:hover{background:#174c78;text-decoration:none}
.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.95rem;font-weight:600}
.number{font:.85rem Arial,sans-serif;color:var(--accent)}
.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;z-index:10;padding:15px}
.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.17fr .83fr;align-items:center;gap:7%;padding-top:65px;padding-bottom:85px}
.hero .lede{max-width:575px}
.evidence-panel{background:var(--navy);color:#fff;padding:35px 36px 27px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.evidence-panel .eyebrow{color:#acd2df}
.evidence-intro{font:normal clamp(1.4rem,2.15vw,2rem)/1.3 Georgia,serif;margin:12px 0 24px}
.evidence-panel div{border-top:1px solid #52738c;padding:15px 0 12px}
.evidence-panel span{display:block;color:#bed4e1;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.evidence-panel strong{font-weight:normal;font-size:1rem;line-height:1.45;display:block}
.evidence-panel a{font-weight:600;font-size:.9rem;margin-top:13px;align-self:flex-start;border-bottom:1px solid #b5d2df}
.intro,.about-story,.about-founder,.feature-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.intro{background:var(--pale)}
.intro>.eyebrow{grid-column:1/-1;margin-bottom:-8px}
.intro h2{margin-top:0}
.intro>div,.about-story>div:last-child,.about-founder>div:last-child,.feature-intro>div:last-child{max-width:650px}
.flagship{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flagship-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:9%;align-items:start}
.flagship h2{margin:0 0 30px;max-width:720px}
.flagship-lead{font:normal clamp(1.4rem,2.25vw,1.95rem)/1.4 Georgia,serif;color:var(--navy);max-width:680px}
.flagship-grid>div:last-child{padding-top:7px;max-width:600px}
.flagship strong{color:var(--navy)}
.flagship .text-link{margin-top:9px}
.three,.two{display:grid;gap:35px;margin:36px 0}
.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}
.three article,.two article{border-top:1px solid var(--line);padding-top:20px}
.three article p,.two article p{color:var(--muted)}
.services-preview .three{margin:36px 0 48px}
.work-preview{background:var(--navy);color:#fff}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}
.work-preview .text-link{margin-bottom:30px}
.work-row{display:grid;grid-template-columns:1fr 1.7fr 26px;gap:22px;align-items:center;border-top:1px solid #53738c;padding:25px 0}
.work-row span{font-size:.76rem;letter-spacing:.1em;color:#c7d8e2}
.work-row h3{font-size:clamp(1.45rem,2.3vw,2rem);margin:0}.work-row b{font-weight:normal}
.institution{max-width:1020px;margin:auto;text-align:center}
.institution p:not(.eyebrow){max-width:690px;margin-left:auto;margin-right:auto}
.closing{background:var(--pale);text-align:center}
.closing h2{font-size:clamp(3rem,5vw,4.5rem)}
.page-heading{max-width:1300px;padding-bottom:60px}.page-heading h1{max-width:1000px}.page-heading .lede{max-width:730px}
.service-lead{background:var(--pale);padding-top:42px;padding-bottom:42px}
.service-lead p{max-width:950px;font:normal clamp(1.45rem,2.5vw,2.1rem)/1.4 Georgia,serif;margin:0}
.service-group{padding-top:74px}.service-group.supporting{background:var(--cream)}
.service-list{margin-top:20px}
.service-item{display:grid;grid-template-columns:.78fr 1fr;gap:9%;border-top:1px solid var(--line);padding:45px 0;scroll-margin-top:24px}
.service-item h2{font-size:clamp(2rem,3vw,2.85rem);margin:12px 0}
.service-item>div:last-child{max-width:700px}
.service-hook{font:normal clamp(1.35rem,2.1vw,1.8rem)/1.34 Georgia,serif;color:var(--navy)}
.case-list{padding-top:0}.case{border-top:1px solid var(--line);padding:48px 0;max-width:950px;scroll-margin-top:25px}.case h2{font-size:clamp(2rem,3.1vw,2.9rem)}.case p{max-width:800px}
.case-featured{max-width:1100px}.case-featured h2{font-size:clamp(2.4rem,4vw,3.7rem)}
.case-lead{font:normal clamp(1.5rem,2.6vw,2.15rem)/1.38 Georgia,serif;color:var(--navy);max-width:900px!important;margin:28px 0}
.case-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:38px 0 48px}
.case-capabilities>div{border-top:1px solid var(--line);padding-top:19px}
.case-capabilities span{display:block;color:var(--accent);font-size:.75rem;letter-spacing:.1em;margin-bottom:12px}
.case-capabilities strong{display:block;font:normal 1.2rem/1.4 Georgia,serif}
.case-commitment{background:var(--pale);padding:40px 46px;margin-top:40px}
.case-commitment h3{font-size:clamp(1.9rem,3vw,2.8rem);margin:12px 0 22px}
.case-commitment p{max-width:850px}.case-commitment .text-link{margin-top:10px}
.about-story{background:var(--pale)}.about-founder .role{font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.initiatives{background:var(--cream)}.initiatives>p:not(.eyebrow){max-width:700px}
.question-list{max-width:1040px}
.question-list p{font:normal clamp(1.65rem,3.25vw,2.7rem)/1.33 Georgia,serif;letter-spacing:-.02em;border-top:1px solid var(--line);padding:26px 0;margin:0}
.question-list p:last-child{border-bottom:1px solid var(--line)}
.question-list em{color:var(--accent)}
.philosophy{padding-top:0}
.philosophy-close{margin:70px 0 0 auto;max-width:610px;font:normal clamp(1.3rem,2vw,1.65rem)/1.45 Georgia,serif}
.philosophy-close p:last-child{color:var(--accent)}
.feature-intro{background:var(--pale)}
.feature-grid{background:var(--cream)}
.rhythm{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin:36px 0}
.rhythm>div{padding:22px 18px 20px 0;border-bottom:1px solid var(--line);min-height:126px}
.rhythm span{display:block;font-size:.76rem;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}
.rhythm strong{font:normal 1.25rem/1.25 Georgia,serif;display:block}
.wine-rhythm>p:last-child{max-width:720px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-top:12px}
.contact-grid h2{font-size:2.4rem}
label{display:block;font-size:.93rem;margin:0 0 6px;font-weight:600}label span{font-weight:normal}
input,textarea{font:inherit;color:var(--ink);width:100%;border:1px solid #879bab;background:#fff;padding:12px;margin-bottom:22px;border-radius:0}
textarea{min-height:145px;resize:vertical}button{border:0;cursor:pointer}
.form-note{font-size:.88rem;color:var(--muted)}.form-status{font-size:.95rem}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
footer{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr 2fr auto;gap:35px;padding:43px 5%;font-size:.83rem}
footer strong,footer span{display:block}footer strong{letter-spacing:.1em}footer span{margin-top:12px;color:#b9cfde}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}
footer small{white-space:nowrap;color:#b9cfde}
@media(min-width:1500px){section{padding-left:max(7%,calc((100vw - 1240px)/2));padding-right:max(7%,calc((100vw - 1240px)/2))}.hero,.institution{max-width:none}}
@media(max-width:1050px){header{align-items:flex-start;flex-direction:column;gap:0;padding-bottom:24px}nav{gap:14px 24px}.hero{grid-template-columns:1fr;gap:40px}.evidence-panel{max-width:780px}.rhythm{grid-template-columns:repeat(3,1fr)}footer{grid-template-columns:1fr 2fr}footer small{grid-column:1/-1}}
@media(max-width:700px){section{padding:58px 6%}header{padding:4px 6% 22px}.brand{width:165px;height:95px}.brand img{width:165px;top:-11px}nav{font-size:.86rem;gap:9px 18px}.nav-contact{padding:3px 0}.hero{padding-top:46px;gap:32px}.hero h1{font-size:clamp(2.8rem,10vw,4rem)}.evidence-panel{padding:28px 25px}.intro,.about-story,.about-founder,.feature-intro,.contact-grid,.service-item,.flagship-grid{grid-template-columns:1fr;gap:12px}.intro>.eyebrow{grid-column:1}.flagship h2{margin-bottom:20px}.flagship-grid>div:last-child{padding-top:0}.case-capabilities{grid-template-columns:1fr;gap:15px}.case-commitment{padding:30px 24px}.three,.two{grid-template-columns:1fr;gap:15px}.section-top{display:block}.work-row{grid-template-columns:1fr 22px;gap:9px}.work-row span{grid-column:1/-1}.work-row h3{font-size:1.5rem}.institution{text-align:left}.page-heading h1{font-size:clamp(2.8rem,10vw,4rem)}.service-item{padding:37px 0}.service-hook{margin-top:0}.rhythm{grid-template-columns:repeat(2,1fr)}.rhythm>div{min-height:110px}.philosophy-close{margin-top:42px}footer{grid-template-columns:1fr;gap:22px}footer small{grid-column:auto}}
@media(max-width:390px){nav{gap:8px 13px}.rhythm{grid-template-columns:1fr}.rhythm>div{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
