:root{--ivory:#f6f4ee;--paper:#fffefa;--ink:#292d29;--muted:#5e665e;--olive:#6f7962;--line:#d7d8cd;--sage:#e7e9de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1390px,calc(100% - 104px));margin:auto}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}.header{background:var(--ivory);border-bottom:1px solid var(--line);position:relative;z-index:10}.nav{display:flex;justify-content:space-between;align-items:center;min-height:106px;gap:24px}.wordmark{font-family:'Libre Baskerville',Georgia,serif;font-size:32px;letter-spacing:-2px;font-weight:700;white-space:nowrap}.wordmark span{font-weight:400;color:var(--olive)}.wordmark small{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:8px}.links{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600;letter-spacing:.03em}.links a:hover,.text-link:hover{color:var(--olive)}.nav-contact{border:1px solid var(--ink);padding:14px 19px}.nav-contact span,.text-link span,.button span{margin-left:18px}.menu-toggle{display:none}.hero{padding:86px 0 32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;line-height:1.8;margin:0 0 24px;text-transform:uppercase}.olive{color:var(--olive)}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;font-weight:400}h1{font-size:clamp(37px,4.45vw,72px);letter-spacing:-3.4px;line-height:1.25;margin-bottom:28px}h1 span{white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.hero-bottom p{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;line-height:1.85;margin:0;font-weight:600}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:9px;white-space:nowrap}.hero-photo img{width:100%;height:auto}.photo-caption{display:flex;justify-content:space-between;gap:20px;color:#71786d;font-size:10px;letter-spacing:1.1px;padding-top:17px}.section{padding:130px 0}.intro-grid{display:grid;grid-template-columns:1fr .72fr;gap:12%;align-items:center}.intro h2,.section-top h2,.about h2,.history h2,.testimonials h2,.contact h2,.portrait-banner h2,.topics h2{font-size:clamp(34px,3.65vw,57px);line-height:1.35;letter-spacing:-1.8px;margin-bottom:0}.intro-text{padding-top:50px}.intro-text p,.about-copy>p:not(.eyebrow):not(.lead),.history p:not(.eyebrow),.contact p,.portrait-banner p:not(.eyebrow){font-size:15px;line-height:1.95;color:#565e55;margin-bottom:22px}.intro-text .text-link{display:inline-block;margin-top:14px}.full-image{position:relative}.full-image img{width:100%;height:clamp(340px,48vw,690px);object-fit:cover;object-position:center}.image-label{position:absolute;bottom:28px;left:max(52px,calc((100vw - 1390px)/2));background:var(--ivory);padding:16px 22px;font-size:10px;letter-spacing:2px;font-weight:700}.services{background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:64px}.section-top .eyebrow{padding-top:13px}.section-top h2{width:57%}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{min-height:360px;padding:30px 32px 30px 0;display:flex;flex-direction:column;justify-content:space-between}.service:not(:first-child){padding-left:34px;border-left:1px solid var(--line)}.service-number,.service-kicker{font-size:10px;letter-spacing:1.6px;color:var(--olive);font-weight:700}.service h3{font-size:26px;line-height:1.35;margin:14px 0 18px}.service p:not(.service-kicker){font-size:13px;line-height:1.85;color:#5b625a;margin-bottom:24px}.service .text-link{display:inline-block}.topics{background:#747f6d;color:white}.topics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.topics h2{color:white}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-content:center}.topic-list span{border-bottom:1px solid #a7b0a2;padding:18px 0;font-size:13px}.about{background:var(--ivory)}.about-grid{display:grid;grid-template-columns:45% 1fr;gap:11%;align-items:center}.about-image img{width:100%;height:730px;object-fit:cover;object-position:center 25%}.about h2{margin-bottom:25px}.about-copy .lead{font-weight:700;color:var(--olive);font-size:13px;letter-spacing:.3px;margin-bottom:28px}.about blockquote{font-family:'Libre Baskerville',Georgia,serif;font-size:20px;line-height:1.65;margin:34px 0 0;padding-left:23px;border-left:2px solid var(--olive)}.history{background:var(--paper)}.history-grid{display:grid;grid-template-columns:36% 1fr;gap:9%}.history h2{margin-bottom:24px}.history-photos{display:grid;grid-template-columns:1.1fr .65fr;gap:24px;align-items:start}.history figure{margin:0}.history figure img{width:100%;height:370px;object-fit:contain;background:#fff}.history figure:nth-child(2) img{height:450px;object-fit:contain;background:#2c2928}.history figcaption{font-size:11px;color:var(--muted);margin-top:13px}.testimonials{background:var(--sage)}.testimonials-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px;gap:50px}.testimonials-heading p{max-width:280px;font-size:13px;line-height:1.8;color:#596256}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.quote-grid figure{margin:0;border-top:1px solid #adb4a6;padding-top:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:300px}.quote-grid blockquote{font-family:'Libre Baskerville',Georgia,serif;font-size:17px;line-height:1.8;margin:0 0 28px}.quote-grid figcaption{font-weight:700;font-size:12px}.quote-grid figcaption span{display:block;font-weight:400;color:#697267;font-size:11px;margin-top:7px}.quote-source{font-size:10px;color:#707a6e;margin:30px 0 0}.portrait-banner{background:#303b34;color:#fff;overflow:hidden}.portrait-grid{display:grid;grid-template-columns:1fr 45%;align-items:center;gap:10%;min-height:620px}.portrait-grid>div{padding:90px 0}.portrait-banner h2{margin-bottom:25px}.portrait-banner p:not(.eyebrow){color:#d7ddd5;max-width:410px}.portrait-grid img{width:100%;height:620px;object-fit:cover;object-position:center 40%}.button{display:inline-flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;padding:19px 24px;font-size:12px;font-weight:700;letter-spacing:.3px;min-width:205px;margin-top:16px}.button.light{background:var(--ivory);color:var(--ink)}.button:hover{opacity:.85}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12%}.contact h2{margin-bottom:0}.contact-note{font-size:11px!important;color:#7c8278!important;margin-top:19px}.footer{background:var(--ivory);border-top:1px solid var(--line);padding:50px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer p,.footer span{font-size:10px;letter-spacing:.6px;color:#70776c}.footer .wordmark span{font-family:inherit;font-size:inherit;letter-spacing:inherit}.footer-inner>div:last-child{text-align:right}.footer-inner>div:last-child>span{letter-spacing:1.1px}.footer-inner p{margin-top:18px;margin-bottom:0}@media(min-width:1200px){h1{white-space:nowrap}}@media(max-width:1000px){.container{width:calc(100% - 60px)}.links{gap:16px}.nav{min-height:90px}.wordmark{font-size:27px}h1{font-size:clamp(34px,5.1vw,55px);letter-spacing:-2px}.section{padding:95px 0}.intro-grid,.about-grid{gap:6%}.about-image img{height:590px}.service{padding-right:20px}.service:not(:first-child){padding-left:20px}.service h3{font-size:22px}.history-grid{grid-template-columns:1fr}.history-photos{margin-top:25px}}@media(max-width:720px){.container{width:calc(100% - 38px)}.nav{min-height:80px}.wordmark{font-size:26px}.wordmark small{font-size:7px}.menu-toggle{display:block;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700}.menu-toggle span{font-size:18px;margin-left:7px}.links{display:none;position:absolute;top:80px;left:0;right:0;background:var(--ivory);border-bottom:1px solid var(--line);padding:25px 20px;flex-direction:column;align-items:stretch;gap:20px}.links.open{display:flex}.nav-contact{align-self:start}.hero{padding:53px 0 24px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:clamp(33px,8.6vw,55px);letter-spacing:-1.8px;line-height:1.3}h1 span{white-space:normal}.hero-bottom{display:block;margin-bottom:28px}.hero-bottom p{font-size:10px;margin-bottom:25px}.photo-caption{font-size:8px}.section{padding:75px 0}.intro-grid,.topics-grid,.about-grid,.contact-grid,.portrait-grid{grid-template-columns:1fr;gap:34px}.intro h2,.section-top h2,.about h2,.history h2,.testimonials h2,.contact h2,.portrait-banner h2,.topics h2{font-size:clamp(31px,8vw,45px)}.intro-text{padding:0}.full-image img{height:300px}.image-label{left:19px;bottom:17px;font-size:8px;padding:12px}.section-top,.testimonials-heading{display:block;margin-bottom:40px}.section-top h2{width:100%}.service-grid,.quote-grid{grid-template-columns:1fr}.service{min-height:250px;padding:23px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}.service:last-child{border-bottom:0}.service h3{font-size:24px}.topic-list{grid-template-columns:1fr 1fr;gap:0 13px}.topic-list span{font-size:11px}.about-image img{height:auto;max-height:640px;object-fit:contain}.about-copy{padding-top:0}.history-photos{grid-template-columns:1fr 1fr;gap:12px}.history figure img{height:210px}.history figure:nth-child(2) img{height:260px}.quote-grid{gap:24px}.quote-grid figure{min-height:0;padding-bottom:20px}.quote-grid blockquote{font-size:16px}.portrait-grid{gap:0}.portrait-grid>div{padding:70px 0 30px}.portrait-grid img{height:440px;object-position:center 35%}.footer-inner{display:block}.footer-inner>div:last-child{text-align:left;margin-top:32px}}

/* Revision 2 — editorial type and immersive image-first hero */
.wordmark,.footer .wordmark{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-1.7px;color:var(--ink)}
.hero{padding:0;background:#1b211f}.hero-visual{height:clamp(540px,72vh,810px);position:relative;overflow:hidden}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 51%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,18,.78) 0%,rgba(12,19,18,.53) 47%,rgba(12,19,18,.10) 100%)}.hero-overlay{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;color:#fff;padding-top:22px;padding-bottom:30px}.hero-overlay .eyebrow{color:#e7e9de;margin-bottom:30px}.hero h1{font-size:clamp(42px,5.5vw,83px);line-height:1.17;letter-spacing:-2.7px;white-space:normal;text-shadow:0 2px 22px rgba(0,0,0,.24);margin-bottom:22px}.hero h1 span{white-space:normal}.hero-tagline{font-size:13px;text-transform:uppercase;letter-spacing:1.35px;line-height:1.7;font-weight:600;margin-bottom:26px}.hero-cta{font-size:12px;letter-spacing:.4px;border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:10px;font-weight:700}.intro{padding:105px 0}.services{padding-top:105px}.workshop-note{margin-top:66px;display:grid;grid-template-columns:1fr 45%;gap:7%;align-items:center;border-top:1px solid var(--line);padding-top:45px}.workshop-note h3{font-size:clamp(26px,2.6vw,38px);line-height:1.35}.workshop-note p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:560px}.workshop-note img{width:100%;height:260px;object-fit:cover;object-position:center}.partners{background:#f1ece1;padding:75px 0 90px;text-align:center}.partners h2{font-size:clamp(28px,3vw,42px);letter-spacing:-1.2px;margin-bottom:14px}.partners-description{font-size:13px;color:var(--muted);margin-bottom:38px}.partner-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:center}.partner-logos img{width:100%;max-height:80px;object-fit:contain;mix-blend-mode:multiply}.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 58px}.quote-grid figure{min-height:240px}.quote-grid blockquote{font-size:16px}.intro-text p{max-width:520px}
@media(max-width:900px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.hero-visual{height:650px}.hero-shade{background:linear-gradient(90deg,rgba(12,19,18,.79),rgba(12,19,18,.20))}}
@media(max-width:720px){.hero-visual{height:590px}.hero-visual>img{object-position:43% center}.hero-shade{background:linear-gradient(0deg,rgba(12,19,18,.78),rgba(12,19,18,.37))}.hero-overlay{justify-content:flex-end;padding-bottom:56px}.hero h1{font-size:clamp(35px,8.3vw,58px);letter-spacing:-1.8px}.hero-tagline{font-size:10px;letter-spacing:.8px}.intro{padding:75px 0}.workshop-note{grid-template-columns:1fr;gap:22px;margin-top:45px}.workshop-note img{height:210px}.partners{padding:65px 0}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.quote-grid{grid-template-columns:1fr}.quote-grid figure{min-height:0}}

/* Revision 3: compact hero framing, brand descriptor and aligned service titles */
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.brand-subtitle{font-size:9px;font-weight:700;letter-spacing:1.35px;color:var(--olive);white-space:nowrap}
.hero-visual>img{transform:scale(1.19);transform-origin:center center;object-position:center 50%}
.hero-overlay{padding-top:0}
.service-kicker-placeholder{visibility:hidden}
.service>div{display:flex;flex-direction:column;align-items:flex-start}
.service .service-kicker{height:30px;display:flex;align-items:flex-start;margin:0}
.service h3{margin-top:14px}
.service .text-link{margin-top:auto}
@media(max-width:720px){
.brand-subtitle{font-size:7px;letter-spacing:.9px}
.hero-visual>img{transform:scale(1.18);object-position:47% 50%}
.service .service-kicker{height:26px}
}

/* Version 4: make the three offer headings share one baseline regardless of copy length. */
@media (min-width: 721px) {
  .service-grid > .service {justify-content:flex-start;}
  .service-grid > .service > .service-number {display:block; flex:0 0 24px; margin:0 0 12px;}
  .service-grid > .service > div {flex:1; display:flex; flex-direction:column; align-items:flex-start;}
  .service-grid > .service .service-kicker {flex:0 0 30px; height:30px; margin:0;}
  .service-grid > .service h3 {margin:14px 0 18px; min-height:70px;}
  .service-grid > .service .text-link {margin-top:auto;}
}

/* Mobile refinement trial — desktop unchanged */
@media (max-width:720px) {
  .hero-tagline {font-size:12px;line-height:1.65;letter-spacing:.65px;}
  .hero-cta {font-size:14px;}
  .eyebrow {font-size:11px;letter-spacing:1.2px;}
  .brand-subtitle {font-size:8px;letter-spacing:.6px;}
  .topic-list span {font-size:13px;line-height:1.65;}
  .links a {font-size:16px;min-height:44px;display:flex;align-items:center;}
  .menu-toggle {min-height:44px;min-width:44px;}
  .contact-note {overflow-wrap:anywhere;}
}
@media (max-width:380px) {
  .hero h1 {font-size:34px;}
  .hero-overlay {padding-bottom:38px;}
  .hero-visual {height:560px;}
}
