:root{--paper:#f4f3ed;--ink:#29322d;--muted:#666c62;--line:#d7d9cf;--accent:#a8482e;--dark:#29372f;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:#d6ded0;color:var(--ink)}.wrap{width:min(100% - 112px,1392px);margin-inline:auto}.skip-link{position:fixed;z-index:10;top:12px;left:12px;transform:translateY(-200%);padding:12px;background:var(--ink);color:#fff}.skip-link:focus{transform:none}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:23px}.brand-mark{font-size:43px;font-weight:600;letter-spacing:-3px;line-height:1;position:relative;padding-right:9px}.brand-dot{width:7px;height:7px;position:absolute;right:-1px;top:3px;background:var(--accent)}.brand-name{font-size:11px;line-height:1.5;letter-spacing:.03em;border-left:1px solid var(--line);padding-left:22px}.site-header nav{display:flex;gap:40px;align-items:center;font-size:13px}.site-header nav a{padding:11px 0;transition:color .2s}.site-header nav a:hover{color:var(--accent)}.site-header nav .nav-mandate{margin-left:16px;border-bottom:1px solid var(--ink);display:flex;gap:32px}.menu-toggle{display:none}.hero-topline{display:flex;justify-content:space-between;align-items:center;padding-top:34px}.eyebrow,.location,.section-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}.location{display:flex;align-items:center;gap:12px;color:var(--muted);letter-spacing:.07em}.status-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:16px;padding:65px 0 62px}.hero h1{font-size:clamp(66px,6.45vw,102px);line-height:1.015;font-weight:400;letter-spacing:-.065em;margin:0 0 29px}.hero h1 em{font-family:var(--serif);font-weight:400;color:var(--accent);letter-spacing:-.059em}.hero-copy>p{font-size:15px;line-height:1.65;max-width:340px;margin:0 0 25px;color:#586056}.text-link{font-size:12px;display:inline-flex;gap:25px;align-items:center}.circle-arrow{width:33px;height:33px;border:1px solid #a9aea0;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:background .2s,color .2s,transform .2s}.text-link:hover .circle-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.hero-visual{margin:0 0 0 -3%;position:relative}.visual-image{aspect-ratio:1.17;background-color:#ecebe4;background-size:cover;background-position:center}.hero-visual figcaption{display:flex;justify-content:space-between;font-size:10px;padding-top:14px;color:var(--muted)}.figure-index{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.hero-foot{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:11px;line-height:1.7}.hero-foot p{margin:0;color:var(--muted)}.hero-foot p span{color:var(--ink)}.hero-foot a{display:flex;align-items:center;gap:10px}.hero-foot a:hover{color:var(--accent)}.small-square{display:inline-block;width:5px;height:5px;background:var(--accent);flex:0 0 auto}.section{padding-top:94px;padding-bottom:98px}.section-label{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.section-label>span:last-child{letter-spacing:.05em}.section-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:end;margin:41px 0 46px}h2{font-weight:400;font-size:clamp(38px,3.8vw,58px);letter-spacing:-.045em;line-height:1.12;margin:0}h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.section-intro>p{font-size:14px;line-height:1.7;max-width:353px;color:var(--muted);margin:0 0 3px}.services-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:6%}.service{border-top:1px solid var(--line)}.service:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.service summary{list-style:none;display:flex;align-items:flex-start;gap:20px;padding:29px 0;cursor:pointer;min-height:115px}.service summary::-webkit-details-marker{display:none}.service-number{font-size:9px;color:var(--muted);padding-top:6px}.service-heading{display:flex;flex-direction:column;gap:9px}.service-title{font-size:19px;letter-spacing:-.025em;line-height:1.3}.service-description{font-size:11px;color:var(--muted);line-height:1.5}.plus{font-size:25px;font-weight:300;line-height:1;margin-left:auto;padding-top:1px;transition:transform .2s;color:var(--muted)}.service[open] .plus{transform:rotate(45deg)}.service summary:hover .service-title{color:var(--accent)}.service-detail{padding:0 24px 28px 34px;font-size:13px;line-height:1.7;color:var(--muted)}.service-detail p{margin:0 0 17px}.service-detail>span{font-size:10px;color:var(--accent)}.principles{background:var(--dark);color:var(--paper);padding:55px 0 66px}.principles .section-label{color:#c4ccbe}.principles h2{margin:53px 0 56px;max-width:800px;font-size:clamp(46px,4.7vw,72px)}.principles h2 em{color:#c3cebc}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%}.principle-line{display:block;width:26px;height:1px;background:#a7b39d;margin-bottom:25px}.principles h3{font-size:18px;font-weight:400;letter-spacing:-.02em;margin:0 0 15px}.principles p{font-size:13px;line-height:1.75;color:#c4ccbe;max-width:275px;margin:0}.working{padding-bottom:100px}.working-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:48px}.working-intro{max-width:270px;color:var(--muted);font-size:14px;line-height:1.7;margin-top:25px}.working-list article{display:flex;gap:27px;padding:25px 0;border-bottom:1px solid var(--line)}.working-list article:first-child{padding-top:0}.working-list article>span{font-size:10px;color:var(--accent);padding-top:5px}.working-list h3{margin:0 0 11px;font-size:21px;letter-spacing:-.03em;font-weight:400}.working-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.7;max-width:370px}.mandates-inner{border-top:1px solid #bec5b6;border-bottom:1px solid #bec5b6;background:#e5e8df;padding:49px 42px 47px;display:grid;grid-template-columns:1.45fr 1fr;gap:8%;align-items:center}.mandates .eyebrow{font-size:9px;color:#545e51}.mandates h2{margin-top:23px;font-size:35px;line-height:1.22;letter-spacing:-.04em}.mandates h2 em{color:var(--accent)}.mandates-copy p{font-size:13px;color:#545e51;line-height:1.75;margin:0 0 22px}.mandate-note{font-size:9px;display:flex;gap:8px;align-items:center}.site-footer{padding-top:68px}.footer-main{display:flex;align-items:center;justify-content:space-between;padding-bottom:44px}.footer-main>p{font-size:12px;color:var(--muted)}.back-to-top{font-size:11px;display:flex;align-items:center;gap:30px}.back-to-top:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding:23px 0 25px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.legal{max-width:800px;padding-top:70px;padding-bottom:80px}.legal h1{font-size:56px;letter-spacing:-.04em;font-weight:400;margin-top:30px}.legal h2{font-size:27px;margin-top:45px;margin-bottom:18px}.legal h3{font-size:17px;font-weight:500;margin-top:30px}.legal p{line-height:1.8;font-size:14px;color:var(--muted)}.legal a{text-decoration:underline;text-underline-offset:3px}.legal address{font-style:normal;line-height:1.8;font-size:14px}.legal .eyebrow{text-decoration:none}
.visual-image{display:block;width:100%;height:auto;object-fit:cover}
.legal a{overflow-wrap:anywhere}
@media(min-width:1600px){.hero-grid{gap:6%;padding-top:80px;padding-bottom:80px}.hero-copy>p{font-size:17px;max-width:395px}.hero-visual{margin-left:0}.visual-image{aspect-ratio:1.2}.hero-foot{font-size:12px}.section-label,.eyebrow{font-size:11px}.service-title{font-size:22px}.service-description{font-size:13px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:clamp(58px,7vw,76px)}.hero-grid{padding-top:48px;gap:4%}.hero-copy>p{font-size:14px;max-width:300px}.hero-visual{margin:0}.hero-foot{font-size:10px}.hero-foot p span{display:block}.section-intro{gap:8%}.service-title{font-size:17px}.service summary{gap:14px}.service-description{font-size:10px}.mandates-inner{padding:38px 30px;gap:6%}.mandates h2{font-size:30px}.footer-main>p{display:none}.brand-name{padding-left:16px}.brand{gap:17px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{height:91px;position:relative}.brand-mark{font-size:36px}.brand-name{font-size:9px}.menu-toggle{display:flex;gap:18px;align-items:center;background:none;border:0;padding:13px 0 13px 13px;font-size:12px}.menu-toggle>span{font-size:22px;transition:transform .2s}.menu-toggle[aria-expanded=true]>span{transform:rotate(45deg)}.site-header nav{display:none;position:absolute;top:90px;left:-20px;right:-20px;background:var(--paper);z-index:5;padding:20px 25px 25px;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #29322d0a}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.site-header nav a{padding:15px 0}.site-header nav .nav-mandate{margin-left:0;justify-content:space-between;border-bottom:0}.hero-topline{padding-top:27px}.hero-topline .eyebrow{font-size:8px;letter-spacing:.1em}.location{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:35px;padding-bottom:29px;gap:39px}.hero h1{font-size:clamp(49px,12.8vw,87px);letter-spacing:-.063em;margin-bottom:25px}.hero-copy>p{font-size:14px;max-width:325px;line-height:1.7;margin-bottom:19px}.text-link{font-size:11px;gap:24px}.hero-visual{width:100%}.visual-image{aspect-ratio:1.28}.hero-visual figcaption{font-size:9px;padding-top:12px}.figure-index{font-size:8px}.hero-foot{flex-direction:column;gap:12px;padding:19px 0}.hero-foot p span{display:inline}.hero-foot a{font-size:10px}.section{padding-top:63px;padding-bottom:62px}.section-label{font-size:9px}.section-label>span:last-child{display:none}.section-intro{display:block;margin:31px 0 32px}h2{font-size:39px}.section-intro>p{margin-top:24px;font-size:13px;max-width:350px}.services-grid{grid-template-columns:1fr}.service:nth-last-child(2){border-bottom:0}.service summary{padding:24px 0;min-height:104px;gap:17px}.service-title{font-size:19px}.service-description{font-size:11px;max-width:260px}.service-detail{padding-left:31px;font-size:13px}.principles{padding:37px 0 48px}.principles h2{font-size:43px;margin:37px 0 36px}.principles-grid{grid-template-columns:1fr;gap:30px}.principles-grid article{display:grid;grid-template-columns:22px 1fr;column-gap:14px}.principle-line{width:18px;margin-top:11px}.principles h3{font-size:18px;margin-bottom:11px}.principles p{grid-column:2;max-width:330px;font-size:13px}.working-layout{display:block;margin-top:32px}.working-intro{max-width:320px;font-size:13px;margin-top:23px}.working-list{margin-top:35px}.working-list article{gap:24px;padding:24px 0}.working-list h3{font-size:21px}.working-list p{font-size:13px}.mandates-inner{display:block;padding:33px 23px 35px}.mandates h2{font-size:32px;margin-top:23px}.mandates h2 br{display:none}.mandates-copy{margin-top:27px}.mandates-copy p{font-size:13px}.mandate-note{font-size:9px}.site-footer{padding-top:46px}.footer-main{align-items:flex-start;gap:24px;padding-bottom:34px}.footer-main .brand-name{display:none}.back-to-top{font-size:10px;gap:14px;margin-top:10px}.footer-bottom{align-items:flex-start;gap:14px;flex-wrap:wrap;font-size:9px;line-height:1.5}.footer-bottom>span:first-child{width:100%}.legal{padding-top:45px}.legal h1{font-size:44px}.legal h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Scroll direction: quiet typography, cinematic depth, native scrolling. */
.hero-title-line { display: block; }
.hero-action { display: flex; align-items: center; justify-content: space-between; padding: 0 0 28px; }
.hero-statement, .scroll-cue { display: none; }
.ink-line { position: relative; display: block; width: max-content; max-width: 100%; }
.ink-fill { display: none; }
.reading-progress { position: fixed; z-index: 30; inset: 0 0 auto; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; pointer-events: none; }

/* Content remains fully visible until motion has initialized. */
html.motion-ready { scroll-padding-top: 110px; }
.motion-ready .site-header { height: 80px; position: sticky; top: 0; z-index: 20; background: #f4f3edeb; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.motion-ready .site-header::before { content: ''; position: absolute; inset: 0 calc((min(1392px, 100vw - 112px) - 100vw) / 2); z-index: -1; background: #f4f3edef; }
.motion-ready .site-header .brand-mark { font-size: 36px; }
.motion-ready .site-header nav { font-size: 14px; }
.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready [data-reveal].is-visible,
.motion-ready [data-reveal]:focus-within { opacity: 1; transform: none; }
.motion-ready .hero-visual { overflow: visible; }
.motion-ready .visual-image { transform: translate3d(0, var(--image-y, 0px), 0) scale(var(--image-scale, 1)); }
.motion-ready .scroll-cue { display: flex; align-items: center; gap: 20px; font-size: 12px; color: var(--muted); }
.scroll-cue-line { display: block; height: 32px; width: 1px; background: var(--line); position: relative; overflow: hidden; }
.scroll-cue-line::after { content: ''; position: absolute; inset: 0; background: var(--accent); transform: scaleY(var(--hero-progress, 0)); transform-origin: top; }
.motion-ready .hero-copy > p { font-size: 16px; }
.motion-ready .text-link { font-size: 14px; }
.motion-ready .hero-topline .eyebrow, .motion-ready .hero-topline .location { font-size: 12px; letter-spacing: .08em; }
.motion-ready .hero-visual figcaption { font-size: 12px; }
.motion-ready .hero-visual .figure-index { font-size: 12px; }

@media (min-width: 901px) and (min-height: 680px) and (prefers-reduced-motion: no-preference) {
  .motion-ready .hero-scroll { height: 230svh; position: relative; }
  .motion-ready .hero-scene { position: sticky; top: 80px; height: calc(100svh - 80px); overflow: clip; }
  .motion-ready .hero { height: 100%; display: flex; flex-direction: column; position: relative; }
  .motion-ready .hero-topline { padding-top: 25px; flex: 0 0 auto; opacity: var(--intro-opacity, 1); }
  .motion-ready .hero-grid { flex: 1; min-height: 0; padding: 25px 0 22px; gap: 4%; }
  .motion-ready .hero h1 { font-size: clamp(60px, min(6.3vw, 10.5svh), 106px); margin-bottom: 22px; }
  .motion-ready .hero-copy { position: relative; z-index: 2; }
  .motion-ready .hero-title-line { transform: translate3d(0, var(--line-y, 0px), 0); opacity: var(--line-opacity, 1); }
  .motion-ready .hero-copy > p { max-width: 370px; margin: 0; transform: translate3d(0, var(--copy-y, 0px), 0); opacity: var(--intro-opacity, 1); }
  .motion-ready .hero-visual { margin: 0; transform: translate3d(var(--visual-x, 0px), var(--visual-y, 0px), 0) scale(var(--visual-scale, 1)); opacity: var(--visual-opacity, 1); transform-origin: center; }
  .motion-ready .visual-image { height: min(57svh, 530px); width: 100%; aspect-ratio: auto; object-fit: cover; }
  .motion-ready .hero-visual figcaption { opacity: var(--intro-opacity, 1); }
  .motion-ready .hero-action { flex: 0 0 auto; position: relative; z-index: 5; padding-bottom: 22px; }
  .motion-ready .hero-foot { font-size: 12px; padding-block: 16px; flex: 0 0 auto; position: relative; z-index: 5; }
  .motion-ready .hero-statement { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; pointer-events: none; z-index: 4; transform: translate3d(0, var(--statement-y, 70px), 0) scale(var(--statement-scale, .93)); opacity: var(--statement-opacity, 0); padding-bottom: 38px; }
  .motion-ready .hero-statement .eyebrow { font-size: 12px; margin-bottom: 25px; }
  .motion-ready .hero-statement p { font-size: clamp(76px, 8.2vw, 130px); line-height: 1.06; letter-spacing: -.055em; margin: 0; }
  .motion-ready .hero-statement em { font-family: var(--serif); font-weight: 400; color: var(--accent); }
  .motion-ready .hero-scroll.is-active .hero-visual,
  .motion-ready .hero-scroll.is-active .hero-title-line { will-change: transform, opacity; }

  .motion-ready .principles-scroll { height: 185svh; position: relative; }
  .motion-ready .principles { position: sticky; top: 80px; min-height: calc(100svh - 80px); padding: 40px 0 48px; display: flex; align-items: center; overflow: clip; clip-path: inset(0 var(--principles-inset, 3%) round var(--principles-radius, 28px)); }
  .motion-ready .principles > .wrap { width: min(100% - 112px, 1392px); }
  .motion-ready .principles h2 { font-size: clamp(48px, min(6.5vw, 12svh), 100px); margin: 7svh 0 8svh; transform: translate3d(0, var(--principles-title-y, 20px), 0); }
  .motion-ready .ink-line { color: #a0aea0; }
  .motion-ready .ink-line > em { color: inherit; }
  .motion-ready .ink-fill { display: block; position: absolute; inset: 0; color: var(--paper); clip-path: inset(0 var(--ink-clip, 100%) 0 0); }
  .motion-ready .ink-line > em.ink-fill { color: #d8dfd1; }
  .motion-ready .principles-grid article { opacity: var(--principle-opacity, 0); transform: translate3d(0, var(--principle-y, 32px), 0); }
  .motion-ready .principles p { font-size: 16px; max-width: 330px; }
  .motion-ready .principles h3 { font-size: 21px; }
  .motion-ready .working-layout > div:first-child { align-self: start; position: sticky; top: 155px; }
  .motion-ready .working-list article { padding: 48px 0; }
  .motion-ready .working-list article:first-child { padding-top: 0; }
}

@media (max-width: 1050px) {
  .motion-ready .site-header::before { inset-inline: -32px; }
}
@media (max-width: 900px), (max-height: 679px) {
  .motion-ready .hero-visual { overflow: clip; }
  .motion-ready .hero-visual figcaption { position: relative; background: var(--paper); padding-bottom: 2px; }
  .motion-ready .scroll-cue { display: none; }
  .motion-ready .hero-action { padding-bottom: 30px; }
  .motion-ready .principles h2 { font-size: clamp(36px, 5.7vw, 64px); }
  .motion-ready .principles-scroll { height: auto; }
}
@media (max-width: 760px) {
  .motion-ready .site-header { height: 76px; }
  .motion-ready .site-header::before { inset-inline: -20px; }
  .motion-ready .site-header nav { top: 75px; }
  .motion-ready .hero-grid { gap: 32px; padding-bottom: 25px; }
  .motion-ready .hero-copy > p { margin: 0; }
  .motion-ready .hero-topline .eyebrow { font-size: 10px; }
  .motion-ready .hero-visual figcaption, .motion-ready .hero-visual .figure-index { font-size: 10px; }
  .motion-ready .principles h2 { font-size: clamp(30px, 8.9vw, 54px); }
  .motion-ready .circle-arrow { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-progress, .scroll-cue, .hero-statement { display: none !important; }
  .hero-scroll, .principles-scroll { height: auto !important; }
  .hero-scene, .principles { position: static !important; height: auto !important; min-height: 0 !important; clip-path: none !important; }
  [data-reveal], .hero-visual, .visual-image, .hero-title-line, .hero-copy > p, .principles h2, .principles-grid article { opacity: 1 !important; transform: none !important; }
  .ink-fill { display: none !important; }
  .hero-title-line, .hero-topline, .hero-visual figcaption { opacity: 1 !important; }
}
@media print {
  .reading-progress, .scroll-cue, .hero-statement { display: none !important; }
  .site-header, .hero-scene, .principles, .working-layout > div:first-child { position: static !important; }
  .hero-scroll, .principles-scroll, .hero-scene { height: auto !important; min-height: 0 !important; }
  [data-reveal], .hero-copy > p, .hero-title-line, .hero-visual, .visual-image, .hero-topline, .hero-visual figcaption, .principles-grid article { opacity: 1 !important; transform: none !important; }
  .principles { clip-path: none !important; }
}
