/* Portfolio polish and the featured case study. */
:root{--glass-bg:rgba(255,255,255,.065);--glass-edge:rgba(255,255,255,.18);--display-font:Studio,Arial,sans-serif;--water-opacity:.6}
body{--coral:#ffa585;--lavender:#c6b6f3;--lime:#d7e6ae;--ink:#141a19;--paper:#f0f0e7;--theme-glow:rgba(255,165,133,.18)}
body{transition:background .35s,color .35s}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:linear-gradient(110deg,#ffffff05,#ffffff00),var(--ink)}
.hero-intro{font-size:16px;line-height:1.65;color:#bac2bd}
.hero-actions{flex-wrap:wrap;gap:22px;margin-top:31px}
.button{border-radius:50px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff55,0 5px 14px #00000008}
.button-light{background:linear-gradient(160deg,#fffef2,#d9dfcf);border:1px solid #ffffffb3;box-shadow:inset 0 2px 3px #ffffffb0,0 8px 28px #0002}
.hero .button-light{padding:18px 22px;min-height:54px;gap:20px}
.small-play{background:linear-gradient(135deg,#ffffff17,#ffffff03);box-shadow:inset 0 1px 1px #ffffff22;backdrop-filter:blur(8px)}
.experience-strip{background:radial-gradient(ellipse at 70% -100%,var(--theme-glow),transparent 75%),linear-gradient(135deg,#ffffff04,#ffffff00),var(--ink);border-top-color:#ffffff1c}
.work,.contact{position:relative;isolation:isolate}
.work:before{content:"";position:absolute;width:370px;height:240px;right:0;top:35px;background:repeating-radial-gradient(ellipse at 80% 30%,transparent 0 20px,#728e7d08 22px,#ffffff50 23px,transparent 25px 45px);mask-image:linear-gradient(90deg,transparent,#000);z-index:-1;pointer-events:none}
.filter{padding:12px 19px;border-color:#a0afa05c;background:linear-gradient(145deg,#ffffff80,#ffffff12);box-shadow:inset 0 1px 1px #ffffffd1,0 3px 8px #293b2921;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-height:42px;position:relative;overflow:hidden;color:#344335}
.filter:hover{background:linear-gradient(145deg,#ffffffc4,#ffffff38);border-color:#7d918780}
.filter.is-active{background:linear-gradient(145deg,#4e6256,#20352c);border-color:#18382b88;color:#fff;box-shadow:inset 0 1px 1px #ffffff66,0 5px 12px #253b382b}
.filter.is-active:before{content:"";position:absolute;inset:1px 15% auto;height:12px;border-radius:50%;background:#ffffff10;filter:blur(3px);pointer-events:none}
.project-media{border-radius:15px;border:1px solid #0000000b;box-shadow:0 8px 25px #192f1c10}
.project-play{background:linear-gradient(140deg,#ffffff56,#ffffff0e);border-color:#ffffff8c;box-shadow:inset 0 2px 2px #ffffff5c,inset 0 -2px 4px #ffffff20,0 8px 20px #0003;backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5)}
.project-duration{padding:5px 8px;border-radius:20px;background:#10211840;border:1px solid #ffffff2b;backdrop-filter:blur(9px)}
.button-outline{background:linear-gradient(135deg,#ffffff66,#ffffff08);border-color:#60735a66;box-shadow:inset 0 1px 0 #ffffffab}
.approach{background:linear-gradient(140deg,#ffffff20,#94b6a010),color-mix(in srgb,var(--paper) 90%,#74897b)}
.token-dot{background:radial-gradient(circle at 28% 22%,#fff9,transparent 40%),radial-gradient(circle at 72% 80%,#ffffff55,transparent 55%),var(--coral);box-shadow:inset -2px -2px 5px #0002,0 8px 16px #1732201a;border:1px solid #ffffff8c}
.token-frame{border-color:#42645785;box-shadow:inset 1px 1px 2px #ffffff9c,1px 1px 1px #ffffffaa,2px 6px 10px #123c2824;border-radius:7px}
.process-tags span{border-radius:20px;background:#ffffff25;box-shadow:inset 0 1px 0 #ffffff55}
.portrait-graphic{border-radius:22px}
.portrait-graphic:after{border-width:6px;border-radius:22px}
.contact:before{content:"";position:absolute;right:0;top:40px;width:40%;height:70%;background:repeating-radial-gradient(ellipse at 75% 50%,transparent 0 24px,#849e8a12 25px,#fff9 26px,transparent 28px 48px);z-index:-1;pointer-events:none;mask-image:radial-gradient(#000,transparent 70%);transform:rotate(-22deg)}
.contact-orb{border:1px solid #ffffffb3;background:radial-gradient(circle at 24% 19%,#fff8,transparent 40%),radial-gradient(circle at 80% 90%,#ffffff66,transparent 60%),var(--coral);box-shadow:inset 4px 5px 8px #ffffff70,inset -4px -6px 12px #00000012,0 22px 35px #253f2320;overflow:hidden;position:relative;backdrop-filter:blur(10px)}
.contact-orb:hover{background:radial-gradient(circle at 24% 19%,#fff8,transparent 40%),var(--lime)}
.video-dialog{border-radius:20px;border-color:#ffffff3b;box-shadow:0 40px 100px #0009}
.stills{background:radial-gradient(ellipse at 8% 0%,var(--theme-glow),transparent 50%),#202b28;color:var(--paper);border-top:1px solid #ffffff1a}
.stills .section-kicker span:last-child{color:#a7bbad}
.stills-heading{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin:10px 0 42px;align-items:end}
.stills-heading h2 em{color:var(--coral)}
.stills-heading>div{max-width:440px;justify-self:end}
.stills-heading p{font-size:15px;line-height:1.5;color:#d8e3d8}
.stills-heading .stills-credit{font-size:11px;color:#a8b9ab;margin-top:14px;line-height:1.55}
.stills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}
.still-card{min-width:0;border-bottom:1px solid #ffffff1b;padding-bottom:22px}
.still-card figure{margin:0}
.still-image{aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid #ffffff20;border-radius:16px;background:radial-gradient(circle at 30% 30%,#52685c,#172320 80%);box-shadow:inset 0 1px 0 #ffffff1a,0 11px 35px #0002}
.still-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.still-card:hover .still-image img{transform:scale(1.025)}
.still-card figcaption{display:flex;justify-content:space-between;gap:12px;color:#b3c4b5;font-size:8px;letter-spacing:.9px;text-transform:uppercase;margin-top:13px}
.still-card figcaption span:last-child{text-align:right;color:var(--coral)}
.still-card h3{font-size:23px;font-weight:400;letter-spacing:-.5px;margin:14px 0 7px}
.still-card p{font-size:12px;line-height:1.55;color:#adbdaf;max-width:480px}
.still-card .still-skills{margin-top:16px;padding-top:13px;border-top:1px solid #ffffff1b;font-size:11px;line-height:1.6;color:#c8d5c8}
.still-skills strong{display:block;margin-bottom:5px;color:var(--coral);font-size:8px;font-weight:500;letter-spacing:1px;text-transform:uppercase}
.stills-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:20px}
.stills-count{font:10px 'Courier New',monospace;letter-spacing:1px;color:#b9cabe}
.stills .button-outline{color:var(--paper);border-color:#ffffff4a;background:linear-gradient(145deg,#ffffff18,#ffffff04);box-shadow:inset 0 1px 0 #ffffff27}
.stills .button-outline:hover{background:var(--paper);color:var(--ink)}
.stills .button.is-expanded svg{transform:rotate(45deg)}

.voices-block,.clients-block{margin-top:85px;border-top:1px solid #ffffff26;padding-top:26px}
.voices-block .section-kicker,.clients-block .section-kicker{padding-bottom:18px;color:#aebdac}
.voices-block .section-kicker span:last-child,.clients-block .section-kicker span:last-child{color:#9bad9d}
.voices-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}
.voices-heading h3,.clients-block h3{font-weight:400;font-size:clamp(35px,4vw,57px);letter-spacing:-2px;line-height:1.03}
.voices-heading h3 em,.clients-block h3 em{color:var(--lavender)}
.voices-heading p{max-width:350px;font-size:13px;line-height:1.5;color:#a9bbaa}
.voices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.voice-card{margin:0;min-height:210px;border:1px solid #ffffff23;border-radius:18px;padding:26px 28px;background:linear-gradient(145deg,#ffffff11,#ffffff03);box-shadow:inset 0 1px 0 #ffffff25,0 10px 28px #0002;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.voice-card:before{content:'“';position:absolute;right:20px;top:0;font:italic 118px/.95 StudioSerif,Georgia,serif;color:var(--lavender);opacity:.12;pointer-events:none}
.voice-card blockquote{margin:0;position:relative;z-index:1;font-size:clamp(18px,1.75vw,27px);letter-spacing:-.4px;line-height:1.35;max-width:410px}
.voice-card figcaption{display:flex;flex-direction:column;gap:4px;margin-top:22px;font-size:11px}
.voice-card figcaption strong{font-weight:400;color:var(--coral);font-size:12px}
.voice-card figcaption span{color:#9baea1}
.voices-block>.text-link{margin-top:23px;color:#e1ecdd}
.clients-block h3{margin:10px 0 13px}
.clients-block>p{font-size:12px;color:#a8b9aa;line-height:1.5;max-width:500px}
.client-wall{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e8ebe5;border-left:1px solid #e8ebe5;border-radius:15px;overflow:hidden;background:#fff}
.client-wall li{min-height:95px;padding:18px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25;background:linear-gradient(135deg,#ffffff0c,#ffffff02);font-size:clamp(13px,1.35vw,19px);line-height:1.15;letter-spacing:-.5px;color:#e5ece0}
.client-wall small{font-size:.65em;margin-top:3px;color:#a8b9a9;letter-spacing:.1px}
.client-wall li{background:#fff;border-right-color:#e8ebe5;border-bottom-color:#e8ebe5;align-items:center;padding:14px}
.client-wall img{display:block;width:100%;max-width:200px;height:66px;object-fit:contain}
@media(max-width:760px){.stills-heading{grid-template-columns:1fr;gap:17px;margin-bottom:29px}.stills-heading h2{font-size:58px}.stills-heading>div{justify-self:start}.stills-heading p{font-size:14px}.stills-grid{grid-template-columns:1fr;gap:29px}.still-card h3{font-size:22px}.still-card p{font-size:12px}.still-card figcaption{font-size:7px}.voices-block,.clients-block{margin-top:55px}.voices-heading{align-items:start;flex-direction:column;gap:18px}.voices-heading h3,.clients-block h3{font-size:44px}.voices-grid{grid-template-columns:1fr}.voice-card{min-height:170px;padding:23px}.voice-card blockquote{font-size:21px}.client-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.client-wall li{min-height:78px;font-size:15px;padding:15px}}
@media(max-width:760px){.client-wall img{transform:scale(.75);transform-origin:center}}
@media(max-width:380px){.stills-heading h2{font-size:51px}.voice-card blockquote{font-size:19px}.client-wall li{font-size:13px;min-height:74px}}
@media(prefers-reduced-motion:reduce){.still-image img{transition:none}}

.featured-case{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);column-gap:clamp(30px,4.4vw,78px);padding-top:clamp(36px,5vw,76px);min-height:0;overflow:hidden;isolation:isolate}
.featured-case:before{content:"";position:absolute;top:-210px;right:-180px;width:900px;height:800px;background:radial-gradient(ellipse,var(--theme-glow),transparent 63%);z-index:-1;pointer-events:none}
.featured-copy{position:relative;z-index:2;align-self:center;padding-bottom:60px}
.featured-identity{display:flex;flex-direction:column;gap:5px;padding-left:15px;border-left:2px solid var(--coral);margin-bottom:32px}
.featured-identity strong{font-size:clamp(18px,1.6vw,23px);font-weight:400;letter-spacing:-.35px;color:#f3f4ec}
.featured-identity span{font-size:11px;line-height:1.45;letter-spacing:.2px;color:#c8d3c8}
.featured-case .eyebrow{font-size:9px;letter-spacing:1.5px;color:#ced8ca}
.featured-case h1{font-size:clamp(66px,6.6vw,115px);line-height:.9;margin:26px 0 22px;letter-spacing:-.065em}
.featured-case h1 em{color:var(--coral)}
.featured-deck{font-size:clamp(19px,2vw,29px);line-height:1.2;letter-spacing:-.45px;max-width:520px}
.featured-intro{margin-top:19px;font-size:15px;line-height:1.6;color:#bac9bd;max-width:500px}
.featured-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:29px}
.featured-actions .text-link{font-size:11px;color:#dae4d9}
.featured-actions .button-light{gap:15px}
.featured-poster{position:relative;align-self:center;width:100%;padding:0;border:1px solid #ffffff44;border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#253c2b;box-shadow:0 30px 80px #0006;text-align:left;isolation:isolate}
.featured-poster:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#09160a9e);pointer-events:none}
.featured-poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.featured-poster:hover img{transform:scale(1.03)}
.poster-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:1px solid #ffffffc0;border-radius:50%;background:#ffffffb0;display:grid;place-items:center;color:#172016;z-index:2;backdrop-filter:blur(12px);box-shadow:0 8px 30px #0003;transition:background .25s,transform .25s}
.poster-play svg{width:26px;height:26px;margin-left:3px}
.featured-poster:hover .poster-play{background:#f3f5e8;transform:translate(-50%,-50%) scale(1.08)}
.poster-caption{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;gap:20px;z-index:2;color:#fff;font-size:9px;letter-spacing:1px;text-shadow:0 1px 5px #0008}
.featured-meta{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding:23px 0 25px}
.featured-meta div{display:flex;flex-direction:column;gap:8px}
.featured-meta span{font-size:8px;letter-spacing:1.1px;color:var(--coral)}
.featured-meta strong{font-size:12px;font-weight:400;color:#dae3d7}
.featured-case .hero-bottom{padding:16px 0 21px}
.case-process{background:linear-gradient(160deg,#1c2924,#18231f);border-top:1px solid #ffffff20}
.case-process .section-kicker{color:var(--coral)}
.case-process .section-kicker span:last-child{color:#b7c8b9}
.case-process-intro{display:grid;grid-template-columns:1fr .72fr;gap:clamp(30px,6vw,100px);align-items:end;padding:15px 0 55px}
.case-process-intro h2{font-size:clamp(45px,5.1vw,78px)}
.case-process-intro h2 em{color:var(--lavender)}
.case-process-intro p{font-size:15px;line-height:1.6;color:#bfcdc0;max-width:520px}
.case-process-intro p+p{margin-top:14px}
.case-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}
.case-process-steps>div{padding-top:18px;border-top:1px solid #ffffff4a}
.case-process-steps span,.case-outcome>span{display:block;color:var(--coral);font-size:8px;letter-spacing:1.2px}
.case-process-steps h3{font-size:23px;font-weight:400;letter-spacing:-.5px;margin:18px 0 10px}
.case-process-steps p{color:#b1c2b3;font-size:12px;line-height:1.55}
.case-outcome{margin-top:55px;border-top:1px solid #ffffff4a;padding-top:23px;display:grid;grid-template-columns:.4fr 1fr 1fr;gap:30px;align-items:start}
.case-outcome p{color:#b9c9ba;font-size:13px;line-height:1.55}
.case-outcome blockquote{font:italic clamp(20px,2.1vw,30px)/1.25 StudioSerif,Georgia,serif;margin:0;color:#eee9de}
@media(max-width:1100px){.featured-case{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);column-gap:30px}.featured-case h1{font-size:clamp(62px,7vw,88px)}.featured-intro{font-size:13px}.featured-poster{aspect-ratio:1.3}.case-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.case-outcome{grid-template-columns:1fr 1fr}.case-outcome>span{grid-column:1/-1}}
@media(max-width:760px){.featured-case{display:flex;flex-direction:column;padding-top:35px}.featured-copy{align-self:stretch;padding-bottom:32px}.featured-identity{margin-bottom:27px}.featured-identity strong{font-size:20px}.featured-identity span{font-size:11px}.featured-case .eyebrow{font-size:7px;letter-spacing:1px}.featured-case h1{font-size:clamp(64px,12.2vw,98px);margin:22px 0}.featured-deck{font-size:22px}.featured-intro{font-size:14px;max-width:560px}.featured-actions{margin-top:22px}.featured-poster{aspect-ratio:1.36;border-radius:14px}.poster-play{height:58px;width:58px}.poster-caption{font-size:7px;left:14px;right:14px;bottom:14px}.featured-meta{width:100%;gap:10px;padding:20px 0}.featured-meta span{font-size:7px}.featured-meta strong{font-size:10px}.featured-case .hero-bottom{width:100%}.case-process-intro{grid-template-columns:1fr;gap:25px;padding:0 0 35px}.case-process-intro h2{font-size:clamp(46px,8vw,65px)}.case-process-intro p{font-size:14px}.case-process-steps{gap:25px 19px}.case-process-steps h3{font-size:21px}.case-outcome{margin-top:40px;gap:18px}.case-outcome blockquote{font-size:23px}}
@media(max-width:480px){.featured-case h1{font-size:clamp(61px,13.5vw,72px)}.featured-actions{gap:18px}.featured-actions .text-link{font-size:10px}.featured-meta{grid-template-columns:1fr 1fr;row-gap:18px}.featured-meta div:last-child{grid-column:1/-1}.poster-caption span:last-child{display:none}.case-process-steps,.case-outcome{grid-template-columns:1fr}.case-process-steps h3{margin:13px 0 8px}.case-outcome>span{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.featured-poster img,.poster-play{transition:none}}
