/* GK / Editorial studio. Every content rule is scoped to the reviewed homepage. */
.gk-home { overflow:clip; --home-soft:var(--gk-text-secondary); }
.gk-home p { color:var(--studio-muted); overflow-wrap:anywhere; }
.gk-home h1,.gk-home h2,.gk-home h3 { font-family:var(--studio-display); font-weight:500; }
.gk-home .studio-label { font:10px/1.7 var(--studio-mono); letter-spacing:.07em; text-transform:uppercase; color:var(--studio-muted); }
.gk-home .section-index { color:var(--gk-action-primary); margin-right:16px; }
.gk-home .type-muted { color:var(--home-soft); }
.studio-section { padding-block:var(--studio-space); }
.gk-home h2 { font-size:clamp(38px,4.5vw,72px); line-height:1.07; letter-spacing:-.06em; text-wrap:balance; }
.studio-button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:54px; padding:17px 23px; background:var(--gk-action-primary); color:var(--gk-on-action); font-size:13px; font-weight:600; border:1px solid var(--gk-action-primary); border-radius:var(--gk-radius-sm); transition:background .25s,transform .25s var(--studio-ease); }
.studio-button>span { font-size:22px; line-height:1; transition:transform .25s; }
.studio-button:hover { background:var(--gk-action-primary-hover); }
.studio-button:hover>span,.studio-link:hover>span { transform:translate(3px,-3px); }
.studio-link { display:inline-flex; align-items:center; gap:28px; padding-block:12px; border-bottom:1px solid var(--gk-border-strong); font-size:13px; white-space:nowrap; }
.studio-link>span { font-size:20px; line-height:1; transition:transform .25s; }
.studio-hero { padding-top:38px; }
.hero-topline { display:flex; justify-content:space-between; gap:24px; }
.hero-composition { position:relative; isolation:isolate; margin-top:62px; padding-bottom:26px; }
.gk-home h1 { position:relative; z-index:1; font-size:clamp(76px,9.7vw,154px); line-height:.98; letter-spacing:-.075em; max-width:1050px; }
.gk-home h1>span { color:var(--gk-action-primary); }
.hero-signature { position:absolute; z-index:-1; right:1%; top:-8%; width:39%; aspect-ratio:1; display:grid; place-items:center; }
.hero-signature::before { content:''; position:absolute; inset:0; background:var(--gk-bg-soft); border-radius:50%; }
.signature-mark { font-size:clamp(25px,4.1vw,66px); opacity:.68; transform:rotate(-24deg); --gk-ring-outer:var(--gk-border); --gk-ring-middle:var(--gk-border-strong); }
.hero-aside { position:absolute; right:0; bottom:30px; width:205px; }
.hero-cross { display:block; font:30px/1 var(--studio-mono); color:var(--gk-action-primary); margin-bottom:18px; }
.hero-aside p { font-size:12px; line-height:1.8; }
.hero-baseline { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; margin-top:36px; padding-bottom:58px; }
.hero-baseline>p { font-size:14px; line-height:1.85; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.studio-scroll { display:flex; gap:22px; align-items:center; justify-self:end; font-size:11px; color:var(--studio-muted); }
.studio-scroll>span:last-child { display:grid; place-items:center; width:40px; height:48px; border:1px solid var(--gk-border); border-radius:22px; font-size:18px; color:var(--studio-ink); transition:transform .2s; }
.studio-scroll:hover>span:last-child { transform:translateY(4px); }
.hero-discipline { border-block:1px solid var(--studio-line); padding-block:24px; display:flex; align-items:center; gap:46px; font-size:12px; color:var(--gk-text-secondary); }
.hero-discipline>span:not(:last-child)::before { content:'·'; color:var(--studio-accent); margin-right:13px; }
.hero-discipline .discipline-end { margin-left:auto; font:10px var(--studio-mono); color:var(--studio-muted); }
.discipline-end>span { margin-left:20px; }
.studio-intro { display:grid; grid-template-columns:1fr 2.45fr; gap:40px; }
.studio-intro>.studio-label { padding-top:10px; }
.intro-body h2 { max-width:900px; }
.intro-bottom { margin-top:38px; display:flex; align-items:end; gap:64px; }
.intro-bottom>p { max-width:495px; font-size:15px; line-height:1.95; }
.intro-bottom .studio-link { flex-shrink:0; }
.studio-work { background:var(--gk-bg-soft); border-block:1px solid var(--gk-border); }
.studio-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:55px; }
.studio-heading .studio-label { margin-bottom:22px; }
.studio-heading .studio-link { flex-shrink:0; }
.work-editorial { display:grid; grid-template-columns:1fr 1fr; gap:70px 36px; }
.editorial-project { min-width:0; }
.editorial-project-lead { grid-column:1/-1; }
.editorial-image { position:relative; display:block; aspect-ratio:1.45; overflow:hidden; background:var(--gk-bg-soft); }
.editorial-project-lead .editorial-image { aspect-ratio:1.92; }
.editorial-image>img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--studio-ease); }
.editorial-image:hover>img { transform:scale(1.035); }
.project-open { position:absolute; right:24px; bottom:24px; display:grid; place-items:center; width:54px; height:54px; background:var(--gk-action-primary); color:var(--gk-on-action); border-radius:50%; font-size:27px; transition:background .2s,transform .3s; }
.editorial-image:hover .project-open { background:var(--gk-action-primary-hover); transform:rotate(9deg); }
.editorial-caption { display:flex; gap:28px; justify-content:space-between; margin-top:26px; }
.editorial-caption .studio-label { font-size:9px; margin-bottom:10px; }
.editorial-caption h3 { font-size:clamp(24px,2.5vw,36px); line-height:1.12; overflow-wrap:anywhere; }
.editorial-caption>p { max-width:42%; font-size:13px; line-height:1.85; }
.editorial-project:not(.editorial-project-lead) .editorial-caption { flex-direction:column; gap:14px; }
.editorial-project:not(.editorial-project-lead) .editorial-caption>p { max-width:90%; }
.gk-home .project-stack { margin-top:18px; font:10px/1.8 var(--studio-mono); color:var(--gk-text-secondary); }
.demo-label { color:var(--gk-action-primary); }
.editorial-no-image { position:relative; width:100%; height:100%; display:flex; align-items:start; justify-content:space-between; flex-direction:column; gap:24px; padding:clamp(28px,5vw,76px); background:linear-gradient(130deg,var(--gk-bg-soft),var(--gk-bg-soft) 70%); }
.editorial-no-image::after { content:''; position:absolute; height:68%; aspect-ratio:1; border:1px solid var(--gk-border); border-radius:50%; right:-8%; bottom:-29%; pointer-events:none; }
.editorial-no-image strong { max-width:80%; overflow-wrap:anywhere; font-size:clamp(30px,4vw,66px); font-weight:500; letter-spacing:-.055em; line-height:1.08; }
.editorial-no-image>span:last-child { color:var(--gk-text-secondary); font-size:12px; padding-right:45px; }
.work-notice { position:relative; grid-column:1/-1; border-block:1px solid var(--gk-border); padding:68px 0; overflow:hidden; }
.work-notice h3 { font-size:clamp(36px,5vw,72px); margin:24px 0; line-height:1.08; }
.work-notice>p { max-width:390px; font-size:14px; }
.work-notice .studio-link { margin-top:20px; }
.work-notice>img { position:absolute; width:30%; height:auto; right:3%; top:12%; opacity:.3; pointer-events:none; }
.section-description { max-width:310px; font-size:14px; line-height:1.9; padding-bottom:3px; }
.studio-service { position:relative; display:grid; grid-template-columns:65px 1.2fr 1fr 45px; gap:30px; align-items:center; padding:35px 0; border-top:1px solid var(--studio-line); transition:background .3s,padding .3s var(--studio-ease); }
.studio-service:last-child { border-bottom:1px solid var(--studio-line); }
.studio-service h3 { min-width:0; overflow-wrap:anywhere; font-size:clamp(23px,2.4vw,36px); line-height:1.2; letter-spacing:-.045em; }
.studio-service>p { font-size:13px; line-height:1.8; max-width:360px; }
.service-direction { justify-self:end; font-size:27px; color:var(--gk-action-primary); transition:transform .3s,color .3s; }
.studio-service:hover { background:var(--gk-bg-soft); padding-inline:16px; }
.studio-service:hover .service-direction { color:var(--gk-bg-soft); transform:translate(3px,-3px); }
.services-all { margin-top:30px; }
.service-invitation { padding-block:35px; border-block:1px solid var(--studio-line); }
.studio-process { background:var(--gk-bg-surface); border-block:1px solid var(--gk-border); }
.process-composition { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(50px,9vw,150px); }
.process-heading>.studio-label { margin-bottom:26px; }
.process-heading h2 { font-size:clamp(36px,3.8vw,60px); }
.process-heading>p:not(.studio-label) { max-width:375px; margin-top:30px; font-size:14px; line-height:1.9; }
.process-heading .studio-link { margin-top:28px; }
.studio-steps { padding:0; margin:0; list-style:none; }
.studio-steps li { display:grid; grid-template-columns:32px 1fr; gap:24px; padding-block:30px; border-top:1px solid var(--gk-border); }
.studio-steps li:first-child { padding-top:4px; border:0; }
.studio-steps li:last-child { padding-bottom:0; }
.studio-steps li>.studio-label { color:var(--gk-action-primary); padding-top:5px; }
.studio-steps h3 { font-size:25px; letter-spacing:-.04em; }
.studio-steps p { margin-top:13px; font-size:13px; line-height:1.95; max-width:390px; }
.expertise-layout { margin-top:36px; display:grid; grid-template-columns:1.35fr 1fr; gap:100px; }
.expertise-layout h2 { font-size:clamp(40px,4.6vw,74px); }
.expertise-intro { max-width:330px; margin-top:30px; font-size:15px; line-height:1.9; }
.expertise-principles>div { border-top:1px solid var(--studio-line); padding-block:23px; }
.expertise-principles>div:first-child { padding-top:0; border:0; }
.expertise-principles h3 { font-size:21px; letter-spacing:-.035em; }
.expertise-principles p { font-size:13px; line-height:1.85; margin-top:12px; max-width:390px; }
.expertise-foundation { display:flex; align-items:center; flex-wrap:wrap; gap:28px 45px; border-top:1px solid var(--studio-line); padding-top:30px; margin-top:70px; font-size:15px; color:var(--gk-text-secondary); }
.expertise-foundation .studio-label { margin-right:auto; }
.studio-quote { margin:70px 0 0; border-top:1px solid var(--studio-line); padding-top:55px; max-width:900px; }
.studio-quote blockquote { font-size:clamp(25px,3vw,40px); letter-spacing:-.035em; line-height:1.4; margin:0; }
.studio-quote figcaption { margin-top:25px; font:11px/1.8 var(--studio-mono); }
.studio-quote figcaption span { color:var(--studio-muted); }
.studio-preview { background:var(--gk-bg-soft); color:var(--gk-text-primary); }
.preview-composition { padding-block:64px 72px; }
.preview-top { display:flex; justify-content:space-between; gap:25px; }
.gk-home .preview-top .studio-label { color:var(--gk-text-secondary); }
.gk-home .studio-preview h2 { font-size:clamp(54px,7.4vw,118px); max-width:1200px; line-height:1; margin-block:58px 44px; letter-spacing:-.065em; }
.studio-preview h2 span { color:var(--gk-action-primary); }
.preview-bottom { display:flex; justify-content:space-between; gap:50px; align-items:end; }
.gk-home .preview-bottom>p { color:var(--gk-text-secondary); max-width:420px; font-size:14px; line-height:1.9; }
.studio-button-primary { background:var(--gk-action-primary); color:var(--gk-on-action); flex-shrink:0; }
.studio-button-primary:hover { background:var(--gk-action-primary-hover); }
/* Only opt in while observed; content remains visible without JavaScript. */
@media(prefers-reduced-motion:no-preference) {
    .home-motion [data-home-reveal] { transition:opacity .7s var(--studio-ease),transform .7s var(--studio-ease); }
    .home-motion [data-home-reveal].home-pending { opacity:0; transform:translateY(22px); }
}
@media(min-width:1600px) { .hero-signature { right:6%; } }
@media(max-width:1100px) {
    .gk-home h1 { font-size:clamp(70px,10.5vw,118px); }
    .hero-aside { width:170px; bottom:30px; }
    .hero-aside p { font-size:11px; }
    .hero-baseline { grid-template-columns:1fr auto; }
    .hero-actions { gap:20px; }
    .studio-scroll { display:none; }
    .studio-intro { grid-template-columns:1fr 2.7fr; gap:35px; }
    .intro-bottom { flex-direction:column; align-items:start; gap:20px; }
    .studio-service { grid-template-columns:40px 1fr 1fr 30px; gap:22px; }
    .expertise-layout { gap:60px; }
    .expertise-foundation { gap:20px 30px; }
}
@media(max-width:760px) {
    .studio-hero { padding-top:26px; }
    .hero-topline .studio-label { font-size:8px; }
    .hero-location { display:none; }
    .hero-composition { margin-top:60px; padding-bottom:0; }
    .gk-home h1 { font-size:clamp(58px,12.7vw,94px); line-height:1.02; }
    .hero-signature { right:-7%; top:-32px; width:55%; opacity:.52; }
    .signature-mark { font-size:clamp(25px,6.8vw,50px); }
    .hero-aside { display:none; }
    .hero-baseline { margin-top:30px; gap:24px; padding-bottom:42px; }
    .hero-baseline>p { font-size:12px; }
    .studio-button { gap:22px; font-size:12px; padding:15px 18px; }
    .hero-discipline { gap:22px; font-size:10px; padding-block:20px; }
    .hero-discipline .discipline-end { display:none; }
    .studio-intro { grid-template-columns:1fr; gap:30px; }
    .intro-body h2 { max-width:640px; }
    .intro-bottom { margin-top:26px; }
    .intro-bottom>p { font-size:14px; }
    .studio-heading { flex-direction:column; align-items:start; gap:24px; margin-bottom:35px; }
    .studio-heading .studio-label { margin-bottom:20px; }
    .work-editorial { grid-template-columns:1fr; gap:44px; }
    .editorial-project-lead { grid-column:auto; }
    .editorial-project-lead .editorial-image { aspect-ratio:1.4; }
    .editorial-caption { flex-direction:column; gap:14px; margin-top:22px; }
    .editorial-caption>p { max-width:95%; }
    .editorial-caption h3 { font-size:28px; }
    .editorial-no-image strong { font-size:clamp(30px,6.5vw,48px); }
    .project-open { width:44px; height:44px; font-size:23px; right:16px; bottom:16px; }
    .work-notice { padding-block:45px; }
    .work-notice>img { top:25px; right:-10%; width:50%; opacity:.12; }
    .work-notice h3,.work-notice>p,.work-notice .studio-link { position:relative; z-index:1; }
    .section-description { max-width:380px; }
    .studio-service { grid-template-columns:30px 1fr 26px; gap:10px 18px; padding-block:26px; }
    .studio-service h3 { font-size:25px; }
    .studio-service>p { grid-column:2; grid-row:2; max-width:400px; font-size:12px; }
    .service-direction { grid-column:3; grid-row:1; font-size:25px; }
    .service-number { align-self:start; padding-top:5px; }
    .studio-service:hover { padding-inline:0; }
    .process-composition { grid-template-columns:1fr; gap:46px; }
    .process-heading h2 { font-size:clamp(38px,7vw,56px); }
    .studio-steps h3 { font-size:24px; }
    .expertise-layout { grid-template-columns:1fr; gap:40px; }
    .expertise-layout h2 { font-size:clamp(40px,8vw,60px); }
    .expertise-principles p { max-width:440px; }
    .expertise-foundation { margin-top:35px; font-size:12px; }
    .expertise-foundation .studio-label { width:100%; }
    .preview-composition { padding-block:40px 48px; }
    .preview-top>.studio-label:last-child { display:none; }
    .gk-home .studio-preview h2 { font-size:clamp(48px,9.7vw,74px); margin-block:40px 30px; }
    .preview-bottom { flex-direction:column; align-items:start; gap:28px; }
    .gk-home .preview-bottom>p { font-size:13px; }
}
@media(max-width:480px) {
    .hero-baseline { grid-template-columns:1fr; }
    .hero-baseline .studio-button { justify-self:start; margin-top:3px; }
    .hero-actions { flex-wrap:wrap; gap:14px 24px; }
    .hero-discipline { justify-content:space-between; gap:12px; }
    .hero-discipline>span:not(:last-child)::before { margin-right:7px; }
    .gk-home h1 { font-size:clamp(48px,12.6vw,61px); }
    .hero-signature { top:-20px; right:-12%; }
    .gk-home h2 { font-size:37px; }
    .studio-service h3 { font-size:22px; }
    .studio-label,.gk-home .studio-label { font-size:9px; }
    .editorial-no-image { padding:24px; }
    .editorial-no-image>span:last-child { font-size:10px; max-width:85%; }
    .editorial-caption>p { font-size:12px; }
    .studio-steps li { gap:16px; grid-template-columns:25px 1fr; }
}
