*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--joanna-page-bg);color:var(--joanna-text);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65}main{overflow:clip}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{text-wrap:balance;font-size:clamp(2.4rem,4.1vw,3.75rem);line-height:1.13;max-width:850px}h2{font-size:clamp(2rem,3vw,2.85rem);line-height:1.2;max-width:780px}h3{font-size:1.13rem;line-height:1.4;font-weight:650}p{max-width:70ch}a{color:var(--joanna-link);text-underline-offset:4px}a:hover{color:var(--joanna-link-hover)}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.hero{padding:92px 0 84px}.hero p{margin-top:28px;max-width:760px;font-size:1.12rem}.eyebrow{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--joanna-khaki);margin-bottom:24px}.section{padding:72px 0}.section-heading{display:grid;grid-template-columns:120px 1fr;gap:36px;margin-bottom:40px}.section-number{font-size:.85rem;color:var(--joanna-khaki);padding-top:10px}.grid{display:grid;gap:28px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.band{background:var(--joanna-stone)}.band .section-number{color:var(--joanna-ink)}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:64px}.contact p{margin-top:24px}.contact-details{padding-top:10px}.contact-details div{padding:15px 0;border-bottom:1px solid var(--joanna-khaki)}.contact-details dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.contact-details dd{margin:5px 0 0;font-size:1.15rem}.contact-details a{overflow-wrap:anywhere}.contact .button{margin-top:30px}
@media(max-width:1100px){.three{grid-template-columns:1fr}.three .card{display:grid;grid-template-columns:1fr 1.8fr;gap:32px}}
@media(max-width:1024px){.hero{padding:70px 0}.section{padding:60px 0}.section-heading{grid-template-columns:80px 1fr}.contact{gap:36px}}
@media(max-width:720px){body{font-size:16px}.shell{width:calc(100% - 40px)}.hero{padding:54px 0}.hero p{font-size:1rem}h1{font-size:2.4rem}.section{padding:48px 0}.section-heading{display:block;margin-bottom:28px}.section-number{display:block;margin-bottom:14px}.two,.three,.contact{grid-template-columns:1fr}.three .card{display:block}.contact{gap:24px}.contact-details{margin:0}.hero .actions{align-items:stretch;flex-direction:column}.hero .actions a{text-align:center}.grid{gap:18px}}
@media(max-width:380px){h1{font-size:2.15rem}.shell{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:center;gap:56px}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.25rem,3.3vw,3rem)}.hero-portrait{margin:0;max-width:360px;justify-self:end;line-height:0}.hero-portrait img{display:block;width:100%;height:auto;border-radius:8px}
@media(max-width:1024px){.hero{gap:32px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.hero h1{font-size:2.25rem}}
@media(max-width:720px){.hero{grid-template-columns:1fr;gap:36px}.hero-portrait{width:min(280px,100%);justify-self:center}.hero h1{font-size:2.4rem}}
@media(max-width:380px){.hero h1{font-size:2.15rem}}
