/* Freshness extends the portfolio's existing type, open layouts and source-led imagery. */
.freshness-case-study { --case-blue:#329475; --case-blue-ink:#277e61; }
.freshness-case-study .fresh-section { padding-block:90px; }
.fresh-heading { max-width:740px; margin-bottom:64px; }
.fresh-heading > p:last-child:not(.case-kicker) { max-width:660px; }
.fresh-screen { display:block; overflow:hidden; border:5px solid #24282a; border-radius:27px; background:#fff; box-shadow:0 24px 40px -25px rgb(34 55 48 / 30%); }
.fresh-screen img { width:100%; }
.fresh-aura { position:absolute; inset:10% -18%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse,#def0e8 0,rgba(217,235,230,.45) 36%,transparent 70%); }
.fresh-hero-scene { position:relative; isolation:isolate; height:580px; }
.fresh-hero-batch { position:absolute; top:15px; left:30%; width:250px; transform:rotate(7deg); }
.fresh-hero-customer { position:absolute; top:127px; left:1%; width:180px; transform:rotate(-10deg); }
.freshness-case-study .fresh-hero-note { position:absolute; top:-60px; right:0; color:#368368; transform:rotate(7deg); font-size:1.12rem; }
.fresh-hero-note svg { display:block; width:85px; height:60px; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.fresh-hero-scene.is-motion-active .fresh-hero-batch { animation:fresh-bob 6s ease-in-out infinite; }
@keyframes fresh-bob { 50% { translate:0 -10px; } }
.case-motion-paused .fresh-hero-batch { animation-play-state:paused!important; }
.fresh-brief { display:grid; grid-template-columns:1fr 1fr; gap:75px 9%; }
.fresh-brief p { max-width:490px; }
.fresh-brief-word { align-self:center; justify-self:center; rotate:-5deg; }
.fresh-brief-word strong { display:block; font-size:clamp(2.4rem,4.8vw,4.4rem); letter-spacing:-.025em; margin-top:25px; font-weight:650; }
.fresh-brief-word .case-handwriting { display:block; text-align:right; color:#368368; }
.fresh-underline { display:block; height:3px; width:90%; border-radius:50%; background:#a0cbb8; rotate:1deg; margin:10px auto; }
.fresh-ownership { grid-column:1/-1; display:grid; grid-template-columns:.7fr 1.2fr; column-gap:8%; padding-top:40px; border-top:1px solid #e1e7e3; }
.fresh-ownership .case-kicker { grid-column:1/-1; }
.fresh-ownership h3 { max-width:360px; }
.fresh-ownership > p:not(.case-kicker) { max-width:none; margin:0; }
.fresh-scope { grid-column:2; display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:22px; font-size:.85rem; color:#4a655b; }
.fresh-scope i { font-style:normal; color:#92b5a4; }
.fresh-senses { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:7%; }
.fresh-senses-art { height:440px; overflow:hidden; position:relative; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 95%,transparent); }
.freshness-case-study .fresh-senses-art img { position:absolute; width:850px; max-width:none; left:-410px; top:-60px; }
.fresh-senses-copy p { max-width:470px; }
.fresh-senses-copy .case-handwriting { margin-top:30px; color:#368368; rotate:-3deg; }
.fresh-proof-points { list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:25px; padding:0; margin:0; }
.fresh-proof-mark { display:grid; place-items:center; width:64px; height:64px; background:#eef6f0; color:#3b8b6a; border-radius:24px; font-size:2.2rem; margin-bottom:24px; rotate:-5deg; }
.freshness-case-study .fresh-proof-points h3 { font-size:1.25rem; letter-spacing:-.02em; }
.freshness-case-study .fresh-proof-points p { font-size:1rem; margin-top:12px; }
.freshness-case-study .fresh-framework-note { margin-top:36px; }
.fresh-explorations { display:grid; grid-template-columns:repeat(3,1fr); gap:7%; padding-inline:6%; align-items:start; }
.fresh-explorations figure:nth-child(2) { padding-top:45px; }
.fresh-explorations figure:nth-child(3) { padding-top:85px; }
.freshness-case-study .fresh-explorations figcaption { margin-top:25px; }
.fresh-explorations figcaption b { display:block; font-size:1rem; color:#18271f; font-weight:650; }
.fresh-explorations figcaption span { display:block; margin-top:7px; font-size:.9rem; }
.fresh-feature { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
.fresh-feature-copy > p { max-width:490px; }
.fresh-feature-phone { position:relative; isolation:isolate; width:min(100%,360px); justify-self:center; }
.fresh-feature-phone .fresh-screen { transform:rotate(3deg); }
.fresh-journey { margin:36px 0; padding:0 0 0 18px; list-style:none; border-left:1px dashed #9bbdac; display:grid; gap:18px; font-size:1rem; }
.fresh-journey li { position:relative; }
.fresh-journey li::before { content:""; position:absolute; left:-22px; top:.45em; width:7px; height:7px; background:#3d9876; border-radius:50%; }
.fresh-feature-copy .case-handwriting { margin-top:30px; color:#368368; rotate:-3deg; }
.fresh-stories { display:grid; grid-template-columns:1.1fr 1fr; gap:9%; align-items:center; }
.fresh-story-art { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:0 10px; position:relative; isolation:isolate; }
.fresh-story-art::before { content:""; position:absolute; inset:0 -10%; z-index:-1; background:radial-gradient(ellipse,#e6f0e7,transparent 68%); }
.fresh-story-art > :first-child { transform:rotate(-5deg); }
.fresh-story-art > :last-child { margin-top:75px; transform:rotate(5deg); }
.fresh-story-labels { display:flex; gap:40px; margin-block:30px; }
.fresh-story-labels strong,.fresh-story-labels span { display:block; font-size:.92rem; }
.fresh-story-labels span { color:#667369; margin-top:8px; }
.fresh-entry { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
.fresh-entry figure { width:min(100%,360px); justify-self:center; }
.fresh-entry .fresh-screen { transform:rotate(-3deg); }
.fresh-reflection { text-align:center; }
.fresh-reflection > p:not(.case-kicker) { max-width:650px; margin:25px auto 35px; }
.freshness-case-study .portfolio-footer { margin-top:50px; }
@media(max-width:900px){
.freshness-case-study .fresh-section { padding-block:65px; }
.fresh-hero-scene { height:500px; }
.fresh-hero-batch { width:215px; left:31%; }
.fresh-hero-customer { width:150px; }
.freshness-case-study .fresh-hero-note { right:-5px; top:-60px; font-size:.95rem; }
.fresh-brief { gap:45px 5%; }
.fresh-senses { gap:3%; }
.fresh-senses-art { height:350px; }
.freshness-case-study .fresh-senses-art img { width:700px; left:-340px; top:-45px; }
.fresh-proof-points { gap:16px; }
.fresh-feature,.fresh-stories,.fresh-entry { gap:6%; }
.fresh-explorations { padding-inline:0; gap:5%; }
.fresh-story-art { gap:10px; }
.fresh-story-labels { gap:20px; }
}
@media(max-width:650px){
.freshness-case-study .fresh-section { padding-block:48px; }
.fresh-heading { margin-bottom:36px; }
.fresh-opening .case-opening-grid { gap:55px; }
.fresh-hero-scene { width:min(100%,400px); justify-self:center; height:510px; }
.fresh-hero-batch { left:32%; top:5px; width:min(210px,60%); }
.fresh-hero-customer { left:2%; top:132px; width:min(145px,42%); }
.freshness-case-study .fresh-hero-note { top:-55px; right:8px; font-size:.95rem; }
.fresh-brief,.fresh-senses,.fresh-feature,.fresh-stories,.fresh-entry { grid-template-columns:1fr; gap:38px; }
.fresh-brief-word { margin:10px auto 25px; }
.fresh-ownership { display:block; padding-top:30px; }
.fresh-ownership > p:not(.case-kicker) { margin-top:20px; }
.fresh-scope { margin-top:22px; gap:8px; font-size:.78rem; }
.fresh-senses-art { height:300px; order:2; width:100%; }
.freshness-case-study .fresh-senses-art img { width:640px; left:-310px; top:-40px; }
.fresh-proof-points { grid-template-columns:repeat(2,1fr); gap:32px; }
.fresh-proof-points li:last-child { grid-column:1/-1; }
.fresh-proof-points p br { display:none; }
.fresh-proof-mark { margin-bottom:16px; }
.fresh-explorations { grid-template-columns:1fr; gap:45px; }
.fresh-explorations figure { width:min(100%,285px); justify-self:center; padding:0!important; }
.fresh-feature-phone,.fresh-entry figure { width:min(85%,315px); margin-top:10px; }
.fresh-story-art { width:min(100%,440px); justify-self:center; order:2; }
.fresh-story-art > :last-child { margin-top:50px; }
.fresh-reflection { text-align:left; }
.fresh-reflection > p:not(.case-kicker) { margin-left:0; }
}
@media(prefers-reduced-motion:reduce){.fresh-hero-scene.is-motion-active .fresh-hero-batch { animation:none; }}
/* Research-led narrative: open comparisons and a compact final-design overview. */
.fresh-definitions { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.fresh-definitions article { padding-top:20px; border-top:2px solid #c5dfd1; }
.fresh-definitions article > span,.fresh-explore-question > span { display:block; font-size:.78rem; font-weight:650; color:#41745e; letter-spacing:.04em; margin-bottom:20px; }
.freshness-case-study .fresh-definitions h3 { font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.25; }
.fresh-research-takeaway { margin-top:60px; }
.freshness-case-study .fresh-research-takeaway .case-handwriting { display:block; color:#368368; rotate:-2deg; margin-bottom:25px; }
.freshness-case-study .fresh-research-takeaway p { font-size:1.35rem; }
.fresh-research-takeaway strong { color:#18271f; font-weight:600; }
.fresh-perception { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.fresh-perception-copy .case-handwriting { margin-top:30px; color:#368368; rotate:-3deg; }
.fresh-perception-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.fresh-fish-photo { position:relative; aspect-ratio:1; overflow:hidden; border-radius:8px; }
.freshness-case-study .fresh-fish-photo img { position:absolute; width:480%; max-width:none; height:auto; left:-226.67%; top:-50.83%; }
.fresh-fish-photo--first { rotate:-4deg; }
.fresh-fish-photo--second { margin-top:45px; rotate:4deg; }
.freshness-case-study .fresh-fish-photo--second img { top:-151.25%; }
.fresh-perception-pair figcaption { grid-column:1/-1; }
.fresh-trust-routes { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.fresh-trust-word { display:block; width:fit-content; font-size:clamp(3.5rem,6vw,5.7rem); line-height:1; letter-spacing:-.035em; color:#8ab99f; font-weight:650; margin-bottom:24px; }
.freshness-case-study .fresh-trust-routes h3 { font-size:1.5rem; }
.fresh-trust-routes p { max-width:440px; }
.fresh-online-gap { margin-top:65px; padding:35px 0; border-block:1px solid #e1e7e3; }
.fresh-online-gap > div { display:flex; gap:18px 45px; flex-wrap:wrap; }
.fresh-online-gap > div span { font-size:1.25rem; color:#626977; text-decoration:line-through; text-decoration-color:#b0b7b1; text-decoration-thickness:1px; }
.freshness-case-study .fresh-online-gap > p:last-child { margin-top:25px; }
.fresh-reframe { text-align:center; }
.fresh-reframe > p:not(.case-kicker) { max-width:660px; margin:25px auto; }
.fresh-shift { display:grid; grid-template-columns:1fr auto 1fr; gap:40px; align-items:center; max-width:890px; margin:60px auto 35px; text-align:left; }
.fresh-shift > div > span { display:block; color:#687386; font-size:.85rem; margin-bottom:20px; }
.fresh-shift strong { display:block; font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.16; font-weight:650; letter-spacing:-.025em; }
.fresh-shift > div:first-child strong { color:#7d8780; }
.fresh-shift > div:last-child strong { color:#277e61; }
.fresh-shift-arrow { color:#80ad96; font-size:2.5rem; }
.freshness-case-study .fresh-reframe .case-handwriting { color:#368368; rotate:-3deg; }
.fresh-proof-points small { display:block; margin-top:18px; color:#41745e; font-size:.84rem; line-height:1.5; max-width:160px; }
.fresh-explorations--reasoning { padding-inline:0; gap:6%; }
.fresh-explorations--reasoning figure:nth-child(n) { padding-top:0; }
.fresh-explore-question { min-height:235px; }
.freshness-case-study .fresh-explore-question h3 { font-size:1.6rem; line-height:1.2; }
.freshness-case-study .fresh-explore-question p { font-size:1rem; line-height:1.55; margin-top:15px; }
.fresh-explorations--reasoning .fresh-screen { max-width:245px; margin-inline:auto; }
.freshness-case-study .fresh-explorations--reasoning figcaption { font-size:.92rem; margin-top:24px; max-width:280px; }
.fresh-decisions { display:grid; }
.fresh-decisions article { display:grid; grid-template-columns:40px 1fr 190px; gap:30px; align-items:center; padding:35px 0; border-top:1px solid #e1e7e3; }
.fresh-decision-number { align-self:start; padding-top:4px; color:#77a78e; font-size:1rem; }
.freshness-case-study .fresh-decisions h3 { font-size:1.55rem; }
.freshness-case-study .fresh-decisions p { font-size:1.08rem; max-width:590px; margin-top:12px; }
.fresh-decisions strong { color:#277e61; font-size:1.12rem; font-weight:600; }
.fresh-final-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; align-items:start; }
.fresh-final-gallery figure:nth-child(even) { margin-top:45px; }
.fresh-final-gallery .fresh-screen { border-width:4px; border-radius:23px; }
.freshness-case-study .fresh-gallery-note { margin-top:30px; }
@media(max-width:900px){
.fresh-definitions { gap:20px; }
.fresh-perception { gap:5%; }
.fresh-perception-pair { gap:10px; }
.fresh-explore-question { min-height:275px; }
.freshness-case-study .fresh-explore-question h3 { font-size:1.35rem; }
.fresh-final-gallery { grid-template-columns:repeat(2,1fr); gap:45px 10%; padding-inline:7%; }
.fresh-decisions article { grid-template-columns:30px 1fr 140px; gap:18px; }
}
@media(max-width:650px){
.fresh-definitions { grid-template-columns:1fr 1fr; gap:30px 18px; }
.fresh-research-takeaway { margin-top:40px; }
.freshness-case-study .fresh-research-takeaway p { font-size:1.18rem; }
.fresh-perception { grid-template-columns:1fr; gap:40px; }
.fresh-perception-pair { max-width:430px; gap:18px; }
.fresh-trust-routes { grid-template-columns:1fr; gap:40px; }
.fresh-trust-word { font-size:3.6rem; margin-bottom:15px; }
.fresh-online-gap { margin-top:40px; }
.fresh-online-gap > div { gap:15px 25px; }
.fresh-reframe { text-align:left; }
.fresh-shift { grid-template-columns:1fr; gap:25px; margin-top:35px; }
.fresh-shift-arrow { rotate:90deg; width:fit-content; }
.fresh-shift > div > span { margin-bottom:12px; }
.fresh-explorations--reasoning figure { width:100%; max-width:360px; }
.fresh-explore-question { min-height:0; margin-bottom:25px; }
.freshness-case-study .fresh-explore-question h3 { font-size:1.65rem; }
.fresh-explorations--reasoning .fresh-screen { max-width:235px; }
.freshness-case-study .fresh-explorations--reasoning figcaption { max-width:none; }
.fresh-decisions article { grid-template-columns:25px 1fr; gap:14px; }
.fresh-decisions strong { grid-column:2; font-size:1rem; }
.freshness-case-study .fresh-decisions h3 { font-size:1.35rem; }
.fresh-final-gallery { gap:25px 16px; padding-inline:0; }
.fresh-final-gallery .fresh-screen { border-width:3px; border-radius:16px; }
.fresh-final-gallery figure:nth-child(even) { margin-top:30px; }
}
