:root { --ink:#252624; --muted:#5b5c57; --paper:#f5f2ec; --line:#d0cec7; --lime:#e9d9d2; --red:#bc2438; --gutter:clamp(1.25rem,5vw,6rem); font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-decoration:none; }
button,summary { font:inherit; }
img { max-width:100%; display:block; }
::selection { background:var(--lime); color:var(--ink); }
:focus-visible { outline:3px solid #bc2438; outline-offset:5px; }
html { scroll-padding-top:2rem; }
.shell { width:100%; max-width:1920px; padding-inline:var(--gutter); margin-inline:auto; }
.skip { position:fixed; top:-100px; left:1rem; z-index:100; padding:1rem; background:var(--lime); }
.skip:focus { top:1rem; }
.top { display:flex; justify-content:space-between; align-items:center; gap:2rem; min-height:112px; }
@font-face { font-family:"Relign Logo"; src:url("/fonts/plex-mono-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
.original-logo { display:inline-flex; align-items:center; gap:.55rem; flex-shrink:0; color:#54504a; }
.original-logo img { width:64px; height:64px; object-fit:contain; }
.original-logo-type { display:flex; flex-direction:column; gap:.3rem; font-family:"Relign Logo",monospace; }
.original-logo-type > span { font-size:1.65rem; line-height:1; letter-spacing:-.04em; }
.original-logo-type small { font-size:.59rem; line-height:1; letter-spacing:.22em; }
.desktop-nav { display:flex; gap:2.6rem; }
.desktop-nav a { font-size:1.05rem; padding:.8rem 0; }
.desktop-nav a:hover,.footer a:hover { text-decoration:underline; text-underline-offset:.25em; }
.top-contact { display:flex; align-items:center; gap:2rem; border-bottom:1px solid var(--ink); padding:.7rem 0; font-size:1.05rem; }
.top-contact span { font-size:1.4rem; }
.mobile-menu { display:none; }
.hero { padding-top:3.5rem; padding-bottom:2.8rem; }
.eyebrow { display:flex; justify-content:space-between; gap:1rem; font-size:.8rem; letter-spacing:.015em; }
.hero-heading-row { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2.4rem; }
h1 { font-size:clamp(4rem,8.2vw,10rem); font-weight:500; line-height:.96; letter-spacing:-.065em; margin:0; }
em { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
h1 em { letter-spacing:-.06em; }
.hero-round { display:grid; place-items:center; flex:0 0 auto; width:clamp(6rem,10vw,11rem); aspect-ratio:1; border:1px solid var(--ink); border-radius:50%; font-size:clamp(3rem,6vw,6rem); font-weight:400; transition:background .2s; }
.hero-round:hover { background:var(--lime); }
.hero-bottom { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; gap:2rem; margin-top:3rem; }
.small-label { font-size:.85rem; line-height:1.5; margin:0; }
.hero-copy { margin:0; max-width:42ch; font-size:clamp(1rem,1.4vw,1.3rem); line-height:1.5; letter-spacing:-.02em; }
.text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:1.5rem; padding-block:.7rem; border-bottom:1px solid var(--ink); font-size:.95rem; width:fit-content; }
.hero-bottom .text-link { justify-self:end; white-space:nowrap; }
.text-link:hover { background:var(--lime); }
.material { margin-top:1rem; margin-bottom:0; }
.material-frame { position:relative; height:clamp(240px,29vw,480px); overflow:hidden; background:#252624; }
.material img { width:100%; height:100%; object-fit:cover; }
.material-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,15,11,.65),transparent 70%); }
.material-frame::after { display:none; }
.material img { object-position:50% 52%; }
.material figcaption a { text-decoration:underline; text-underline-offset:.2em; }
.field-section { padding-top:5rem; }
.field-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.field-heading .section-kicker { margin-bottom:1rem; }
.field-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.field-cards figure { margin:0; }
.field-cards img { width:100%; height:340px; object-fit:cover; background:#e9e6df; }
.field-cards figcaption { display:flex; justify-content:space-between; gap:.75rem; padding-top:1rem; font-size:.95rem; }
.work-intro { padding-block:2rem 3rem; }
.work-intro .section-kicker { margin-block:2.5rem 1.25rem; }
.work-intro h1 { font-size:clamp(3.5rem,7vw,7rem); }
.work-intro p { font-size:1.15rem; max-width:55ch; line-height:1.6; margin-top:2rem; }
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
.work-card { margin:0; scroll-margin-top:2rem; }
.work-card img { width:100%; height:450px; object-fit:contain; background:#e9e6df; }
.work-card figcaption { margin-top:.85rem; font-size:.95rem; }
.material-label { position:absolute; z-index:1; left:2.2rem; bottom:2rem; display:flex; flex-direction:column; font-size:clamp(1.5rem,2.7vw,3rem); color:white; line-height:1.1; letter-spacing:-.035em; }
.material-plus { position:absolute; z-index:1; right:2rem; bottom:1.3rem; color:var(--lime); font-size:5rem; font-weight:300; }
.material figcaption { display:flex; justify-content:space-between; gap:1rem; margin-top:.85rem; color:var(--muted); font-size:.72rem; }
.intro { display:grid; grid-template-columns:1fr 3fr; gap:2rem; padding-block:6.5rem; }
.section-kicker { font-size:.8rem; display:flex; align-items:center; gap:.7rem; line-height:1.5; }
.dot { display:inline-block; width:7px; height:7px; background:currentColor; border-radius:50%; flex:0 0 auto; }
h2 { font-size:clamp(2.4rem,4vw,4.4rem); font-weight:500; line-height:1.04; letter-spacing:-.05em; margin:0; }
.intro-columns { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin:2rem 0 1rem; }
.intro-columns p { font-size:1.05rem; line-height:1.65; max-width:43ch; color:var(--muted); margin:0; }
.expertise-head { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 3fr; gap:2rem; padding-top:2rem; margin-bottom:2.5rem; }
.service-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-panel { padding:clamp(1.5rem,2.8vw,3rem); min-height:470px; display:flex; flex-direction:column; }
.panel-light { background:#e9e6df; }
.panel-lime { background:var(--lime); }
.panel-dark { background:var(--ink); color:var(--paper); }
.panel-top { display:flex; justify-content:space-between; align-items:center; font-size:.75rem; gap:1rem; }
.panel-symbol { font-size:2rem; line-height:1; }
.service-panel h3 { font-size:clamp(2.2rem,3.4vw,3.8rem); font-weight:500; letter-spacing:-.05em; line-height:1.05; margin:2.4rem 0 1.3rem; }
.service-panel p { font-size:1rem; line-height:1.5; max-width:32ch; margin:0 0 2rem; }
.panel-links { margin-top:auto; }
.panel-links a { display:flex; justify-content:space-between; gap:.5rem; font-size:.85rem; border-top:1px solid currentColor; padding:.8rem 0; }
.panel-links a:hover { text-decoration:underline; text-underline-offset:.2em; }
.working { padding-block:6rem; display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.working h2 { margin-top:1.5rem; font-size:clamp(2.4rem,3.5vw,3.6rem); }
.working-steps { list-style:none; padding:0; margin:0; }
.working-steps li { display:flex; gap:2rem; border-top:1px solid var(--line); padding:1.6rem 0; }
.working-steps li > span { font-size:.8rem; margin-top:.2rem; }
.working-steps h3 { font-size:1.2rem; font-weight:500; letter-spacing:-.02em; margin:0 0 .65rem; }
.working-steps p { font-size:.95rem; color:var(--muted); line-height:1.5; margin:0; }
.mantra { background:var(--ink); color:var(--paper); }
.mantra-inner { padding-block:4.5rem; }
.mantra .section-kicker { color:var(--lime); margin-bottom:2.3rem; }
.mantra h2 { font-size:clamp(2.5rem,6.4vw,7.5rem); letter-spacing:-.055em; line-height:1.08; }
.mantra-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:2rem; }
.mantra-bottom p { margin:0; font-size:clamp(2.5rem,5.5vw,6rem); letter-spacing:-.05em; color:var(--lime); }
.round-link { display:grid; place-items:center; height:clamp(5rem,9vw,9rem); aspect-ratio:1; background:var(--lime); color:var(--ink); border-radius:50%; font-size:clamp(2.6rem,5vw,5rem); }
.round-link:hover { background:white; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding-block:5rem; }
.contact h2 { font-size:clamp(3.5rem,6vw,7rem); margin-top:1.4rem; }
.contact-right { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.contact-right p { line-height:1.6; font-size:1.05rem; margin:0 0 2rem; }
.contact-right > a { display:flex; justify-content:space-between; width:100%; max-width:500px; gap:1rem; border-bottom:1px solid var(--line); padding:.7rem 0; font-size:clamp(1.4rem,2.6vw,2.7rem); letter-spacing:-.03em; }
.contact-right > a:hover { border-color:var(--ink); }
.availability { font-size:.8rem; color:var(--muted); margin-top:1.2rem; }
.footer { padding-bottom:1.4rem; }
.footer-main { display:flex; gap:3rem; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:2rem; }
.footer-main p { font-size:.85rem; line-height:1.6; margin:0; }
.footer-main nav { display:flex; gap:1.8rem; font-size:.9rem; }
.footer-base { display:flex; justify-content:space-between; gap:1rem; margin-top:2.5rem; font-size:.7rem; color:var(--muted); }
@media(min-width:1920px) { .hero-copy { font-size:1.35rem; } }
@media(max-width:1050px) {
  .desktop-nav { gap:1.5rem; }
  .hero-bottom { grid-template-columns:1.7fr 1fr; }
  .hero-bottom .small-label { display:none; }
  .hero-heading-row { gap:1rem; }
  .intro,.expertise-head { grid-template-columns:1fr 2.8fr; }
  .service-panel { min-height:450px; }
  .working,.contact { gap:2rem; }
}
@media(min-width:761px) and (max-width:1050px) {
 .top { position:relative; gap:1rem; }
 .desktop-nav { display:none; }
 .top-contact { margin-left:auto; }
 .mobile-menu { display:block; }
 .mobile-menu summary { padding:.7rem .9rem; border:1px solid var(--line); border-radius:2rem; cursor:pointer; list-style:none; }
 .mobile-menu summary::-webkit-details-marker { display:none; }
 .mobile-menu nav { position:absolute; top:calc(100% - .25rem); left:var(--gutter); right:var(--gutter); z-index:10; display:grid; padding:1rem; background:var(--ink); color:var(--paper); }
 .mobile-menu nav a { padding:.8rem; font-size:1.1rem; }
}
@media(max-width:760px) {
  .field-section { padding-top:3rem; }
  .field-heading { display:block; }
  .field-heading .text-link { margin-top:1rem; }
  .field-cards,.work-grid { grid-template-columns:1fr; }
  .work-card img { height:380px; }
  .original-logo { gap:.3rem; }
  .original-logo img { width:48px; height:48px; }
  .original-logo-type > span { font-size:1.25rem; }
  .original-logo-type small { font-size:.47rem; }
  .top { min-height:86px; gap:1rem; position:relative; }
  .desktop-nav { display:none; }
  .top-contact { margin-left:auto; font-size:.95rem; gap:1rem; }
  .mobile-menu { display:block; }
  .mobile-menu summary { padding:.7rem .9rem; border:1px solid var(--line); border-radius:2rem; cursor:pointer; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu nav { position:absolute; top:calc(100% - .25rem); left:var(--gutter); right:var(--gutter); z-index:10; display:grid; padding:1rem; background:var(--ink); color:var(--paper); box-shadow:0 12px 22px #25262422; }
  .mobile-menu nav a { padding:.8rem; font-size:1.1rem; }
  .hero { padding-top:2.2rem; }
  .eyebrow { font-size:.72rem; }
  .eyebrow span:first-child { max-width:24ch; }
  .hero-heading-row { margin-top:2.2rem; }
  h1 { font-size:clamp(3.4rem,9vw,5rem); }
  .hero-round { display:none; }
  .hero-bottom { grid-template-columns:1fr; margin-top:2rem; gap:1.1rem; }
  .hero-bottom .text-link { justify-self:start; }
  .hero-copy { max-width:43ch; font-size:1.08rem; }
  .material-frame { height:280px; }
  .material-label { left:1.2rem; bottom:1.4rem; }
  .material-plus { right:1.2rem; bottom:.8rem; font-size:3rem; }
  .material figcaption span:last-child { display:none; }
  .intro,.expertise-head,.working,.contact { grid-template-columns:1fr; }
  .intro { padding-block:3.5rem; }
  .intro-columns { grid-template-columns:1fr; gap:1rem; }
  .intro-content h2 { font-size:clamp(2.25rem,7vw,3.3rem); }
  .expertise-head { gap:1.5rem; }
  .service-panels { grid-template-columns:1fr; }
  .service-panel { min-height:0; padding:1.8rem; }
  .service-panel h3 { font-size:3.2rem; margin-top:2rem; }
  .service-panel p { max-width:42ch; }
  .working { padding-block:3.5rem; }
  .mantra-inner { padding-block:3rem; }
  .mantra h2 { font-size:clamp(2.2rem,7.8vw,3.4rem); }
  .mantra-bottom { gap:1rem; }
  .contact { padding-block:3.5rem; }
  .footer-main { flex-wrap:wrap; gap:1.5rem; }
  .footer-main nav { width:100%; gap:1.5rem; }
  .footer-base { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }


html { color-scheme:light; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
main:focus { outline:none; }
p { text-wrap:pretty; }
.top { min-height:108px; border-bottom:1px solid var(--line); }
.desktop-nav { gap:clamp(1.4rem,2.5vw,2.8rem); }
.desktop-nav a { font-size:1rem; }
.desktop-nav [aria-current=page] { text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:.5em; }
.top-contact { white-space:nowrap; gap:1rem; }
.hero { padding-top:2.3rem; }
.hero-heading-row { margin-top:2rem; }
.hero .eyebrow { font-size:.85rem; }
.hero .eyebrow span:first-child { color:var(--red); font-weight:600; }
.hero-round { background:var(--red); border-color:var(--red); color:var(--paper); }
.hero-round:hover { background:var(--ink); border-color:var(--ink); }
.hero-bottom { grid-template-columns:1fr 2fr 1.2fr; }
.hero-actions { display:grid; justify-self:end; align-content:end; }
.hero-actions .text-link { min-width:190px; }
.hero-copy { max-width:48ch; }
.hero-proof { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem 2rem; margin-top:2.4rem; padding-top:1rem; border-top:1px solid var(--line); font-size:.8rem; line-height:1.6; }
.hero-proof a { display:inline-flex; align-items:center; justify-content:center; align-self:center; justify-self:start; min-height:52px; padding:.8rem 1.2rem; border:1px solid var(--red); background:var(--red); color:#fff; font-size:.95rem; font-weight:600; line-height:1.4; text-decoration:none; }
.hero-proof a:hover { background:var(--ink); border-color:var(--ink); }
.hero-proof a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.hero-proof span { display:flex; gap:.7rem; align-items:center; }
.hero-proof .dot { background:var(--red); }
.material-frame { height:clamp(280px,34vw,520px); }
.material figcaption { font-size:.8rem; }
.text-link { min-height:44px; }
.text-link:hover { background:transparent; color:var(--red); border-color:var(--red); }
.panel-dark .text-link:hover { color:white; }
.service-panel { min-height:460px; }
.panel-light { background:#e7e4dd; }
.panel-lime { background:#e9d9d2; }
.panel-dark { background:var(--ink); }
.panel-dark .panel-symbol { color:#f4909a; }
.field-cards img { height:clamp(260px,26vw,380px); }
.field-cards a:hover img { opacity:.92; }
.ai-band { background:var(--ink); color:var(--paper); padding-block:5rem; margin-top:5rem; }
.ai-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; }
.ai-band h2 { font-size:clamp(2.8rem,4.3vw,5rem); }
.ai-band .section-kicker { color:#f4909a; margin-bottom:1.8rem; }
.ai-band p { font-size:1.1rem; line-height:1.7; color:#d5d4cd; max-width:58ch; }
.ai-band .text-link { color:var(--paper); border-color:#aaa9a1; }
.ai-band .text-link:hover { color:white; border-color:white; }
.ai-status { font-size:.82rem!important; color:#c7c5bf!important; padding-top:1rem; border-top:1px solid #62635e; }
.supplier-strip { padding-block:3.3rem; display:flex; justify-content:space-between; align-items:center; gap:3rem; border-top:1px solid var(--line); }
.supplier-strip h2 { font-size:clamp(1.9rem,3vw,3rem); }
.supplier-strip p { line-height:1.6; color:var(--muted); max-width:55ch; }
.supplier-strip .text-link { flex-shrink:0; }
.mantra { background:var(--red); color:#fff8f3; }
.mantra .section-kicker,.mantra-bottom p { color:#fff8f3; }
.round-link { background:#fff8f3; color:var(--red); }
.footer-main { align-items:start; }
.footer-main nav { flex-wrap:wrap; max-width:500px; gap:.5rem 1.5rem; }
.footer-main nav a { display:inline-block; padding:.5rem 0; }
.footer-services { margin-top:2rem; border-top:1px solid var(--line); padding-top:1rem; }
.footer-services nav { display:flex; flex-wrap:wrap; gap:.2rem 1.5rem; max-width:none; }
.footer-services a { font-size:.85rem; padding:.55rem 0; }
.footer-base { font-size:.8rem; align-items:center; flex-wrap:wrap; margin-top:1.5rem; }
.footer-base a { padding:.5rem 0; }
.page-hero { padding-top:1.8rem; padding-bottom:3.5rem; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:3rem; font-size:.8rem; color:var(--muted); }
.breadcrumbs a { text-decoration:underline; text-underline-offset:.2em; }
.page-hero > .section-kicker { color:var(--red); margin-bottom:1.5rem; }
.page-hero-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:4rem; align-items:end; }
.page-hero h1 { font-size:clamp(3.7rem,6.6vw,7.2rem); line-height:1.02; }
.page-lede p { font-size:1.1rem; line-height:1.65; margin:0; max-width:50ch; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; background:var(--red); color:white; border:1px solid var(--red); padding:1rem 1.2rem; min-height:50px; font-size:.95rem; }
.button:hover { background:var(--ink); border-color:var(--ink); color:white; }
.button-outline { background:transparent; color:var(--ink); border-color:var(--ink); }
.wide-photo { margin-block:0 2rem; }
.wide-photo img { width:100%; height:clamp(300px,36vw,560px); object-fit:cover; }
.wide-photo figcaption { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.8rem; margin-top:.8rem; }
.wide-photo img[src$="field-3-05.jpeg"] { object-position:50% 48%; }
.wide-photo img[src$="field-3-09.jpeg"] { object-position:50% 49%; }
.wide-photo img[src$="field-3-07.jpeg"] { object-position:50% 48%; }
.editorial { display:grid; grid-template-columns:1fr 3fr; gap:2rem; padding-block:4rem; }
.editorial > div:first-child { border-top:1px solid var(--line); padding-top:1.2rem; }
.editorial > div:last-child { border-top:1px solid var(--line); padding-top:1.2rem; min-width:0; }
.editorial h2 { max-width:20ch; margin-bottom:1.6rem; }
.editorial p { font-size:1.05rem; line-height:1.7; max-width:70ch; color:var(--muted); }
.editorial a:not(.text-link):not(.button) { text-decoration:underline; text-underline-offset:.22em; }
.detail-rows { margin-top:2.5rem; }
.detail-rows article { display:grid; grid-template-columns:1fr 1.6fr; gap:2rem; border-top:1px solid var(--line); padding-block:1.4rem; }
.detail-rows h3 { font-size:1.3rem; letter-spacing:-.03em; font-weight:500; margin:0; }
.detail-rows p { margin:0; }
.note { border-left:3px solid var(--red); padding:1rem 1.5rem; background:#e9e6df; line-height:1.65; margin-top:2rem; }
.note p { margin:0; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; list-style:none; cursor:pointer; font-size:1.2rem; padding:1.4rem 0; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { font-size:1.8rem; line-height:1; color:var(--red); }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { margin:0 0 1.6rem; }
.related { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-block:2rem; border-top:1px solid var(--line); }
.related p { margin:0; }
.directory { padding-block:0 4rem; }
.directory a { display:grid; grid-template-columns:.25fr 1.4fr 1.5fr .15fr; gap:2rem; padding-block:2rem; border-top:1px solid var(--line); align-items:center; }
.directory a:last-child { border-bottom:1px solid var(--line); }
.directory h2 { font-size:clamp(1.6rem,2.7vw,3rem); }
.directory p { font-size:.95rem; line-height:1.6; color:var(--muted); margin:0; }
.directory a > span:first-child { font-size:.8rem; color:var(--red); }
.directory a > span:last-child { font-size:2rem; }
.directory a:hover h2 { color:var(--red); }
.fact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding-block:1rem 3rem; }
.fact { border-top:3px solid var(--red); padding:1.5rem; background:#e9e6df; }
.fact h2 { font-size:1.8rem; margin-top:1.5rem; }
.fact p { font-size:.95rem; line-height:1.6; color:var(--muted); }
.fact .section-kicker { font-size:.8rem; }
.capabilities { display:grid; grid-template-columns:1fr 2fr; gap:0 2rem; margin:1.5rem 0; }
.capabilities dt,.capabilities dd { border-top:1px solid var(--line); padding-block:1.25rem; margin:0; line-height:1.65; }
.capabilities dt { font-weight:600; }
.capabilities dd { color:var(--muted); }
.inline-list { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.inline-list a { padding:.5rem 0; }
.work-intro { padding-block:2.5rem 3.5rem; }
.work-grid { padding-bottom:2.5rem; }
.work-card img { height:clamp(300px,37vw,550px); background:#e9e6df; }
.work-card a { display:block; }
.work-card figcaption { display:flex; justify-content:space-between; gap:1rem; line-height:1.5; }
.work-card a:hover { outline:1px solid var(--red); outline-offset:5px; }
.contact-page .contact { padding-top:1rem; }
.privacy-copy h3 { font-size:1.4rem; font-weight:500; margin-top:2rem; }
.privacy-copy ul { padding-left:1.2rem; color:var(--muted); line-height:1.8; }
@media(max-width:1200px) {
 .hero-bottom { grid-template-columns:1fr 1.2fr; }
 .hero-bottom .small-label { display:none; }
 .hero-actions { justify-self:start; }
 .page-hero-grid { grid-template-columns:1.3fr 1fr; gap:2.5rem; }
 .footer-main { flex-wrap:wrap; }
}
@media(max-width:1050px) {
 .page-hero-grid,.ai-grid { grid-template-columns:1fr; gap:2rem; }
 .page-lede { max-width:760px; }
 .page-lede p { max-width:64ch; }
 .page-hero h1 { font-size:clamp(3.5rem,7.5vw,6rem); }
 .ai-grid { gap:1rem; }
 .ai-band h2 { max-width:18ch; }
}
@media(max-width:760px) {
 .top { min-height:88px; }
 .top-contact { font-size:.85rem; gap:.5rem; }
 .hero-bottom { grid-template-columns:1fr; }
 .hero-actions { display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; }
 .hero-actions .text-link { min-width:0; }
 .hero-proof { margin-top:1.6rem; gap:.6rem; display:grid; font-size:.78rem; }
 .hero .eyebrow { font-size:.76rem; }
 .hero .eyebrow span:first-child { max-width:27ch; }
 .hero h1 { font-size:clamp(3.2rem,10vw,5.2rem); }
 .material-frame { height:310px; }
 .material figcaption { flex-direction:column; gap:.5rem; }
 .material figcaption a { padding:.25rem 0; }
 .intro { padding-block:3.5rem; }
 .field-cards img { height:360px; }
 .ai-band { padding-block:3rem; margin-top:3.5rem; }
 .ai-grid { gap:1.5rem; }
 .ai-band h2 { font-size:2.7rem; }
 .ai-band p { font-size:1rem; }
 .supplier-strip { flex-direction:column; align-items:start; gap:.5rem; padding-block:2.5rem; }
 .footer-main nav { gap:.2rem 1.3rem; }
 .footer-base { align-items:start; gap:0; }
 .page-hero { padding-bottom:2.5rem; }
 .breadcrumbs { margin-bottom:2rem; }
 .page-hero-grid { gap:1.6rem; }
 .page-hero h1 { font-size:clamp(2.8rem,8.8vw,4.5rem); overflow-wrap:normal; }
 .page-lede p { font-size:1rem; }
 .wide-photo img { height:330px; }
 .wide-photo figcaption { flex-direction:column; gap:.3rem; }
 .editorial { grid-template-columns:1fr; gap:1.5rem; padding-block:2.5rem; }
 .editorial > div:last-child { border-top:0; padding-top:0; }
 .editorial h2 { font-size:2.4rem; }
 .detail-rows article { grid-template-columns:1fr; gap:.7rem; }
 .directory a { grid-template-columns:1.5rem 1fr 1.5rem; gap:1rem; padding-block:1.5rem; }
 .directory p { grid-column:2; grid-row:2; }
 .directory a > span:last-child { grid-column:3; grid-row:1; }
 .fact-grid { grid-template-columns:1fr; }
 .fact { padding:1.5rem; }
 .capabilities { grid-template-columns:1fr; }
 .capabilities dt { padding-bottom:.3rem; }
 .capabilities dd { border:0; padding-top:0; }
 .related { flex-direction:column; align-items:start; gap:.5rem; }
 .work-card img { height:390px; }
 .mantra h2 { font-size:clamp(2.1rem,7.3vw,3.5rem); }
 .contact h2 { font-size:3.5rem; }
 .contact-right > a { font-size:1.75rem; min-height:56px; }
}
@media(max-width:370px) {
 .top { gap:.6rem; }
 .original-logo img { width:40px; height:40px; }
 .original-logo-type > span { font-size:1.12rem; }
 .original-logo-type small { font-size:.42rem; }
 .top-contact { font-size:.75rem; }
 .top-contact span { display:none; }
 .mobile-menu summary { padding:.65rem; font-size:.9rem; }
 .hero h1 { font-size:3rem; }
 .button { gap:1rem; }
 .work-card img { height:330px; }
}
@media print {
 .top,.footer,.contact,.actions,.skip,.mobile-menu,.mantra,.related { display:none!important; }
 :root { --paper:white; --ink:black; --muted:#333; --line:#ccc; }
 .shell { padding-inline:0; }
 .page-hero { padding:0 0 1rem; }
 .page-hero h1 { font-size:36pt; }
 .page-hero-grid,.editorial { display:block; }
 .editorial { padding-block:1rem; }
 .page-lede p { font-size:11pt; max-width:none; }
 .capabilities dt,.capabilities dd { padding-block:.4rem; font-size:10pt; }
 .capabilities { display:grid; grid-template-columns:1fr 3fr; }
 .fact-grid { gap:.5rem; padding-block:1rem; }
 .fact h2 { font-size:16pt; }
 .fact { break-inside:avoid; }
 .no-print { display:none!important; }
}

.urgent-band { background:var(--red); color:white; padding-block:2.5rem; } .urgent-band p { font-size:1rem; } .urgent-number { font-size:clamp(2rem,5vw,5rem); letter-spacing:-.04em; display:inline-block; padding-block:.5rem; } .error-links { display:flex; gap:2rem; padding-bottom:3rem; flex-wrap:wrap; }

@media(max-width:1050px) { .mobile-menu nav { max-height:calc(100dvh - 105px); overflow-y:auto; overscroll-behavior:contain; } }
@media(max-width:760px) { .contact > div { min-width:0; } .contact h2 { font-size:clamp(2.7rem,10vw,3.5rem); } }


.hero--focused .hero-heading-row { display:block; }
.hero--focused .hero-bottom { grid-template-columns:1fr 3fr; align-items:start; }
.hero--focused .hero-copy { max-width:64ch; }
@media(max-width:1200px) { .hero--focused .hero-bottom { grid-template-columns:1fr; } }


.homepage .hero .eyebrow { justify-content:flex-end; }
.homepage .hero .eyebrow span:first-child { color:var(--ink); font-weight:400; max-width:none; }
.homepage .hero-bottom { row-gap:1.25rem; }
.homepage .hero-proof { grid-column:2; display:flex; justify-content:flex-start; padding:0; border:0; margin:0; }
.homepage .material figcaption { justify-content:flex-end; align-items:flex-end; }
.homepage .intro { display:block; }
.homepage .working h2,.homepage .contact h2 { margin-top:0; }
@media(max-width:1200px) { .homepage .hero-proof { grid-column:1; } }


.page-hero { padding-top:3.5rem; }
.breadcrumbs { margin-bottom:2rem; }
.editorial { display:block; }
.editorial > div:last-child { border-top:1px solid var(--line); padding-top:1.5rem; }
.editorial h2 { max-width:26ch; }
.editorial > div > p { max-width:76ch; }
.expertise-head { display:block; }
.hero--focused .hero-bottom { display:block; max-width:900px; }
.homepage .hero-proof { margin-top:1.25rem; }
.service-panel { min-height:390px; }
.service-panel h3 { margin-top:0; }
.working h2,.contact h2,.fact h2 { margin-top:0; }
.fact p strong { color:var(--ink); }
.directory a { grid-template-columns:1.4fr 1.5fr .15fr; }
.related { justify-content:flex-start; }
@media(max-width:760px) {
 .page-hero { padding-top:2.5rem; }
 .editorial { padding-block:2.5rem; }
 .service-panel { min-height:0; }
 .directory a { grid-template-columns:1fr 1.5rem; }
 .directory p { grid-column:1; grid-row:2; }
 .directory a > span:last-child { grid-column:2; grid-row:1; }
}


.homepage .hero-heading-row { margin-top:0; }


.homepage .hero { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,.85fr); column-gap:clamp(2.5rem,5vw,6rem); }
.homepage .hero-heading-row { display:contents; }
.homepage .hero h1 { grid-column:1; grid-row:1; }
.homepage .hero-bottom { grid-column:1; grid-row:2; min-width:0; max-width:none; margin-top:3rem; }
.hero-navigation { position:relative; isolation:isolate; grid-column:2; grid-row:1 / 3; display:grid; grid-template-rows:1.2fr 1fr 1fr; min-width:0; min-height:370px; width:100%; background:var(--ink); color:var(--paper); }
.hero-navigation::before { content:""; position:absolute; z-index:2; left:0; top:0; bottom:0; width:4px; background:var(--red); transform-origin:top; pointer-events:none; }
.hero-navigation a { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; min-width:0; padding:1.25rem clamp(1.3rem,2vw,2.3rem); color:var(--paper); }
.hero-navigation a::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--red); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.hero-navigation a:not(:last-child)::after { content:""; position:absolute; bottom:0; left:clamp(1.3rem,2vw,2.3rem); right:clamp(1.3rem,2vw,2.3rem); height:1px; background:#f5f2ec35; pointer-events:none; }
.hero-navigation-label { font-size:clamp(1.25rem,1.4vw,1.65rem); line-height:1.12; letter-spacing:-.025em; }
.hero-navigation-label em { display:block; margin-top:.05em; font-size:clamp(1.8rem,2.3vw,2.65rem); letter-spacing:-.035em; }
.hero-navigation a:first-child .hero-navigation-label { font-size:clamp(1.55rem,1.8vw,2.05rem); }
.hero-navigation a:first-child .hero-navigation-label em { font-size:clamp(2.1rem,2.8vw,3.25rem); }
.hero-navigation a > span:last-child { color:#c7c4bc; font-size:2rem; line-height:1; flex-shrink:0; }
.hero-navigation a:first-child > span:last-child { color:#f28a97; font-size:2.6rem; }
.hero-navigation a:hover::before,.hero-navigation a:focus-visible::before { transform:scaleX(1); }
.hero-navigation a:hover > span:last-child,.hero-navigation a:focus-visible > span:last-child { color:white; }
.hero-navigation a:focus-visible { outline:2px solid var(--paper); outline-offset:-7px; }

@media(min-width:1051px) and (prefers-reduced-motion:no-preference) {
 .hero-navigation { animation:buyer-panel-wipe 760ms cubic-bezier(.76,0,.18,1) 170ms both; }
 .hero-navigation::before { animation:buyer-rail-draw 520ms cubic-bezier(.3,0,.1,1) both; }
 .hero-navigation a::after { transform-origin:left; animation:buyer-rule-extend 620ms cubic-bezier(.16,1,.3,1) both; }
 .hero-navigation a:nth-child(1)::after { animation-delay:560ms; }
 .hero-navigation a:nth-child(2)::after { animation-delay:660ms; }
 .hero-navigation a > span { animation:buyer-content-surface 480ms ease-out both; }
 .hero-navigation a:nth-child(1) > span { animation-delay:520ms; }
 .hero-navigation a:nth-child(2) > span { animation-delay:620ms; }
 .hero-navigation a:nth-child(3) > span { animation-delay:720ms; }
 .hero-navigation a::before { transition:transform 320ms cubic-bezier(.2,.7,.3,1); }
 .hero-navigation a > span:last-child { transition:transform 320ms cubic-bezier(.2,.7,.3,1),color 200ms; }
 .hero-navigation a:hover > span:last-child { transform:translate(4px,-4px); }
 .hero-navigation:focus-within,.hero-navigation.is-revealed { clip-path:none!important; }
 .hero-navigation:focus-within::before,.hero-navigation.is-revealed::before { transform:scaleY(1)!important; }
 .hero-navigation:focus-within a::after,.hero-navigation.is-revealed a::after { transform:scaleX(1)!important; }
 .hero-navigation:focus-within a > span,.hero-navigation.is-revealed a > span { opacity:1!important; }
}
@keyframes buyer-panel-wipe { from { clip-path:inset(0 calc(100% - 4px) 0 0); } to { clip-path:inset(0); } }
@keyframes buyer-rail-draw { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@keyframes buyer-rule-extend { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes buyer-content-surface { from { opacity:0; } to { opacity:1; } }
@media(max-width:1050px) {
 .homepage .hero { display:block; }
 .homepage .hero-heading-row { display:block; }
 .homepage .hero-bottom { margin-top:2rem; }
 .hero-navigation { min-height:0; grid-template-rows:1.15fr 1fr 1fr; margin-top:1.75rem; }
 .hero-navigation a { min-height:82px; padding:.8rem 1.3rem; }
 .hero-navigation-label { font-size:1.05rem; }
 .hero-navigation-label em { font-size:1.5rem; }
 .hero-navigation a:first-child .hero-navigation-label { font-size:1.25rem; }
 .hero-navigation a:first-child .hero-navigation-label em { font-size:1.9rem; }
 .hero-navigation a > span:last-child,.hero-navigation a:first-child > span:last-child { font-size:2rem; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-navigation,.hero-navigation::before,.hero-navigation a,.hero-navigation a::after,.hero-navigation a > span { animation:none!important; transition:none!important; transform:none!important; opacity:1!important; }
 .hero-navigation { clip-path:none!important; }
 .hero-navigation::after { content:none!important; animation:none!important; }
 .hero-navigation a::before { transition:none!important; }
}

.top .top-contact { flex-direction:column; justify-content:center; gap:.2rem; padding:.65rem 1rem; min-height:46px; flex-shrink:0; border:0; background:var(--red); color:#fff8f3; font-size:1rem; font-weight:600; line-height:1.2; }
.top .top-contact .top-contact-context { display:block; font-size:.72rem; font-weight:400; }
.top .top-contact .top-contact-number { display:block; font-size:1rem; font-weight:600; }
.top .top-contact:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:600px) {
 .top { display:grid; grid-template-columns:1fr auto; gap:.6rem 1rem; padding-block:.7rem; }
 .top > .original-logo { grid-column:1; grid-row:1; }
 .top > .mobile-menu { grid-column:2; grid-row:1; justify-self:end; }
 .top > .top-contact { grid-column:1 / -1; grid-row:2; width:100%; margin:0; }
 .mobile-menu nav { max-height:calc(100dvh - 160px); }
}
