/* New homepage structure, using the established professional design tokens. */
.professional-home .sketch-section {font-family:var(--body)}
.sketch-header{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:24px;min-height:100px;border-bottom:1px solid var(--line);position:relative;z-index:5}
.sketch-wordmark{justify-self:center;font-size:24px;letter-spacing:-.04em;font-weight:600}
.sketch-languages{display:flex;gap:18px;font-size:13px;align-items:center}.sketch-languages a{padding:12px 0;color:var(--muted)}.sketch-languages a[aria-current]{color:var(--accent);border-bottom:2px solid var(--accent)}
.sketch-menu{position:relative}.sketch-menu summary{display:flex;flex-direction:column;justify-content:center;gap:6px;list-style:none;width:44px;height:44px;cursor:pointer}.sketch-menu summary::-webkit-details-marker{display:none}.sketch-menu summary span{display:block;width:25px;height:1px;background:var(--ink)}
.sketch-menu nav{position:absolute;top:58px;left:0;min-width:220px;background:var(--paper);border:1px solid var(--line);padding:18px 24px;box-shadow:0 14px 32px #18202512;display:grid;gap:14px;font-size:15px}.sketch-menu nav a:hover{color:var(--accent)}
.sketch-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding:60px 0 58px;align-items:center;border-bottom:1px solid var(--line)}
.sketch-eyebrow{font-size:11px;letter-spacing:.09em;color:var(--muted);margin-bottom:26px;max-width:none}
.sketch-hero h1{font-size:clamp(30px,3vw,43px);line-height:1.45;letter-spacing:-.025em;font-weight:500;max-width:23em}.sketch-hero h1>.headline-context{display:block;font-size:18px;line-height:1.6;letter-spacing:.02em;color:var(--muted);margin-bottom:14px}
.sketch-intro{font-size:18px;line-height:1.9;margin-top:26px;max-width:38em;color:var(--muted)}
.sketch-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.sketch-button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 22px;background:var(--accent);color:#fff;font-size:15px;transition:background-color 180ms}.sketch-button:hover{background:#8d1c25}
.sketch-link{font-size:15px;padding:7px 0;border-bottom:1px solid var(--ink)}.sketch-link:hover{color:var(--accent);border-color:var(--accent)}
.sketch-portrait{position:relative;padding-bottom:50px}.sketch-portrait figure{margin:0;background:#111820}.sketch-portrait img{width:100%;aspect-ratio:263/327;object-fit:cover}.portrait-voice{display:block;width:100%;border:0;padding:0;background:none;cursor:pointer}
.sketch-voice{position:absolute;bottom:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;font-size:13px;border:0;border-bottom:1px solid var(--line);padding:12px 0;background:none;color:var(--muted);text-align:left}.sketch-voice:hover{color:var(--accent)}.sketch-voice svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:3}
.sketch-trust{padding:42px 0 58px}.sketch-trust-heading{display:flex;justify-content:space-between;align-items:center;gap:36px}.sketch-trust h2{font-size:25px;line-height:1.65;letter-spacing:-.02em;flex-shrink:0}
.sketch-stats{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;max-width:none;font-size:12px;color:var(--muted)}.sketch-stats span{display:flex;flex-direction:column;white-space:nowrap}.sketch-stats strong{color:var(--ink);font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1.3}
.sketch-trusted{font-size:13px;color:var(--muted);margin:30px 0 16px}.sketch-proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
.sketch-logo-wall{min-width:0;overflow:hidden;border:1px solid var(--line);padding:25px 24px;background:#fff;display:flex;flex-direction:column;justify-content:center}.sketch-logo-category{min-width:0}.sketch-logo-category+.sketch-logo-category{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.sketch-logo-wall h3{font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:13px}
.logo-ribbon{overflow:auto hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}.logo-ribbon::-webkit-scrollbar{display:none}.logo-ribbon:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ribbon-track{display:flex;width:max-content;animation:logo-drift 42s linear infinite}.ribbon-education{animation-duration:23s}.ribbon-set{display:flex;align-items:center;gap:28px;padding:8px 28px 8px 0;flex:none}.ribbon-education .ribbon-set{min-width:480px;justify-content:space-around}.ribbon-tile{display:flex;align-items:center;justify-content:center;width:122px;height:56px;flex:none}.ribbon-tile img{max-width:116px;width:auto;max-height:40px;height:auto;object-fit:contain;filter:grayscale(1);transition:filter 180ms}.logo-ribbon:hover img{filter:none}.logo-ribbon:is(:hover,:focus-within,.is-paused,.is-offscreen) .ribbon-track{animation-play-state:paused}.logo-instructions{font-size:11px;color:var(--muted);margin-top:17px;text-align:center;max-width:none}@keyframes logo-drift{to{transform:translateX(-50%)}}
.sketch-map{margin:0;padding:25px 28px;background:var(--soft);display:flex;flex-direction:column;justify-content:center;text-align:center}.sketch-map figcaption{font-size:18px;color:var(--ink);font-weight:500}.sketch-map img{width:100%;height:auto;margin:16px 0}.sketch-map p{font-size:12px;color:var(--muted);max-width:none}
.sketch-story{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0}.sketch-story p{max-width:860px;margin:0 auto 24px;font-size:17px;line-height:2;color:var(--muted)}.sketch-story p:first-child{color:var(--ink)}.sketch-story p:last-child{margin-bottom:0}
.professional-home .services{padding-block:64px}.professional-home .service-introduction{grid-template-columns:.9fr 1.1fr;gap:70px;margin-bottom:58px}.professional-home .service-introduction .section-heading{display:block}.professional-home .service-introduction .section-intro{margin-top:24px;max-width:31em}.professional-home .service-introduction h2{font-size:34px;line-height:1.5}.professional-home .service-choices{gap:52px}.professional-home .service-card figure img{aspect-ratio:4/3;object-fit:cover}.professional-home .service-card figcaption{display:none}
.professional-home .approach{padding-block:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.professional-home .approach h2{font-size:32px;line-height:1.5}.professional-home .approach-grid{margin-top:30px}
.professional-home .work{padding-block:64px}.professional-home .work .section-heading{margin-bottom:32px}.professional-home .work h2{font-size:30px;line-height:1.6}.professional-home .showcase-proof{margin:0 0 48px;gap:26px}.professional-home .showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.professional-home .showcase-grid .showcase-card h3{font-size:23px}.professional-home .showcase-grid .showcase-card p{font-size:15px}.professional-home .showcase-card img{object-fit:contain}.professional-home .showcase-card>div{padding:24px}
@media(max-width:1000px){.sketch-hero{grid-template-columns:minmax(0,1fr) 240px;gap:36px}.sketch-hero h1{font-size:30px}.sketch-eyebrow{font-size:10px}.sketch-intro{font-size:16px}.sketch-trust-heading{display:block}.sketch-stats{justify-content:flex-start;margin-top:25px;gap:30px}.professional-home .service-introduction{gap:35px}.professional-home .service-introduction h2{font-size:29px}}
@media(max-width:760px){.sketch-header{min-height:76px;gap:14px;grid-template-columns:34px 1fr auto}.sketch-wordmark{font-size:19px}.sketch-languages{gap:12px;font-size:12px}.sketch-hero{grid-template-columns:1fr;padding:34px 0 38px;gap:32px}.sketch-hero h1{font-size:29px;line-height:1.5}.sketch-hero h1>.headline-context{font-size:16px;margin-bottom:12px}.sketch-eyebrow{font-size:10px;line-height:1.8;margin-bottom:23px}.sketch-intro{font-size:17px;line-height:1.8;margin-top:22px}.sketch-actions{gap:18px;margin-top:24px}.sketch-button{width:100%;min-height:54px}.sketch-portrait{max-width:330px;width:85%;justify-self:center}.sketch-trust{padding:30px 0 38px}.sketch-trust h2{font-size:23px}.sketch-stats{gap:14px;font-size:11px}.sketch-stats strong{font-size:28px}.sketch-proof-grid{grid-template-columns:1fr;gap:20px}.sketch-logo-wall{padding:24px 20px}.sketch-story{padding:34px 0}.sketch-story p{font-size:16px;line-height:1.95;margin-bottom:24px}.professional-home .services,.professional-home .work{padding-block:42px}.professional-home .service-introduction{grid-template-columns:1fr;gap:26px;margin-bottom:38px}.professional-home .service-introduction h2{font-size:28px}.professional-home .service-choices{gap:40px}.professional-home .approach{padding-block:40px}.professional-home .approach h2{font-size:27px}.professional-home .work h2{font-size:26px}.professional-home .showcase-proof{grid-template-columns:1fr;margin-bottom:30px}.professional-home .showcase-grid{grid-template-columns:1fr;gap:28px}.professional-home .showcase-grid .showcase-card h3{font-size:25px}.professional-home .showcase-grid .showcase-card p{font-size:16px}.professional-home .showcase-card>div{padding:24px}.professional-home .case-index-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none}.ribbon-set[aria-hidden=true]{display:none}.professional-home *{scroll-behavior:auto!important;transition:none!important}}


/* v2: deliberate headline lines and a calmer editorial rhythm. */
.sketch-hero{gap:56px;align-items:start;padding-top:52px;padding-bottom:52px}
.sketch-hero-copy{padding-top:13px}
.sketch-eyebrow{font-size:12px;line-height:1.8;letter-spacing:.04em;margin-bottom:25px}
.sketch-hero h1{font-size:clamp(30px,2.8vw,38px);line-height:1.48;letter-spacing:-.025em}
.sketch-hero h1>.headline-question,.sketch-hero h1>.headline-outcome{display:block}
.sketch-hero h1>.headline-question{white-space:nowrap}
.sketch-hero h1>.headline-outcome{color:var(--accent)}
.sketch-intro{margin-top:25px}.sketch-actions{gap:24px}
.sketch-story p{max-width:840px;line-height:1.95}
.sketch-story p:nth-child(2){color:var(--ink);font-size:21px;line-height:1.8;padding-left:20px;border-left:2px solid var(--accent);margin-block:30px}
.professional-home .service-choices{align-items:stretch}
.professional-home .service-card{display:flex;flex-direction:column}
.professional-home .service-body{display:flex;flex-direction:column;flex:1}
.professional-home .service-body>p:last-child{margin-top:auto;padding-top:8px}
.professional-home .showcase-grid{align-items:stretch}
.professional-home .showcase-grid .showcase-card{display:flex;flex-direction:column}
.professional-home .showcase-grid .showcase-card>div{display:flex;flex-direction:column;flex:1}
.professional-home .showcase-grid .case-link{align-self:flex-start;margin-top:auto;padding-top:16px}
.professional-home .showcase-grid .case-meta{margin-bottom:16px}
.professional-home .service-introduction .section-intro{line-height:1.9}
@media(min-width:761px) and (max-width:1099px){.sketch-hero{grid-template-columns:minmax(0,1fr) 220px;gap:28px}.sketch-hero h1{font-size:28px}.sketch-hero h1>.headline-question{white-space:normal}.sketch-eyebrow{font-size:11px}}
@media(max-width:760px){.sketch-hero{padding-top:30px;padding-bottom:36px;gap:30px}.sketch-hero-copy{padding-top:0}.sketch-eyebrow{font-size:11px;margin-bottom:22px}.sketch-hero h1{font-size:28px;line-height:1.55}.sketch-hero h1>.headline-question{white-space:normal;text-wrap:balance}.sketch-hero h1>.headline-outcome{text-wrap:balance;margin-top:3px}.sketch-story p:nth-child(2){font-size:19px;padding-left:16px;margin-block:26px}.professional-home .service-body>p:last-child{padding-top:0}}

.headline-phrase{white-space:nowrap}.sketch-languages .lang{margin:0}

/* v4: founder story always open (Sam GO 2026-10-29) — headline line, darker body, verbatim phrases in bold. */
.sketch-story{padding-block:72px}
.sketch-story>*{max-width:760px;margin-inline:auto}
.sketch-story p.story-eyebrow{max-width:760px;margin:0 auto 18px;font-size:12px;line-height:1.5;letter-spacing:.18em;font-weight:600;color:var(--accent)}
.story-hook{margin-block:0 40px;font-size:clamp(26px,2.6vw,32px);line-height:1.55;font-weight:700;letter-spacing:.01em;color:var(--ink);text-wrap:balance}
.sketch-story .story-body p:nth-child(n){max-width:none;margin:0 0 26px;padding:0;border:0;font-size:18px;line-height:2;color:#3a3a37}
.story-body strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%,rgba(190,40,40,.13) 0)}
.sketch-story .story-body p.story-close-line{margin:40px 0 0;padding-top:28px;border-top:1px solid var(--line);font-weight:500;color:var(--ink)}
.story-close-line a{font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.sketch-story{padding-block:44px}.story-hook{font-size:24px;margin-bottom:28px}.sketch-story .story-body p:nth-child(n){font-size:17px;line-height:1.95}}
/* Globe v4 2026-11-02 (src/globe/globe.js). Label sizes: base for ops/rebrand_type.py (floored to 14px). */
.globe-stage{position:relative;margin:14px 0 10px;aspect-ratio:3/2;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.sketch-map .globe-stage img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:contain;transition:opacity .6s}
.globe-stage.is-3d{cursor:grab}.globe-stage.is-dragging{cursor:grabbing}
.globe-stage.is-3d img{opacity:0;pointer-events:none}
.globe-layer{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .9s}
.globe-stage.is-3d .globe-layer{opacity:1}
.globe-canvas,.globe-overlay{display:block;width:100%;height:100%}
.globe-overlay{position:absolute;inset:0}
.globe-label{position:absolute;left:0;top:0;padding:3px 9px;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.02em;color:#f9f5ea;background:rgba(33,33,36,.82);border:1px solid rgba(249,245,234,.28);border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .22s;will-change:transform}
.globe-label.is-hub{color:#212124;background:#fa5929;border-color:#fa5929}
.globe-label.is-shown{opacity:1}
/* One accessible list: screen-reader only while the globe is on (.has-globe; removed if it fails). */
.sketch-map.has-globe .globe-places{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.globe-places{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0 0 8px;padding:0;list-style:none;font-size:13px;line-height:1.6;color:var(--muted)}
.globe-network-key{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px!important;font-size:12px!important;color:var(--muted)}
.globe-network-key span{width:8px;height:8px;border-radius:50%;background:#c9963f}
.sketch-map.is-3d .globe-network-key span{background:#f2c27c;box-shadow:0 0 8px 2px rgba(242,194,124,.45);opacity:.45;transition:opacity .5s}
.sketch-map.is-3d .globe-network-key.is-on span{opacity:1}
@media(max-width:760px){.globe-stage{aspect-ratio:10/9;margin:10px 0 6px}.globe-label{font-size:11px;padding:2px 7px}.globe-places{font-size:12px;gap:2px 12px}}
