/* Portfolio reading system: work samples, product interfaces and clear onward paths. */
:root{--page-gutter:clamp(22px,3.5vw,60px)}
.case-page,.page-view{max-width:1480px;margin-inline:auto}
.case-page{padding-top:18px}
.case-topline{font-size:12px;padding:18px 0 22px}
.case-sections{position:sticky;top:0;z-index:4;background:rgba(17,17,18,.96);backdrop-filter:blur(12px);margin-top:0;gap:28px;padding:19px 0;border-block:1px solid var(--line)}
.case-sections button{font-size:13px;white-space:nowrap;color:var(--muted);padding:7px 0;border-bottom:1px solid transparent}
.case-sections button[aria-current="true"]{color:var(--text);border-color:var(--text)}
.case-sections>a{font-size:12px}
.case-section,.product-opening{scroll-margin-top:90px}
.case-next{margin-top:64px;padding:36px 0 54px;grid-template-columns:1fr 200px 44px}
.case-next h2{font-size:clamp(30px,4vw,55px);margin:16px 0 12px}
.case-next img{aspect-ratio:1.6}
.home-paths{max-width:1220px;margin:30px auto 0;display:flex;gap:38px;padding:0;justify-content:flex-end}
.home-paths a{display:grid;grid-template-columns:1fr auto;gap:5px 28px;border-bottom:1px solid #505050;padding:8px 0 10px;min-width:210px}
.home-paths a>span:first-child{font-size:14px}.home-paths small{font-size:11px;color:var(--muted);grid-row:2}
.home-paths a>span{display:block;margin-left:0;color:var(--text);font-family:var(--body)}
.home-paths a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:20px}
.home-paths a:hover{border-color:var(--text)}
.home-view .active-subtitle{font-size:13px;line-height:1.6}
.work-directory .work-intro{padding:34px 0 46px}.work-directory .work-intro h1{font-size:clamp(54px,6.5vw,92px)}
.work-directory .work-intro p{font-size:17px;color:#b5b5b0}
.work-directory .work-toolbar{margin-bottom:34px}
.work-group-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:baseline;margin-bottom:26px}
.work-group-heading h2{font-size:25px;font-weight:400}
.work-group-heading p{font-size:14px;line-height:1.8;color:var(--muted);max-width:32em}
.work-group + .work-group{margin-top:85px}
.work-directory .work-grid{gap:42px 28px}
.work-preview{padding-top:0;border:0}
.work-preview-visual{height:auto;aspect-ratio:1.55;background:#1b1c1d;overflow:hidden}
.work-preview-visual>img{object-fit:contain;width:100%;height:100%;transition:transform .5s ease}
.work-preview:hover .work-preview-visual>img{transform:scale(1.025)}
.work-preview-copy{position:relative;display:block;margin:18px 0 0;padding-right:28px}
.work-preview-copy .project-kind{font-size:11px;color:var(--muted)}
.work-preview-copy h3{font-size:28px;line-height:1.3;margin:10px 0 6px;font-weight:400}
.work-preview-copy p{font-size:14px;line-height:1.6}
.work-preview-copy .work-card-arrow{position:absolute;right:0;top:31px;font-size:24px}
.index-delivery{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;position:relative;padding:20px 24px 42px;background:#242625}
.index-delivery>img{width:100%;height:100%;min-height:0;object-fit:contain;background:#171818}
.index-delivery>span,.index-film>span{position:absolute;bottom:13px;left:24px;font-size:11px;color:#c5c5c0}
.index-campaign{height:100%;position:relative}
.index-campaign>img{width:100%;height:100%;object-fit:cover}
.index-campaign>span{position:absolute;bottom:18px;left:22px;font-size:12px;background:#111c;padding:8px 12px}
.index-film{display:flex;align-items:center;gap:10px;height:100%;position:relative;padding:20px 30px 45px;background:#1b2020}
.index-film>img{width:calc((100% - 20px)/3);height:100%;object-fit:cover;object-position:center}
.index-app{height:100%;display:flex;align-items:flex-start;justify-content:center;gap:20px;padding:28px 30px 0;overflow:hidden}
.index-memory{background:#c2c4c2}
.index-memory>img{width:36%;height:auto;border:5px solid #171818;border-radius:20px;box-shadow:0 8px 25px #0002}
.index-memory>img+img{margin-top:26px}
.index-pin{background:#1b1b1e;align-items:center;gap:30px;padding:28px 20px}
.index-pin>img{height:100%;width:auto;max-width:48%;object-fit:contain;border-radius:20px;border:3px solid #5d6065}
.index-pin>span{font-family:PinHand,cursive;font-size:74px;color:#f2f1ed}
.index-pin small{display:block;font:11px/1.7 var(--body);margin-top:20px;color:#a4a4a7;white-space:nowrap}
.proof-hero{padding:36px 0 44px;gap:clamp(28px,4vw,64px)}
.proof-hero h1{font-size:clamp(40px,4.5vw,68px);line-height:1.2;letter-spacing:-.04em}
.proof-lead{font-size:17px;line-height:1.85;max-width:34em;margin-top:22px}
.proof-facts{margin-top:25px}.proof-facts>div{font-size:13px;padding-block:12px;grid-template-columns:60px 1fr}
.proof-jump{margin-top:5px}
.delivery-hero-visual{padding:18px;background:#242625}
.delivery-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.delivery-preview-grid img{width:100%;height:140px;object-fit:contain;background:#171818}
.delivery-hero-caption{display:flex;gap:25px;align-items:center;margin-top:18px;padding:0 6px 2px}
.delivery-hero-caption>strong{font-size:58px;font-weight:400;letter-spacing:-.05em;line-height:1}
.delivery-hero-caption strong>span{font-size:15px;letter-spacing:0}
.delivery-hero-caption p{font-size:12px;line-height:1.8;color:#bfc1bc}
.campaign-hero{margin:0}.campaign-hero>img{aspect-ratio:1.5;object-fit:cover;width:100%}
.campaign-hero figcaption{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);margin-top:12px}
.proof-section{padding:56px 0}
.proof-section>h2{font-size:34px;line-height:1.4;margin-bottom:20px}
.proof-intro{font-size:15px;line-height:1.85;max-width:60em;margin-bottom:28px}
.proof-export-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.proof-export .proof-figure img{height:290px;padding:14px;background:#191a1a}
.proof-export h3{font-size:19px;margin-bottom:16px}
.proof-file{border-top:1px solid var(--line);margin-top:16px;font-size:12px;color:var(--muted)}
.proof-file summary{cursor:pointer;padding:13px 0}
.proof-file dl{margin:0;padding-bottom:12px}
.proof-file dd{color:var(--text)}
.proof-run{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start;padding:28px 0;margin-top:36px}
.proof-run dl{margin:0}
.proof-run h3{font-size:18px;line-height:1.5}
.proof-run dd{margin-top:12px;font-size:28px}
.proof-cover-sequence .proof-figure img{aspect-ratio:16/9;object-fit:cover}
.proof-cover-output{max-width:none;margin-top:32px}
.proof-cover-output video{max-height:560px;object-fit:contain}
.proof-documents{gap:26px}.proof-paper{padding:32px}.proof-paper dl>div{padding:15px 0;line-height:1.75}
.work-skill-contract{background:#232425;color:var(--text);padding:26px 28px;gap:28px;grid-template-columns:1fr 1.25fr 1fr}
.work-skill-contract dt{color:#a6a6a2;font-size:12px}
.work-skill-contract dd{font-size:15px;line-height:1.85}
.work-skill-steps{gap:28px 40px;margin-top:36px}
.work-skill-steps h3{font-size:21px;line-height:1.5;margin-top:17px}
.work-skill-steps p{font-size:14px;line-height:1.9;max-width:39em}
.script-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.script-strip li{border-top:1px solid #74746c;padding-top:18px}
.script-strip span{font:12px var(--mono);color:var(--muted)}
.script-strip h3{font-size:21px;font-weight:400;margin:26px 0 15px}
.script-strip p{font-size:14px;line-height:1.8;color:var(--muted)}
.product-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:center;padding:24px 0 42px}
.product-opening-copy .case-eyebrow{margin-bottom:24px;font-size:12px}
.product-opening h1{font-size:clamp(48px,5.5vw,84px);line-height:1.08;letter-spacing:-.055em;font-weight:400}
.product-subtitle{font-size:21px;line-height:1.55;margin-top:18px}
.product-intro{font-size:17px;line-height:1.85;color:#bdbdb8;margin-top:23px;max-width:35em}
.product-context{font-size:13px;line-height:1.85;color:var(--muted);margin-top:13px}
.product-facts{margin:25px 0 18px;border-top:1px solid var(--line)}
.product-facts>div{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:10px 0;font-size:12px;line-height:1.8;border-bottom:1px solid var(--line)}
.product-facts dt{color:var(--muted)}.product-facts dd{margin:0}
.product-link{display:inline-flex;gap:30px;padding:8px 0;border-bottom:1px solid #7b7b75;font-size:13px}
.product-opening-art{margin:0;aspect-ratio:1.12;width:100%;max-height:540px;min-height:0;background:#1c1d1e;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:26px}
.product-phone-preview{height:100%;max-width:65%;border:4px solid #6e7276;border-radius:30px;overflow:hidden;background:#000;box-shadow:0 15px 40px #0005}
.product-phone-preview>img{width:auto;height:100%;object-fit:contain}
.product-screens{gap:20px;background:#bec1bf;padding:35px 30px}
.product-screens>img{width:43%;height:auto;max-height:100%;object-fit:contain;border-radius:18px;border:5px solid #171819;box-shadow:0 12px 28px #0002;align-self:flex-start}
.product-screens>img+img{align-self:flex-end}
.product-opening-art.dose-cover{height:auto;min-height:0;max-height:540px;aspect-ratio:1.12;margin:0;background:#232923}
.product-opening-art.dose-cover .dose-cover-page{width:35%}
.case-evidence,.pin-demo,.dose-demo{padding-top:48px;margin-bottom:60px}
.case-section-heading,.pin-chapter-head,.dose-chapter-head{margin-bottom:30px;gap:32px;grid-template-columns:1fr 2.15fr}
.case-section-heading h2,.pin-chapter-head h2,.dose-chapter-head h2{font-size:34px}
.case-demo.device-demo{margin-bottom:0;padding:35px 5%;border:0;background:#19191a;gap:8%}
.case-demo .demo-description h3{font-size:28px;line-height:1.5}
.demo-description li{font-size:14px}
.demo-credits{font-size:11px;line-height:1.8;color:var(--muted);margin-top:24px}
.demo-credits summary{cursor:pointer;color:#b5b5b0;padding:8px 0}
.demo-credits>span{display:block;margin-top:8px}
.case-features{padding-top:35px}
.case-features figcaption{display:grid;grid-template-columns:26px 1fr;gap:8px 12px}
.case-features figcaption strong{font-size:17px;font-weight:400;color:var(--text)}
.case-features figcaption p{grid-column:2;font-size:13px;line-height:1.8;color:var(--muted)}
.case-features .evidence-phone .zoom-image{background:#242627;padding:32px 28px}
.about-heading{margin:40px 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:28px}
.about-heading h1{font-size:clamp(52px,7vw,100px);font-weight:400;line-height:1.2;letter-spacing:-.045em}
.about-heading h1 span{display:block;margin-top:14px;font:12px var(--mono);letter-spacing:.08em;color:var(--muted)}
.about-heading>p{font-size:18px;color:#bbbcb6}
.about-editorial{display:grid;grid-template-columns:1fr 1.7fr;gap:90px;padding:70px 0 64px;border-bottom:1px solid var(--line)}
.about-record{align-self:start;border-top:1px solid var(--line);padding-top:20px}
.about-record>span{font-size:12px;color:var(--muted)}
.about-record h2{font-size:30px;font-weight:400;line-height:1.5;margin-top:22px}
.about-record p{font-size:13px;line-height:1.9;color:var(--muted);margin:20px 0}
.about-record a{font-size:13px;display:inline-block;border-bottom:1px solid #6b6c67;padding:8px 0}
.about-editorial .about-copy{max-width:690px}
.about-editorial .about-copy p{font-size:16px;line-height:2;margin-bottom:24px}
.about-editorial .about-copy .about-lead{font-size:26px;line-height:1.7;color:var(--text);margin-bottom:28px}
.about-projects{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.about-projects a{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:24px}
.about-projects img{width:130px;aspect-ratio:1.25;object-fit:cover}
.about-projects span{font-size:11px;color:var(--muted)}
.about-projects strong{display:block;font-size:20px;line-height:1.5;font-weight:400;color:var(--text);margin-top:10px}
.contact-view{min-height:calc(100svh - 235px)}
.contact-view>h1{margin-top:40px;font-size:clamp(64px,8vw,116px)}
.contact-details{max-width:1100px}
.contact-details .email-link{font-size:clamp(23px,4vw,58px);overflow-wrap:anywhere;line-height:1.4}
.contact-details>p{font-size:17px;line-height:1.9}
@media(max-width:1000px){
  .product-opening,.proof-hero{gap:30px}
  .product-opening h1{font-size:48px}
  .product-subtitle{font-size:19px}
  .product-intro,.proof-lead{font-size:15px}
  .product-opening-art{aspect-ratio:.9}
  .product-opening-art.dose-cover{aspect-ratio:.9}
  .index-pin>span{font-size:50px}.index-pin small{font-size:10px}
  .work-group-heading{grid-template-columns:1fr 1.5fr}
  .script-strip{grid-template-columns:1fr 1fr;gap:30px}
  .about-editorial{gap:50px}
}
@media(max-width:699px){
  :root{--page-gutter:22px}
  .case-page{padding-top:0}
  .case-topline{font-size:10px;padding:13px 0 20px}
  .case-sections{padding:12px 0;gap:22px}
  .case-sections button{font-size:12px;min-height:36px}
  .case-section,.product-opening{scroll-margin-top:75px}
  .home-paths{margin:28px 20px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;justify-content:initial}
  .home-paths a{min-width:0;gap:6px;padding-bottom:12px}
  .home-paths a>span:first-child{font-size:12px}
  .home-paths small{font-size:10px}
  .home-paths a>span:last-child{font-size:16px}
  .home-view .active-subtitle{font-size:12px}
  .work-directory .work-intro{display:block;padding:26px 0 30px}
  .work-directory .work-intro h1{font-size:54px}
  .work-directory .work-intro p{font-size:15px;margin-top:18px}
  .work-directory .work-toolbar{margin-bottom:24px}
  .work-directory .filters{gap:18px}
  .work-group-heading{display:block;margin-bottom:22px}
  .work-group-heading h2{font-size:22px;margin-bottom:12px}
  .work-group-heading p{font-size:13px}
  .work-directory .work-grid{gap:36px;grid-template-columns:1fr}
  .work-preview-visual{height:auto;aspect-ratio:1.45}
  .work-preview-copy h3{font-size:25px}
  .work-preview-copy p{font-size:13px}
  .work-group + .work-group{margin-top:60px}
  .index-delivery{padding:14px 16px 36px;gap:6px}
  .index-delivery>span,.index-film>span{font-size:10px;left:16px}
  .index-memory{padding:22px 22px 0;gap:16px}
  .index-memory>img{border-width:4px;border-radius:15px}
  .index-pin{gap:25px;padding:18px}
  .index-pin>img{max-width:46%;border-radius:15px}
  .index-pin>span{font-size:55px}
  .index-film{padding:16px 16px 38px;gap:7px}
  .proof-hero{grid-template-columns:1fr;padding:15px 0 30px;gap:26px}
  .proof-hero h1{font-size:clamp(32px,10vw,44px)}
  .proof-lead{font-size:15px;line-height:1.85;margin-top:16px}
  .proof-facts{margin-top:20px}
  .proof-facts>div{font-size:12px;grid-template-columns:48px 1fr;gap:10px}
  .delivery-preview-grid img{height:105px}
  .delivery-hero-caption{margin-top:14px;gap:18px}
  .delivery-hero-caption>strong{font-size:45px}
  .campaign-hero figcaption{font-size:10px}
  .proof-section{padding:36px 0}
  .proof-section>h2{font-size:27px}
  .proof-intro{font-size:14px;margin-bottom:24px}
  .proof-export-samples{grid-template-columns:1fr;gap:28px}
  .proof-export .proof-figure img{height:250px}
  .proof-export h3{font-size:18px}
  .proof-file summary{min-height:44px;padding:14px 0}
  .proof-run{display:block;margin-top:26px}
  .proof-run h3{margin-bottom:20px}
  .proof-run dl{gap:10px}.proof-run dt{font-size:11px}.proof-run dd{font-size:24px}
  .proof-cover-sequence{grid-template-columns:1fr;gap:24px}
  .proof-documents{grid-template-columns:1fr;gap:18px}
  .proof-paper{padding:24px 20px}
  .work-skill-contract{grid-template-columns:1fr;gap:21px;padding:24px}
  .work-skill-contract dd{font-size:14px}
  .work-skill-steps{grid-template-columns:1fr;gap:25px}
  .work-skill-steps h3{font-size:20px}
  .work-skill-steps p{font-size:14px}
  .script-strip{grid-template-columns:1fr;gap:25px}
  .script-strip h3{margin:16px 0 12px}
  .product-opening{display:grid;grid-template-columns:1fr;gap:27px;padding:14px 0 30px}
  .product-opening-copy .case-eyebrow{font-size:11px;margin-bottom:18px}
  .product-opening h1{font-size:clamp(38px,11.8vw,54px)}
  .product-subtitle{font-size:19px;margin-top:12px}
  .product-intro{font-size:15px;line-height:1.8;margin-top:18px}
  .product-context{font-size:12px}
  .product-facts{margin:20px 0 12px}
  .product-facts>div{font-size:11px;padding:9px 0;grid-template-columns:48px 1fr;gap:10px}
  .product-opening-art,.product-opening-art.dose-cover{height:330px;max-height:none;aspect-ratio:auto;padding:20px}
  .product-phone-preview{border-radius:23px;border-width:3px}
  .product-screens{gap:16px;padding:24px}
  .product-screens>img{width:44%;border-width:4px;border-radius:13px}
  .case-evidence,.pin-demo,.dose-demo{padding-top:35px;margin-bottom:45px}
  .case-section-heading,.pin-chapter-head,.dose-chapter-head{margin-bottom:24px}
  .case-section-heading h2,.pin-chapter-head h2,.dose-chapter-head h2{font-size:27px}
  .case-demo.device-demo{padding:22px 18px;gap:30px}
  .case-demo .demo-description h3{font-size:23px}
  .case-features{padding-top:25px}
  .case-features .evidence-phone .zoom-image{padding:26px 35px}
  .case-next{grid-template-columns:1fr 32px;gap:20px;margin-top:42px;padding:30px 0 35px}
  .case-next img{display:none}
  .case-next h2{font-size:32px}
  .case-next b{font-size:34px}
  .about-heading{display:block;margin-top:30px}
  .about-heading h1{font-size:62px}
  .about-heading>p{margin-top:26px;font-size:17px}
  .about-editorial{display:flex;flex-direction:column-reverse;gap:30px;padding:34px 0}
  .about-editorial .about-copy p{font-size:14px;line-height:1.95;margin-bottom:22px}
  .about-editorial .about-copy .about-lead{font-size:22px;line-height:1.7;margin-bottom:24px}
  .about-record{width:100%;display:grid;grid-template-columns:1fr 1.4fr;gap:14px}
  .about-record>span{grid-column:1}
  .about-record h2{grid-column:1;font-size:23px;margin:0;grid-row:2}
  .about-record p{grid-column:2;grid-row:2;font-size:12px;margin:0;align-self:center}
  .about-record a{grid-column:1/-1;justify-self:start;margin-top:6px}
  .about-projects{grid-template-columns:1fr;gap:24px;margin-top:30px}
  .about-projects a{grid-template-columns:100px 1fr;gap:20px}
  .about-projects img{width:100px}
  .about-projects strong{font-size:18px}
  .contact-view{min-height:calc(100svh - 220px)}
  .contact-view>h1{font-size:64px;margin-top:30px}
  .contact-details .email-link{font-size:clamp(20px,5.7vw,27px)}
  .contact-details>p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.work-preview-visual>img{transition:none}}
