:root{--ink:#111;--paper:#fff;--muted:#626262;--line:#dedede;--gold:#d6ba87}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4vw,3.8rem)}h3{font-size:1.45rem;line-height:1.35;font-weight:500;letter-spacing:-.025em}p{color:var(--muted)}em{font-weight:400}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.section{padding-top:104px;padding-bottom:104px}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;line-height:1.5;color:var(--muted)}header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:5}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:15px;flex-shrink:0}.monogram{font-family:Georgia,serif;font-size:2.5rem;line-height:1;letter-spacing:-.09em}.monogram span{font-size:1.55rem;margin:0 .1rem}.brand-name{font-size:.65rem;font-weight:700;letter-spacing:.15em;line-height:1.55;border-left:1px solid #bbb;padding-left:15px}nav{display:flex;align-items:center;gap:32px;font-size:.875rem}nav a:hover,.text-link:hover{color:#806135}.nav-cta{border:1px solid var(--ink);padding:11px 19px;display:flex;gap:30px}.menu-button{display:none}.hero{background:#101010;color:#fff;padding:76px 0 0}.hero-grid{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:70px}.hero .eyebrow{color:var(--gold);margin-bottom:27px}.hero h1{font-size:clamp(3.5rem,6.4vw,6rem)}.hero h1 em{color:var(--gold)}.intro{max-width:460px;font-size:1.125rem;color:#c2c2c2;margin-top:25px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 21px;margin-top:30px;font-size:.9rem;font-weight:600;border:1px solid #fff}.light{background:#fff;color:#111}.button:hover{background:var(--gold);border-color:var(--gold)}.hero-note{font-size:.8rem;color:#aaa;margin-top:18px}.hero-brand{padding:24px 24px 0;background:#000;border:1px solid #292929}.hero-brand img{display:block;width:100%;height:auto}.brand-caption{display:flex;justify-content:space-between;gap:15px;font-size:.6rem;letter-spacing:.1em;color:#aaa;border-top:1px solid #333;padding:24px 0}.hero-bottom{margin-top:68px;display:flex;justify-content:space-between;border-top:1px solid #383838;padding:24px 0;color:#b5b5b5;font-size:.8rem;letter-spacing:.04em}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:54px}.section-heading>.eyebrow{padding-top:10px}.section-heading p:not(.eyebrow){margin-top:23px;max-width:590px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;gap:30px;align-items:center;cursor:pointer;padding:28px 0}summary::-webkit-details-marker{display:none}.number{font-size:.875rem;color:#777;min-width:40px}summary h3{flex:1}.plus{font-size:1.7rem;font-weight:300;margin-left:auto;line-height:1}.service-body{margin:0 0 30px 70px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-body p{max-width:400px}ul{padding-left:19px;margin:0;color:var(--muted)}li{padding-bottom:5px}details[open] .plus{transform:rotate(45deg)}.audience{background:#f3f3f1}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px}.audience-grid article{border-top:2px solid var(--ink);padding-top:25px}.audience-grid h3{font-family:Georgia,serif;font-size:2.15rem;font-weight:400;line-height:1.15;margin:20px 0;letter-spacing:-.035em}.audience-grid article>p:not(.eyebrow){max-width:480px}.audience-grid ul{margin:22px 0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:.875rem;font-weight:600;padding-bottom:7px;border-bottom:1px solid #999}.sector-line{border-top:1px solid #ccc;margin-top:58px;padding-top:22px;display:flex;gap:28px;align-items:baseline}.sector-line span{flex-shrink:0;font-size:.65rem;letter-spacing:.12em;font-weight:700}.sector-line p{font-size:.875rem}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.about h2{margin-top:25px}.about-intro{font-size:1.125rem;color:#333;margin:26px 0 17px}.values{display:flex;gap:10px 25px;flex-wrap:wrap;margin-top:30px;font-size:.8rem;color:#555}.leader{border:1px solid #d3d3d3;padding:30px}.leader-top{display:flex;gap:15px;justify-content:space-between;font-size:.6rem;letter-spacing:.1em;color:#666}.initials{font-family:Georgia,serif;font-size:5rem;line-height:1.2;display:block;color:#9a8057;margin:36px 0 27px}.leader h3{font-size:1.65rem}.leader .role{font-size:.8rem;color:#333;margin:7px 0 22px}.leader>p:not(.role){font-size:.95rem;margin-bottom:25px}.testimonials{background:#f3f3f1}.testimonials h2{margin:20px 0 36px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}blockquote{margin:0;padding:30px;background:white}blockquote p{color:#333;font-family:Georgia,serif;font-size:1.4rem}blockquote cite{display:block;margin-top:24px;font-size:.875rem;font-style:normal}.contact{background:#111;color:#fff;padding:90px 0}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:95px}.contact .eyebrow{color:var(--gold);margin-bottom:22px}.contact h2 em{color:var(--gold)}.contact p{color:#bcbcbc;max-width:460px;margin-top:25px}.contact-details{padding-top:12px}.contact-details>a{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid #454545;padding:19px 0 26px;margin-bottom:15px}.contact-details span{display:block;font-size:.65rem;letter-spacing:.1em;color:#aaa;grid-column:1/-1}.contact-details strong{font-size:clamp(1rem,1.6vw,1.4rem);font-weight:400;margin-top:7px;overflow-wrap:anywhere}.contact-details b{align-self:end;font-size:1.5rem;font-weight:400}.contact-details>div{margin-top:31px}.contact-details p{margin-top:8px;font-size:.95rem}footer{padding:30px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>a,.footer-grid>a:last-child{font-size:.75rem}footer .monogram{font-size:2rem}footer .brand-name{font-size:.55rem}.skip{position:fixed;left:15px;top:-100px;background:#fff;border:2px solid #111;padding:12px;z-index:20}.skip:focus{top:10px}:focus-visible{outline:3px solid #b58b43;outline-offset:5px}[hidden]{display:none!important}@media(min-width:1500px){.hero-grid{gap:100px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}nav{gap:19px}.hero-grid{gap:35px}.section-heading{grid-template-columns:1fr;gap:20px}.section{padding-top:74px;padding-bottom:74px}.about{gap:40px}.contact-grid{gap:40px}.brand-caption{font-size:.55rem;flex-wrap:wrap}.hero-bottom{gap:20px}.service-body{gap:30px}.sector-line{display:block}.sector-line p{margin-top:10px}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.nav{min-height:78px;flex-wrap:wrap;gap:0}.brand-name{font-size:.6rem}.monogram{font-size:2.2rem}.menu-button{display:flex;gap:13px;align-items:center;border:0;background:transparent;padding:12px 0;font-size:.875rem}nav{display:none;width:100%;padding:18px 0 25px;align-items:stretch;gap:5px}nav.is-open{display:flex;flex-direction:column}nav a{padding:12px}.nav-cta{margin-top:8px}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:3.8rem}.hero .eyebrow{margin-bottom:22px}.intro{font-size:1rem}.hero-brand{max-width:310px;margin:0 auto;width:100%;padding:15px 20px 0}.brand-caption{padding:15px 0;font-size:.55rem}.hero-bottom{margin-top:38px;flex-wrap:wrap;gap:10px 24px;font-size:.75rem}.hero-bottom span:last-child{flex-basis:100%}.section{padding:60px 0}.section-heading{margin-bottom:32px}.section-heading p:not(.eyebrow){margin-top:20px}h2{font-size:2.5rem}summary{gap:15px;padding:23px 0}summary h3{font-size:1.125rem}.number{min-width:24px}.service-body{grid-template-columns:1fr;margin-left:39px;gap:18px}.audience-grid,.about,.contact-grid,.testimonial-grid{grid-template-columns:1fr}.audience-grid{gap:39px}.audience-grid h3{font-size:1.9rem}.sector-line{margin-top:40px}.about{gap:35px}.leader{padding:25px}.contact{padding:60px 0}.contact-grid{gap:25px}.contact-details strong{font-size:1.125rem}.footer-grid{flex-direction:column;align-items:flex-start;gap:20px}.hero-note{font-size:.75rem}.text-link{line-height:1.5}.leader-top{font-size:.65rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Phone and tablet refinements: preserve readable text and generous touch targets. */
.hero-grid>*,.section-heading>*,.audience-grid>*,.about>*,.contact-grid>*{min-width:0}
a,button,summary{-webkit-tap-highlight-color:rgba(214,186,135,.22)}
.button,.text-link,summary,.menu-button{touch-action:manipulation}
@media(max-width:800px){
 html{scroll-padding-top:96px}
 .wrap{width:calc(100% - 40px)}
 .nav{min-height:78px;flex-wrap:wrap;gap:0;position:relative}
 .menu-button{display:flex;align-items:center;gap:12px;min-height:48px;min-width:76px;justify-content:center;padding:10px 8px;border:1px solid #ddd;background:#fff;font-size:.875rem}
 nav{display:none;width:100%;padding:14px 0 20px;align-items:stretch;gap:4px;max-height:calc(100dvh - 95px);overflow-y:auto;overscroll-behavior:contain}
 nav.is-open{display:flex;flex-direction:column}
 nav a{min-height:48px;padding:12px;font-size:1rem}
 .nav-cta{margin-top:8px}
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .hero-copy{max-width:580px}
 .hero h1{font-size:clamp(2.85rem,8.5vw,4.4rem)}
 .hero-brand{max-width:260px;margin:0 auto;width:100%;padding:16px 20px 0}
 .brand-caption{font-size:.75rem;line-height:1.5;flex-direction:column;gap:5px;padding:14px 0}
 .hero-note{font-size:.875rem}
 .hero-bottom{flex-wrap:wrap;justify-content:flex-start;gap:12px 26px;font-size:.875rem;margin-top:32px}
 .hero-bottom span:last-child{flex-basis:100%}
 .audience-grid,.about,.contact-grid,.testimonial-grid{grid-template-columns:minmax(0,1fr)}
 .audience-grid{gap:40px}
 .about,.contact-grid{gap:35px}
 .service-body{grid-template-columns:minmax(0,1fr);gap:18px}
 .leader{max-width:560px}
 .leader-top{flex-wrap:wrap;font-size:.75rem}
 .leader .role,.values{font-size:.875rem}
 .text-link{min-height:48px;align-items:center;font-size:.9375rem;gap:16px}
 .text-link span,.button span{flex-shrink:0}
 .contact-details strong{font-size:clamp(1rem,4.5vw,1.3rem);min-width:0;overflow-wrap:anywhere}
 .contact-details span,.sector-line span{font-size:.75rem}
 .footer-grid{flex-wrap:wrap}
 .footer-grid>a:last-child{min-height:44px;display:flex;align-items:center;font-size:.875rem}
 footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:480px){
 .hero{padding-top:32px}
 .hero .eyebrow{margin-bottom:18px}
 .intro{margin-top:22px}
 .hero .button{display:flex;width:100%;min-height:54px;gap:16px;font-size:.9375rem;margin-top:24px}
 .hero-brand{max-width:225px}
 h2{font-size:clamp(2rem,8.2vw,2.5rem)}
 h1,h2,h3{overflow-wrap:break-word}
 .section{padding-top:48px;padding-bottom:48px}
 summary{gap:12px}
 summary h3{font-size:1.125rem}
 .service-body{margin-left:0;padding-left:0}
 .leader{padding:22px}
 .leader-top{gap:7px}
 .initials{font-size:4rem;margin:24px 0 20px}
 .contact{padding:48px 0}
 .brand-name{font-size:.625rem;padding-left:10px}
 .wordmark{gap:10px}
 .monogram{font-size:2rem}
 .footer-grid{align-items:flex-start;flex-direction:column;gap:15px}
}
@media(max-height:500px) and (orientation:landscape){header{position:relative}}


/* Continuous client banner: original assets, consistent optical space. */
.client-showcase{padding-top:54px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.client-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.client-heading h2{font-size:2.25rem;margin-top:10px}
.banner-toggle{font:inherit;font-size:.875rem;min-height:44px;padding:9px 16px;background:white;border:1px solid #bdbdbd;color:#333;cursor:pointer;flex-shrink:0}
.banner-toggle:hover{background:#f3f3f1}
.client-banner{overflow-x:auto;overscroll-behavior-x:contain;position:relative;padding:12px 0}
.client-track{display:flex;width:max-content}
.client-group{display:flex;align-items:stretch;flex-shrink:0}
.client-group figure{margin:0;flex:0 0 220px;width:220px;padding:8px 26px;text-align:center}
.client-logo-frame{height:100px;display:flex;align-items:center;justify-content:center}
.client-logo-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:86px;object-fit:contain}
.client-group figcaption{font-size:.875rem;line-height:1.5;color:#666;margin-top:14px;overflow-wrap:break-word}
.client-banner.motion-ready{overflow:hidden}
.motion-ready .client-track{animation:client-scroll 42s linear infinite;will-change:transform}
.client-banner.is-paused .client-track,.client-banner:focus-within .client-track{animation-play-state:paused}
@media(hover:hover){.client-banner:hover .client-track{animation-play-state:paused}}
@keyframes client-scroll{to{transform:translateX(-50%)}}
@media(max-width:640px){.client-showcase{padding-top:38px;padding-bottom:30px}.client-heading{gap:16px;margin-bottom:22px}.client-heading h2{font-size:1.8rem}.client-group figure{width:180px;flex-basis:180px;padding:8px 18px}.client-logo-frame{height:88px}.client-logo-frame img{max-height:74px}.banner-toggle{padding:8px 11px}.client-group figcaption{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.client-banner.motion-ready{overflow-x:auto}.motion-ready .client-track{animation:none;transform:none;will-change:auto}.client-group[aria-hidden="true"]{display:none}.banner-toggle{display:none}}

.client-logo-frame img[src="clients/astra.png"]{filter:brightness(0)}
.banner-toggle:focus-visible,.client-banner:focus-visible{outline:2px solid #8b6c3c;outline-offset:4px}
