:root { color-scheme: dark; --bg:#1e2122; --surface:#262b2c; --surface-deep:#191d1e; --text:#edf1f0; --muted:#aeb8b9; --line:#424a4b; --accent:rgb(0,178,205); --max:1360px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--bg); color:var(--text); font:400 16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; }
    a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
    .container { width:min(calc(100% - 72px),var(--max)); margin-inline:auto; }
    .eyebrow { color:var(--accent); font-size:.78rem; line-height:1.3; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
    .site-header { position:relative; z-index:10; border-bottom:1px solid var(--line); }
    .header-inner { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
    .brand { display:inline-flex; align-items:baseline; font-size:2rem; line-height:1; font-weight:850; letter-spacing:-.09em; white-space:nowrap; }
    .brand span { color:var(--accent); }
    .header-actions { display:flex; align-items:center; gap:23px; }
    .nav { display:flex; align-items:center; gap:27px; font-size:.9rem; font-weight:650; }
    .nav a { transition:color .2s ease; }
    .nav a:hover { color:var(--accent); }
    .nav .nav-contact { padding:11px 18px; border:1px solid var(--accent); color:var(--accent); }
    .nav .nav-contact:hover { background:var(--accent); color:var(--bg); }
    .lang-switch { display:inline-flex; align-items:center; gap:8px; padding-left:21px; border-left:1px solid var(--line); font-size:.8rem; font-weight:780; letter-spacing:.06em; }
    .lang-switch a { color:var(--muted); padding:5px 0; border-bottom:1px solid transparent; }
    .lang-switch a:hover, .lang-switch a[aria-current="page"] { color:var(--accent); border-bottom-color:var(--accent); }
    .lang-switch span { color:var(--line); }
    .menu-button { display:none; padding:9px 0; border:0; background:none; color:var(--text); font-size:1rem; font-weight:700; }
    .hero { min-height:660px; padding:82px 0 80px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr); column-gap:clamp(30px,5vw,88px); align-items:end; }
    .hero h1 { max-width:1040px; margin:23px 0 0; font-size:clamp(4.3rem,9vw,9rem); line-height:.98; letter-spacing:-.04em; font-weight:770; }
    .hero h1 span { color:var(--accent); }
    .hero-side { border-left:1px solid var(--line); padding-left:30px; padding-bottom:10px; }
    .hero-side p { max-width:350px; margin:0 0 32px; font-size:1.23rem; line-height:1.42; color:var(--muted); }
    .hero-side p strong { color:var(--text); font-weight:620; }
    .text-link { display:inline-flex; align-items:center; gap:12px; color:var(--accent); font-size:.9rem; font-weight:750; letter-spacing:.02em; border-bottom:1px solid var(--accent); padding-bottom:6px; transition:gap .2s ease; }
    .text-link:hover { gap:18px; }
    .section-rule { display:flex; justify-content:space-between; gap:24px; align-items:baseline; padding:23px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .section-rule strong { color:var(--text); font-weight:700; }
    .work { padding:0 0 120px; }
    .work-intro { display:grid; grid-template-columns:1fr .42fr; gap:56px; align-items:end; padding:54px 0 57px; }
    .work-intro h2 { max-width:850px; margin:0; font-size:clamp(3rem,6vw,6.25rem); line-height:1.04; font-weight:690; letter-spacing:-.035em; }
    .work-intro p { max-width:380px; margin:0 0 7px; color:var(--muted); font-size:1.08rem; }
    .case { border:1px solid var(--line); background:var(--surface); overflow:hidden; }
    .case-feature { min-height:570px; display:grid; grid-template-columns:.92fr 1.08fr; }
    .case-copy { display:flex; flex-direction:column; align-items:flex-start; padding:42px; }
    .case-kicker { display:flex; justify-content:space-between; align-self:stretch; gap:18px; color:var(--accent); font-size:.77rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
    .case-kicker span:last-child { color:var(--muted); text-align:right; }
    .case-body { margin-top:auto; }
    .case h3 { margin:0 0 22px; font-size:clamp(3.5rem,6vw,6.5rem); line-height:.98; letter-spacing:-.04em; font-weight:740; }
    .case p { max-width:530px; margin:0 0 30px; color:#cbd3d3; font-size:1.08rem; line-height:1.52; }
    .case-visual { min-height:100%; background:var(--surface-deep); }
    .case-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
    .case-links { display:flex; flex-wrap:wrap; gap:22px; }
    .case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
    .case-standard { display:flex; flex-direction:column; min-width:0; }
    .case-standard .case-copy { min-height:355px; flex:1; }
    .case-standard .case-body { margin-top:42px; }
    .case-standard h3 { font-size:clamp(3.15rem,4.8vw,5.4rem); }
    .case-standard p { max-width:570px; }
    .case-image { height:340px; overflow:hidden; background:var(--surface-deep); border-bottom:1px solid var(--line); }
    .case-image img { width:100%; height:100%; object-fit:cover; }
    .case-image.fontstand img { object-position:center 43%; }
    .arch-panel { height:340px; padding:27px 33px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 72% 20%,rgba(0,178,205,.16),transparent 43%),#192326; }
    .arch-panel .arch-top { display:flex; justify-content:space-between; gap:20px; color:var(--accent); font-size:.77rem; letter-spacing:.14em; font-weight:760; text-transform:uppercase; }
    .arch-panel .arch-word { display:block; margin-left:-.02em; color:var(--text); font-size:clamp(6rem,14vw,13.7rem); line-height:.8; letter-spacing:-.065em; font-weight:770; }
    .arch-panel .arch-bottom { display:block; padding-top:16px; border-top:1px solid rgba(237,241,240,.3); color:var(--muted); font-size:.78rem; font-weight:740; letter-spacing:.13em; text-transform:uppercase; }
    .case-health { display:grid; grid-template-columns:1fr .95fr; min-height:470px; margin-top:18px; }
    .case-health .case-copy { min-height:470px; }
    .health-panel { min-height:100%; display:flex; align-items:center; justify-content:center; padding:55px; border-left:1px solid var(--line); background:radial-gradient(circle at 48% 52%,rgba(0,178,205,.15),transparent 55%),#1b2729; }
    .health-panel img { width:min(76%,410px); height:auto; filter:drop-shadow(0 22px 35px rgba(0,0,0,.28)); }
    .studio-product { padding:100px 0 110px; border-top:1px solid var(--line); }
    .studio-product-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(50px,9vw,140px); align-items:center; }
    .studio-product h2 { margin:18px 0 28px; font-size:clamp(4rem,7vw,7.5rem); line-height:1; letter-spacing:-.05em; font-weight:720; }
    .studio-product p { max-width:680px; margin:0 0 20px; color:var(--muted); font-size:1.16rem; line-height:1.5; }
    .studio-product p:last-child { margin-bottom:0; }
    .studio-product p strong { color:var(--text); font-weight:650; }
    .studio-product-visual { min-height:360px; display:flex; align-items:center; justify-content:center; padding:40px; border:1px solid var(--line); background:#f7f7f7; }
    .studio-product-visual img { width:min(100%,320px); height:auto; }
    .archive { padding:85px 0 110px; border-top:1px solid var(--line); }
    .archive-intro { display:grid; grid-template-columns:1fr .55fr; gap:60px; align-items:end; margin-bottom:48px; }
    .archive h2 { margin:16px 0 0; font-size:clamp(3rem,5.7vw,6rem); line-height:1.04; letter-spacing:-.04em; font-weight:700; }
    .archive-intro p { max-width:440px; margin:0 0 8px; color:var(--muted); font-size:1.08rem; }
    .archive-list { border-top:1px solid var(--line); }
    .archive-item { display:grid; grid-template-columns:70px minmax(170px,.45fr) minmax(0,1fr); gap:30px; align-items:start; padding:25px 0 29px; border-bottom:1px solid var(--line); }
    .archive-item span { color:var(--accent); font-size:.82rem; font-weight:780; }
    .archive-item h3 { margin:0; font-size:clamp(1.6rem,2.5vw,2.4rem); line-height:1.08; letter-spacing:-.035em; font-weight:690; }
    .archive-item p { max-width:720px; margin:0; color:var(--muted); font-size:1.03rem; }
    .about { padding:110px 0; border-top:1px solid var(--line); background:var(--surface-deep); }
    .about-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(50px,9vw,150px); }
    .about h2, .services h2 { margin:20px 0 0; font-size:clamp(3.1rem,6vw,6.2rem); line-height:1.05; letter-spacing:-.04em; font-weight:700; }
    .about h2 span { color:var(--accent); }
    .about-copy { align-self:end; max-width:570px; }
    .about-copy p { margin:0 0 24px; color:var(--muted); font-size:1.22rem; line-height:1.5; }
    .about-copy p:last-child { margin-bottom:0; }
    .about-copy strong { color:var(--text); font-weight:650; }
    .founders { padding:110px 0 120px; border-top:1px solid var(--line); }
    .founders-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(40px,8vw,120px); align-items:end; margin-bottom:48px; }
    .founders h2 { max-width:850px; margin:18px 0 0; font-size:clamp(3rem,5.8vw,6rem); line-height:1.04; letter-spacing:-.04em; font-weight:700; }
    .founders-intro p { max-width:420px; margin:0 0 7px; color:var(--muted); font-size:1.12rem; }
    .founder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .founder-card { min-width:0; border:1px solid var(--line); background:var(--surface); }
    .founder-portrait { position:relative; min-height:320px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid var(--line); background:linear-gradient(145deg,#172629,#25383b 56%,#1b2426); }
    .founder-portrait::after { content:""; position:absolute; inset:20px; border:1px solid rgba(174,184,185,.13); pointer-events:none; }
    .founder-monogram { color:rgba(0,178,205,.4); font-size:clamp(7rem,14vw,13rem); line-height:1; font-weight:760; letter-spacing:-.08em; }
    .portrait-caption { position:absolute; bottom:30px; left:34px; z-index:1; color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
    .founder-copy { padding:33px 35px 39px; }
    .founder-index { color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
    .founder-copy h3 { margin:16px 0 5px; font-size:clamp(2.2rem,3vw,3.5rem); line-height:1.06; letter-spacing:-.04em; }
    .founder-role { margin:0 0 24px; color:var(--accent); font-size:.94rem; font-weight:650; }
    .founder-copy p:last-child { max-width:560px; margin:0; color:var(--muted); font-size:1.06rem; line-height:1.55; }
    .testimonials { padding:110px 0 120px; border-top:1px solid var(--line); }
    .testimonials h2 { max-width:850px; margin:20px 0 48px; font-size:clamp(3rem,5.8vw,6rem); line-height:1.04; letter-spacing:-.04em; font-weight:700; }
    .quote-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
    .quote-card { min-height:310px; margin:0; padding:34px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:var(--surface); }
    .quote-card blockquote { margin:0; }
    .quote-card blockquote p { margin:0; font-size:clamp(1.55rem,2.45vw,2.3rem); line-height:1.2; letter-spacing:-.035em; font-weight:620; }
    .quote-card blockquote p::before { content:"“"; color:var(--accent); }
    .quote-card blockquote p::after { content:"”"; color:var(--accent); }
    .quote-card figcaption { display:flex; align-items:center; gap:14px; padding-top:20px; border-top:1px solid var(--line); font-size:.9rem; }
    .quote-avatar { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; border:1px solid rgba(0,178,205,.48); border-radius:50%; background:#1b3439; color:var(--accent); font-size:.86rem; font-weight:800; letter-spacing:.02em; }
    .quote-person { min-width:0; display:flex; flex-direction:column; gap:3px; }
    .quote-person strong { color:var(--text); font-weight:750; }
    .quote-person span { color:var(--muted); }
    .testimonial-note { margin:22px 0 0; color:var(--muted); font-size:.82rem; }
    .testimonial-note a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
    .services { padding:110px 0 125px; }
    .services-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(50px,9vw,145px); }
    .services h2 { max-width:600px; }
    .service-list { border-top:1px solid var(--line); }
    .service { display:grid; grid-template-columns:50px minmax(0,1fr); gap:20px; padding:25px 0 29px; border-bottom:1px solid var(--line); }
    .service-num { padding-top:4px; color:var(--accent); font-size:.82rem; font-weight:780; }
    .service h3 { margin:0 0 7px; font-size:1.45rem; line-height:1.18; letter-spacing:-.035em; font-weight:680; }
    .service p { margin:0; max-width:620px; color:var(--muted); font-size:1.03rem; }
    .contact { padding:93px 0 98px; border-top:1px solid var(--line); background:var(--accent); color:var(--bg); }
    .contact-grid { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; }
    .contact .eyebrow { color:#1b4a52; }
    .contact h2 { max-width:900px; margin:21px 0 0; font-size:clamp(3.5rem,7.5vw,8rem); line-height:1; letter-spacing:-.04em; font-weight:760; }
    .contact-link { display:inline-flex; align-items:center; gap:12px; padding-bottom:7px; border-bottom:2px solid var(--bg); white-space:nowrap; font-size:1.3rem; font-weight:750; }
    .contact-link:hover { gap:18px; }
    .contact-meta { margin:19px 0 0; font-size:.88rem; font-weight:600; opacity:.75; }
    .footer { padding:44px 0; border-top:1px solid var(--line); }
    .footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; }
    .footer p { margin:0; color:var(--muted); font-size:.84rem; }
    .footer a { color:var(--accent); font-weight:700; }
    @media(max-width:950px) {
      .container { width:min(calc(100% - 42px),var(--max)); }
      .header-actions { gap:16px; }
      .nav { gap:18px; }
      .lang-switch { padding-left:16px; }
      .hero { min-height:0; grid-template-columns:1fr; gap:50px; padding:75px 0; }
      .hero h1 { font-size:clamp(4rem,11vw,7rem); }
      .hero-side { max-width:600px; }
      .work-intro { grid-template-columns:1fr; gap:24px; }
      .case-feature { grid-template-columns:1fr; }
      .case-visual { min-height:460px; order:-1; }
      .case-grid { grid-template-columns:1fr; }
      .case-health { grid-template-columns:1fr; }
      .case-health .case-copy { min-height:420px; }
      .health-panel { min-height:330px; border-left:0; border-top:1px solid var(--line); }
      .studio-product-grid { grid-template-columns:1fr; gap:40px; }
      .studio-product-visual { min-height:300px; }
      .archive-intro { grid-template-columns:1fr; gap:20px; }
      .founders-intro { grid-template-columns:1fr; gap:20px; }
      .about-grid, .services-grid { grid-template-columns:1fr; gap:44px; }
      .about-copy { align-self:start; }
      .quote-grid { grid-template-columns:1fr; }
      .quote-card { min-height:240px; }
      .contact-grid { grid-template-columns:1fr; gap:42px; }
    }
    @media(max-width:760px) {
      .container { width:min(calc(100% - 36px),var(--max)); }
      .header-inner { min-height:72px; }
      .brand { font-size:1.75rem; }
      .header-actions { gap:20px; }
      .lang-switch { padding-left:0; border-left:0; }
      .menu-button { display:block; }
      .nav { display:none; position:absolute; top:71px; left:0; right:0; padding:24px 18px 28px; background:var(--bg); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:20px; }
      .nav.open { display:flex; }
      .nav .nav-contact { text-align:center; }
      .hero { padding:72px 0 78px; gap:40px; }
      .hero h1 { font-size:clamp(3.5rem,17vw,5.5rem); line-height:.96; }
      .hero-side { padding-left:20px; }
      .hero-side p { font-size:1.08rem; }
      .section-rule { font-size:.7rem; }
      .work { padding-bottom:75px; }
      .work-intro { padding:39px 0; }
      .work-intro h2 { font-size:clamp(2.7rem,11vw,4rem); }
      .case-visual { min-height:280px; }
      .case-copy { padding:26px 22px 30px; min-height:460px; }
      .case h3 { font-size:clamp(3.3rem,15vw,5rem); }
      .case-links { gap:20px; }
      .case-image, .arch-panel { height:260px; }
      .case-standard .case-copy { min-height:380px; }
      .case-standard h3 { font-size:clamp(3.2rem,14vw,4.7rem); }
      .arch-panel { padding:20px; }
      .arch-panel .arch-word { font-size:clamp(6rem,25vw,9.5rem); }
      .case-health .case-copy { min-height:410px; }
      .health-panel { min-height:250px; padding:30px; }
      .studio-product { padding:76px 0 85px; }
      .studio-product h2 { font-size:clamp(3.5rem,15vw,5rem); }
      .studio-product p { font-size:1.06rem; }
      .studio-product-visual { min-height:230px; padding:24px; }
      .archive { padding:76px 0 85px; }
      .archive h2 { font-size:clamp(3rem,12vw,4.8rem); }
      .archive-item { grid-template-columns:34px minmax(0,1fr); gap:7px 16px; padding:21px 0 25px; }
      .archive-item p { grid-column:2; }
      .about, .services { padding:76px 0 85px; }
      .about h2, .services h2 { font-size:clamp(3rem,12vw,4.8rem); }
      .about-copy p { font-size:1.08rem; }
      .founders { padding:76px 0 85px; }
      .founders h2 { font-size:clamp(3rem,12vw,4.8rem); }
      .founder-grid { grid-template-columns:1fr; }
      .founder-portrait { min-height:250px; }
      .founder-monogram { font-size:clamp(7rem,30vw,10rem); }
      .portrait-caption { left:27px; bottom:25px; }
      .founder-copy { padding:27px; }
      .testimonials { padding:76px 0 85px; }
      .testimonials h2 { font-size:clamp(3rem,12vw,4.8rem); margin-bottom:32px; }
      .quote-card { padding:27px; }
      .service { grid-template-columns:37px 1fr; gap:11px; }
      .service h3 { font-size:1.24rem; }
      .contact { padding:75px 0 82px; }
      .contact h2 { font-size:clamp(3.3rem,15vw,5rem); }
      .contact-link { white-space:normal; word-break:break-word; }
      .footer-inner { align-items:flex-start; flex-direction:column; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .text-link, .nav a { transition:none; } }

/* Keep the long ARCH title and its copy inside narrow mobile cards. */
.case-body { min-width: 0; max-width: 100%; }
@media (max-width: 760px) {
  .case-grid > .case:first-child h3 { font-size: clamp(1.75rem, 10.5vw, 4.7rem); }
}
