/* Service explorer and editorial service stories. */
.service-explorer { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(30px,6vw,90px); align-items:start; margin-top:48px; }
.service-rows { border-top:1px solid var(--line); }
.service-row { border-bottom:1px solid var(--line); }
.service-row h3 { margin:0; }
.service-row-toggle { display:grid; grid-template-columns:28px minmax(0,1fr) 22px; align-items:center; gap:16px; width:100%; text-align:left; padding:24px 0; background:transparent; color:var(--ink); cursor:pointer; transition:color 240ms ease; }
.service-row-toggle>span:nth-child(2) { font-size:clamp(1.2rem,2vw,1.8rem); font-weight:600; line-height:1.12; letter-spacing:-.045em; }
.service-number { font-size:.68rem; font-weight:400; align-self:start; padding-top:5px; }
.service-symbol { font-size:1.6rem; font-weight:400; transition:transform 350ms ease; }
.service-row.is-previewing .service-row-toggle { color:#98732b; }
.service-row.is-open .service-symbol { transform:rotate(45deg); }
.service-row-toggle:focus-visible,.service-explore:focus-visible,.service-jump-links a:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.service-row-panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 420ms cubic-bezier(.22,1,.36,1),opacity 240ms ease; }
.service-row.is-open .service-row-panel { grid-template-rows:1fr; opacity:1; }
.service-row-inner { overflow:hidden; min-height:0; }
.service-row-inner>p,.service-row-inner>ul,.service-explore { margin-left:44px; }
.service-row-inner>p { font-size:.95rem; color:var(--muted); margin-top:0; margin-bottom:18px; max-width:420px; }
.service-row-inner>ul { padding:0; list-style:none; margin-top:0; margin-bottom:20px; font-size:.78rem; }
.service-row-inner>ul li { padding:5px 0; }
.service-row-inner>ul li::before { content:'—'; margin-right:10px; color:var(--gold); }
.service-explore { display:inline-flex; gap:18px; align-items:center; margin-bottom:26px; font-size:.72rem; text-transform:uppercase; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:5px; }
.service-preview-stage { position:sticky; top:110px; aspect-ratio:4/4.65; overflow:hidden; background:var(--soft); }
.service-preview-layer { position:absolute; inset:0; opacity:0; visibility:hidden; transform:scale(1.035); transition:opacity 420ms ease,transform 650ms cubic-bezier(.22,1,.36,1),visibility 420ms; pointer-events:none; }
.service-preview-layer.is-active { opacity:1; visibility:visible; transform:scale(1); }
.service-art { position:relative; width:100%; height:100%; min-height:0; margin:0; padding:clamp(24px,3vw,46px); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; }
.art-small,.art-foot { position:relative; z-index:2; font-size:.65rem; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.service-art>strong { position:relative; font-size:clamp(3rem,7vw,7rem); font-weight:600; line-height:.86; letter-spacing:-.075em; }
.art-photo { padding:0; background:#222; }
.art-photo img { width:100%; height:100%; object-fit:cover; }
.art-photo figcaption { position:absolute; left:20px; right:20px; bottom:20px; font-size:.62rem; color:#fff; text-shadow:0 1px 6px #000; }
.art-ai { background:#d8dfd0; color:#243323; }
.art-ai::before,.art-ai::after { content:''; position:absolute; width:75%; height:75%; border:1px solid rgba(36,51,35,.2); border-radius:50%; top:20%; left:12%; }
.art-ai::after { transform:rotate(45deg) scaleX(.55); }
.art-ai>strong span { color:#8b9e77; }
.art-web { background:#ded9cc; color:#393932; }
.wire-browser { position:relative; background:#f6f4ef; padding:15px 20px 22px; box-shadow:0 24px 40px #39393217; transform:rotate(-4deg); }
.wire-browser>i { display:inline-block; width:4px; height:4px; background:#bbb5a8; border-radius:50%; margin-right:3px; }
.wire-nav { border-top:1px solid #d9d4c8; margin:10px -20px 24px; }
.wire-browser>strong { display:block; font-size:clamp(1.7rem,3.5vw,3.2rem); line-height:1; letter-spacing:-.05em; font-weight:500; }
.wire-line { margin:16px 0; width:65%; height:4px; background:#d8d4c8; }
.wire-button { font-size:.6rem; background:#333a30; color:#fff; display:table; padding:8px 14px; }
.wire-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:24px; }
.wire-grid span { aspect-ratio:1; background:#d8dfd0; }
.wire-grid span:nth-child(2) { background:#cac2af; }
.wire-grid span:nth-child(3) { background:#b9bfad; }
.art-marketing { background:#303a31; color:#ede9de; }
.art-marketing>strong { font-size:clamp(3rem,5.8vw,6rem); }
.orbit-ring { position:absolute; width:105%; height:75%; border:1px solid #d2d3b955; border-radius:50%; left:5%; top:10%; transform:rotate(-35deg); }
.orbit-ring::after { content:''; position:absolute; width:14px; height:14px; background:#d6bf87; border-radius:50%; left:10%; top:10%; }
.art-social { background:#e7cfc1; color:#4b332b; }
.social-cards { position:relative; height:62%; margin:12% 0; }
.social-cards>span { position:absolute; width:65%; height:88%; padding:20px; font-size:.7rem; border:1px solid #4b332b22; box-shadow:0 14px 25px #4b332b10; background:#faf7f1; transform:rotate(-9deg); }
.social-cards>span:nth-child(2) { left:18%; top:8%; background:#c4cbb7; transform:rotate(2deg); }
.social-cards>span:nth-child(3) { left:35%; top:18%; background:#ab7157; color:#fff; transform:rotate(12deg); }
.social-cards b { display:block; margin-top:35%; font-size:clamp(1.1rem,2.8vw,2.7rem); line-height:1; letter-spacing:-.05em; font-weight:500; }
.art-graphic { color:#272927; background-color:#e5e3d9; background-image:linear-gradient(#27292713 1px,transparent 1px),linear-gradient(90deg,#27292713 1px,transparent 1px); background-size:12.5% 12.5%; }
.art-graphic>strong { font-size:clamp(8rem,21vw,22rem); line-height:.8; align-self:center; font-weight:500; }
.art-graphic>strong span { font-size:.24em; vertical-align:top; color:#a87942; }
.service-mobile-art { display:none; }
.service-page-intro { padding-bottom:65px; }
.service-page-intro h1 { font-size:clamp(3rem,6.8vw,6.5rem); line-height:.98; max-width:950px; }
.service-jump-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:32px; margin-top:45px; border-top:1px solid var(--line); }
.service-jump-links a { display:flex; gap:14px; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); font-size:.78rem; }
.service-jump-links span { color:var(--gold); font-size:.65rem; padding-top:2px; }
.service-detail-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,7vw,100px); max-width:var(--max); margin:0 auto; padding:70px clamp(18px,4vw,54px); border-top:1px solid var(--line); scroll-margin-top:90px; }
.service-detail-section:nth-of-type(odd) .service-detail-visual { order:2; }
.service-detail-visual { aspect-ratio:4/5; align-self:start; }
.service-detail-copy { align-self:center; }
.service-detail-copy h2 { font-size:clamp(2.15rem,3.8vw,4rem); line-height:1.04; letter-spacing:-.055em; text-wrap:balance; }
.service-detail-copy>p:not(.eyebrow) { color:var(--muted); font-size:.92rem; line-height:1.65; }
.service-detail-copy .service-detail-lead { color:var(--ink)!important; font-size:1.05rem!important; }
.service-deliverables { list-style:none; padding:0; margin:28px 0; border-top:1px solid var(--line); }
.service-deliverables li { display:flex; gap:20px; border-bottom:1px solid var(--line); padding:14px 0; font-size:.8rem; }
.service-deliverables span { font-size:.65rem; color:var(--gold); padding-top:2px; }
.service-detail-actions { display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
.service-detail-actions .button-link { font-size:.7rem; }
.service-work-link { font-size:.72rem; border-bottom:1px solid currentColor; padding-bottom:4px; }
.service-endnote { text-align:center; padding-top:100px; padding-bottom:110px; }
.service-endnote h2 { font-size:clamp(2.5rem,5vw,5rem); letter-spacing:-.055em; line-height:1.05; }
.service-endnote>p:not(.eyebrow) { color:var(--muted); }
@media(prefers-reduced-motion:no-preference) {
 [data-service-entry].motion-ready .section-title,[data-service-entry].motion-ready>h1,[data-service-entry].motion-ready .service-detail-copy,[data-service-entry].motion-ready .service-detail-visual { opacity:0; transform:translateY(20px); transition:opacity 650ms ease,transform 700ms cubic-bezier(.22,1,.36,1); }
 [data-service-entry].motion-ready.is-in-view .section-title,[data-service-entry].motion-ready.is-in-view>h1,[data-service-entry].motion-ready.is-in-view .service-detail-copy,[data-service-entry].motion-ready.is-in-view .service-detail-visual { opacity:1; transform:none; }
 [data-service-entry].motion-ready .service-row,[data-service-entry].motion-ready .service-deliverables li { opacity:0; transform:translateY(12px); transition:opacity 500ms ease,transform 600ms ease; transition-delay:calc(var(--row-order, var(--deliverable-order,0)) * 45ms); }
 [data-service-entry].motion-ready.is-in-view .service-row,[data-service-entry].motion-ready.is-in-view .service-deliverables li { opacity:1; transform:none; }
}
@media(max-width:760px) {
 .service-explorer { display:block; margin-top:28px; }
 .service-preview-stage { display:none; }
 .service-row-toggle { padding:22px 0; grid-template-columns:22px minmax(0,1fr) 18px; gap:12px; }
 .service-row-toggle>span:nth-child(2) { font-size:1.35rem; }
 .service-row-inner>p,.service-row-inner>ul,.service-explore { margin-left:34px; }
 .service-mobile-art { display:block; margin:0 0 22px 34px; height:260px; }
 .service-mobile-art .service-art { padding:24px; }
 .service-mobile-art .art-photo { padding:0; }
 .service-mobile-art .service-art>strong { font-size:4.5rem; }
 .service-mobile-art .art-graphic>strong { font-size:10rem; }
 .service-mobile-art .social-cards { margin:5% 12%; }
 .service-mobile-art .social-cards>span { width:60%; padding:12px; }
 .service-mobile-art .social-cards b { margin-top:20%; font-size:1.3rem; }
 .service-mobile-art .wire-browser { margin:10px auto; width:85%; }
 .service-mobile-art .wire-nav { margin-bottom:12px; }
 .service-mobile-art .wire-browser>strong { font-size:1.6rem; }
 .service-mobile-art .wire-line,.service-mobile-art .wire-grid { display:none; }
 .service-jump-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin-top:30px; }
 .service-jump-links a { font-size:.72rem; }
 .service-page-intro { padding-bottom:40px; }
 .service-page-intro h1 { font-size:clamp(2.8rem,11vw,4rem); }
 .service-detail-section { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:40px; padding-bottom:45px; }
 .service-detail-section:nth-of-type(odd) .service-detail-visual { order:0; }
 .service-detail-visual { aspect-ratio:1/1; }
 .service-detail-copy h2 { font-size:2.25rem; }
 .service-detail-visual .service-art>strong { font-size:5.4rem; }
 .service-detail-visual .art-graphic>strong { font-size:13rem; }
 .service-detail-visual .wire-browser>strong { font-size:2rem; }
 .service-detail-visual .social-cards b { font-size:1.7rem; }
}
@media(prefers-reduced-motion:reduce) {
 .service-row-panel,.service-preview-layer,.service-symbol,.service-row-toggle { transition:none; }
 .service-preview-layer { transform:none; }
}
/* Immediate service selection; row positions stay stable on desktop. */
@media(min-width:761px){
 .service-row-panel{display:none;}
 .service-row-toggle{min-height:94px;position:relative;}
 .service-row-toggle::before{content:'';position:absolute;inset:0 -12px;background:rgba(172,132,45,.06);transform:scaleX(0);transform-origin:left;transition:transform 280ms ease;z-index:-1;}
 .service-row.is-previewing .service-row-toggle::before{transform:scaleX(1);}
 .service-row-toggle>span:nth-child(2){transition:transform 300ms cubic-bezier(.22,1,.36,1),color 220ms ease;}
 .service-row.is-previewing .service-row-toggle>span:nth-child(2){transform:translateX(8px);}
 .service-row.is-previewing .service-symbol{transform:rotate(45deg);}
 .service-preview-stage{height:690px;aspect-ratio:auto;}
 .service-preview-layer{display:grid;grid-template-rows:330px 1fr;transform:translateY(8px);transition:opacity 240ms ease,transform 400ms cubic-bezier(.22,1,.36,1),visibility 240ms;}
 .service-preview-layer.is-active{transform:none;}
 .service-preview-layer .service-art{transition:transform 650ms ease;transform:scale(1.025);}
 .service-preview-layer.is-active .service-art{transform:scale(1);}
 .service-preview-layer .service-art>strong{font-size:5.3rem;}
 .service-preview-layer .art-graphic>strong{font-size:11rem;}
 .service-preview-layer .social-cards{margin:2% 12%;}
 .service-preview-layer .social-cards b{font-size:1.8rem;margin-top:20%;}
 .service-preview-layer .wire-browser{transform:rotate(-3deg) scale(.8);margin:-15px auto;}
 .service-preview-content{padding:24px 28px;background:#ebe7dc;display:flex;flex-direction:column;align-items:start;}
 .service-preview-content>p{font-size:1rem;line-height:1.5;margin-bottom:16px;}
 .service-preview-content ul{padding:0;list-style:none;font-size:.78rem;line-height:1.45;margin:0 0 18px;}
 .service-preview-content li{padding:5px 0;}
 .service-preview-content li::before{content:'—';color:var(--gold);margin-right:10px;}
 .service-preview-content .service-explore{margin: auto 0 0;}
}
.art-website-project{padding:0;background:#e0dacb;}
.art-website-project img{width:100%;height:100%;object-fit:contain;}
.art-website-project figcaption{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:rgba(246,244,239,.94);font-size:.64rem;color:#080808;}
.service-detail-visual .art-website-project img{object-fit:contain;}
.studio-feature-image{max-width:var(--max);margin:0 auto 60px;padding:0 clamp(18px,4vw,54px);}
.studio-feature-image img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;}
.studio-feature-image figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.68rem;margin-top:12px;color:var(--muted);}
.studio-feature-image figcaption a{border-bottom:1px solid currentColor;}
.about-hero{min-height:0;}
.about-hero .about-intro{max-width:560px;}
.work-preview-meta span:empty{display:none;}
.project-tile[data-tag="Web"] img{object-fit:contain;background:#e4e0d5;}
@media(max-width:760px){
 .service-preview-content{display:none;}
 .service-mobile-art .art-website-project{padding:0;}
 .studio-feature-image img{aspect-ratio:4/3;}
 .studio-feature-image figcaption{flex-wrap:wrap;gap:8px;}
}
@media(prefers-reduced-motion:reduce){
 .service-row-toggle>span,.service-row-toggle::before,.service-preview-layer .service-art{transition:none;transform:none;}
 .service-preview-layer{transform:none;transition:none;}
}
.service-preview-layer.is-active{pointer-events:auto}
/* Category labels without decorative counting. */
.service-row-toggle{grid-template-columns:minmax(0,1fr) 22px}
.service-row-toggle>.service-name{font-size:clamp(1.2rem,2vw,1.8rem);font-weight:600;line-height:1.12;letter-spacing:-.045em;transition:transform 300ms cubic-bezier(.22,1,.36,1),color 220ms ease}
.service-row-toggle>.service-symbol{font-size:1.6rem;font-weight:400;line-height:1;letter-spacing:0}
@media(min-width:761px){
 .service-row.is-previewing .service-row-toggle>.service-name{transform:translateX(8px)}
 .service-row.is-previewing .service-row-toggle>.service-symbol{transform:rotate(45deg)}
 .service-row:not(.is-previewing) .service-row-toggle>.service-symbol{transform:none}
}
@media(max-width:760px){.service-row-toggle{grid-template-columns:minmax(0,1fr) 18px}.service-row-toggle>.service-name{font-size:1.35rem}.service-row-toggle>.service-symbol{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.service-row-toggle>.service-name{transition:none;transform:none!important}}
