:root{--ink:#1c211d;--paper:#f8f9f5;--accent:#c4ef80;--muted:#777c73;--line:#d8ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}header,main,footer{max-width:1600px;margin:auto}header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between}.brand img{width:45px;height:42px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:34px;font-size:14px}header nav a:last-child{border-bottom:1px solid;padding-bottom:6px}nav span{margin-left:15px}.hero{padding:72px 5% 0}.eyebrow{font-size:11px;letter-spacing:1.5px;line-height:1.6;font-weight:600}.dot{display:inline-block;width:8px;height:8px;background:#80b14b;border-radius:50%;margin-right:10px}h1{font-size:clamp(66px,8.4vw,132px);line-height:1.015;font-weight:400;letter-spacing:-7px;margin:34px 0 40px;position:relative}.serif,em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.serif{font-style:italic}.asterisk{position:absolute;right:8%;top:22%;font-size:180px;color:var(--accent);line-height:1}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-bottom:63px}.hero-bottom p{font-size:17px;line-height:1.7;margin:0}.muted{color:var(--muted);font-size:14px}.jump{display:flex;gap:24px;align-items:center;font-size:13px}.jump span{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:19px}.expertise{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:22px}.expertise>span:not(.year),.skills span{border:1px solid var(--line);border-radius:30px;padding:9px 15px;font-size:12px}.expertise .year{margin-left:auto;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.work,.about{padding:100px 5% 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.section-head h2{font-size:42px;letter-spacing:-1.6px;font-weight:400;margin:0}.section-head>span{font-size:10px;letter-spacing:1.2px;color:var(--muted)}.project{margin-bottom:70px}.project-open{display:block;background:none;border:0;width:100%;padding:0;text-align:left;cursor:pointer}.image-wrap{border-radius:5px;overflow:hidden;position:relative;background:#20251e;aspect-ratio:2.03}.image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.project-open:hover img{transform:scale(1.025)}.image-arrow{position:absolute;right:24px;bottom:24px;border-radius:50%;width:50px;height:50px;background:var(--paper);display:grid;place-items:center;font-size:26px;transition:background .2s}.project-open:hover .image-arrow{background:var(--accent)}.wicked{background:#eeafcc}.wicked img,.kiss img{object-fit:contain}.kiss{background:#ac67fb}.project-meta{display:flex;justify-content:space-between;gap:25px;padding-top:23px}.project-meta h3{font-size:27px;font-weight:400;letter-spacing:-.7px;margin:10px 0}.project-meta h3 span{color:var(--muted)}.project-meta p{font-size:13px;line-height:1.7;color:var(--muted);margin:22px 0 0;min-width:250px}.about{border-top:1px solid var(--line);margin:0 5%;padding:74px 0 90px}.about-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:12%;padding-top:30px}.portrait{position:relative}.portrait img{width:100%;height:540px;object-fit:cover;object-position:50% 32%;border-radius:5px;filter:grayscale(1)}.portrait>span{position:absolute;bottom:25px;left:25px;background:var(--accent);padding:10px 18px;transform:rotate(-5deg);font-family:Georgia,serif;font-style:italic;font-size:20px}.bio h3{font-size:48px;font-weight:400;letter-spacing:-1.7px;line-height:1.1;margin:0 0 28px}.bio p{font-size:15px;line-height:1.8;color:#676d63;max-width:520px}.experience{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.experience strong,.experience span,.experience small{display:block}.experience strong{font-weight:500;font-size:17px;margin-bottom:8px}.experience div span{font-size:14px}.experience small{color:var(--muted);font-size:12px;margin-top:7px}.skills{display:flex;flex-wrap:wrap;gap:7px;margin:27px 0}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:5px}.contact{background:var(--accent);padding:66px 5% 75px}.contact h2{font-size:clamp(46px,6.4vw,94px);line-height:1.06;letter-spacing:-4px;font-weight:400;margin:25px 0 30px;position:relative}.contact h2>span{position:absolute;right:4%;top:15px;font-size:100px}.email{font-size:18px;border-bottom:1px solid;padding-bottom:8px}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px 5%;font-size:11px;color:#676d63}footer div{display:flex;gap:24px}a:hover{opacity:.7}a:focus-visible,button:focus-visible{outline:2px solid #4a7522;outline-offset:7px}dialog{width:min(1050px,94vw);max-height:90vh;border:0;border-radius:8px;padding:55px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101a12b8;backdrop-filter:blur(5px)}.close{position:sticky;top:0;float:right;background:var(--ink);color:white;border:0;border-radius:30px;padding:10px 18px;cursor:pointer;z-index:1}.detail-content{clear:both;padding-top:16px}.detail-content h2{font-size:44px;letter-spacing:-2px;font-weight:400;margin:15px 0 25px}.detail-content>img{width:100%;border-radius:4px}.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:10px 35px;margin:35px 0}.detail-grid h3{font-weight:500;font-size:15px}.detail-grid p{font-size:15px;line-height:1.8;color:#676d63}body.modal-open{overflow:hidden}@media(max-width:760px){header{padding:23px 6%}nav{gap:18px;font-size:12px}.brand img{width:35px;height:35px}.hero{padding:48px 6% 0}h1{font-size:clamp(55px,11.4vw,86px);letter-spacing:-3.4px;margin:30px 0}.asterisk{font-size:72px;right:0;top:44%}.hero-bottom{display:block;margin-bottom:35px}.hero-bottom p{font-size:14px}.muted{font-size:12px}.jump{margin-top:24px;justify-content:space-between}.expertise{flex-wrap:wrap}.expertise>span:not(.year){font-size:10px;padding:8px 11px}.expertise .year{width:100%;margin:12px 0 0}.work{padding:65px 6% 0}.section-head h2{font-size:32px}.section-head>span{font-size:8px}.project{margin-bottom:45px}.image-wrap{aspect-ratio:1.7}.image-arrow{width:34px;height:34px;font-size:20px;right:12px;bottom:12px}.project-meta{display:block;padding-top:17px}.project-meta h3{font-size:23px}.project-meta .eyebrow{font-size:9px;letter-spacing:1px}.project-meta p{margin-top:8px;font-size:12px}.project-meta p br{display:none}.about{margin:0 6%;padding:50px 0}.about-grid{grid-template-columns:1fr;gap:32px;padding-top:12px}.portrait img{height:380px;object-position:50% 25%}.bio h3{font-size:38px}.bio p{font-size:14px}.contact{padding:48px 6% 55px}.contact h2{font-size:49px;letter-spacing:-2px}.contact h2>span{font-size:48px;right:0;top:0}.email{font-size:15px}footer{padding:25px 6%;flex-wrap:wrap;font-size:10px}footer div{gap:15px}footer>span:last-child{width:100%}dialog{padding:23px}.detail-content h2{font-size:30px;letter-spacing:-1px}.detail-grid{grid-template-columns:1fr;gap:0;margin:20px 0}.detail-grid h3{margin-bottom:0}.detail-grid p{margin-top:8px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep navigation available when the visitor scrolls back up. */
header{position:sticky;top:0;z-index:20;background:var(--paper);transition:transform .25s ease,box-shadow .25s ease;will-change:transform}header.gnb-hidden{transform:translateY(-100%);pointer-events:none}header.gnb-scrolled{box-shadow:0 1px 0 var(--line)}header:focus-within{transform:translateY(0);pointer-events:auto}
.case-study{padding:0 5%}.case-intro{padding:48px 0 42px}.back-link{font-size:12px;display:inline-block;margin-bottom:48px;color:var(--muted)}.case-intro h1{font-size:clamp(45px,6.5vw,95px);letter-spacing:-4px;max-width:1080px;margin:25px 0}.case-tag{font-family:Georgia,serif;font-style:italic;font-size:25px;color:var(--muted)}.case-facts{display:grid;grid-template-columns:1fr 1fr 2fr;gap:25px;border-top:1px solid var(--line);padding-top:26px;margin-top:45px}.case-facts p{font-size:14px;line-height:1.6}.case-hero img,.case-gallery img{width:100%;display:block;border-radius:5px}.case-overview{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;padding:75px 0;border-bottom:1px solid var(--line)}.case-overview h2{font-size:38px;font-weight:400;letter-spacing:-1px;margin:0}.case-overview p{font-size:16px;line-height:1.85;color:#676d63;margin-top:0}.case-overview h3{font-size:15px;font-weight:500;margin-top:28px}.case-gallery{padding:65px 0}.case-next{border-top:1px solid var(--line);padding:45px 0 65px}.case-next>a:not(.text-link){display:flex;justify-content:space-between;font-size:clamp(30px,4vw,58px);letter-spacing:-1.5px;margin:20px 0 35px}@media(max-width:760px){.case-study{padding:0 6%}.case-intro{padding-top:30px}.back-link{margin-bottom:30px}.case-intro h1{font-size:46px;letter-spacing:-2px}.case-tag{font-size:20px}.case-facts{grid-template-columns:1fr 1fr;gap:12px}.case-facts>div:last-child{grid-column:1/-1}.case-overview{grid-template-columns:1fr;gap:28px;padding:45px 0}.case-overview h2{font-size:32px}.case-overview p{font-size:14px}.case-gallery{padding:45px 0}}
.asset-navigation{display:flex;flex-wrap:wrap;gap:10px;padding:30px 0;border-bottom:1px solid var(--line)}.asset-navigation a{font-size:12px;border:1px solid var(--line);padding:9px 17px;border-radius:30px}.asset-navigation a:hover{background:var(--accent);opacity:1}.asset-section{padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.asset-section .section-head{margin-bottom:14px}.asset-description{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:30px}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;align-items:start}.asset-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.asset-grid.screen-pair{grid-template-columns:minmax(0,2.7fr) minmax(0,1fr)}.asset-grid figure{margin:0;min-width:0}.asset-grid img{width:100%;height:auto;display:block;border-radius:4px}.asset-grid a{display:block}.asset-grid figcaption{font-size:12px;line-height:1.6;margin-top:13px;display:flex;justify-content:space-between;gap:10px}.asset-grid figcaption span{font-size:10px;color:var(--muted);white-space:nowrap}.banner-grid figure:first-child,.banner-grid figure:last-child{grid-column:1/-1}.banner-grid figure:nth-child(2){max-width:440px;grid-column:1/-1;justify-self:center}.case-overview .skills{gap:8px}.asset-section:last-of-type{border-bottom:0}@media(max-width:760px){.asset-section{padding:40px 0}.asset-grid,.asset-grid.three-columns{grid-template-columns:1fr;gap:30px}.asset-grid.screen-pair{grid-template-columns:1fr}.screen-pair figure:last-child{width:70%;justify-self:center}.asset-grid figcaption{font-size:11px}.asset-grid figcaption span{font-size:9px}.asset-navigation{gap:7px;padding:24px 0}.asset-navigation a{padding:8px 12px;font-size:11px}.asset-section .section-head h2{font-size:29px}.asset-description{font-size:13px}}

.landing-details{display:grid;grid-template-columns:2fr 1fr 1.35fr;gap:40px;margin:35px 0 45px}.landing-details h3{font-family:Georgia,serif;font-size:26px;font-weight:400;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 22px}.landing-details p,.landing-details li{font-size:14px;line-height:1.9;color:#676d63}.landing-details ul{padding-left:20px;margin:0}.landing-details li{margin-bottom:12px}.landing-details strong{color:var(--ink)}.landing-brand{font-style:italic}.asset-grid.screen-pair{grid-template-columns:minmax(0,4.058897770298696fr) minmax(0,1fr)}@media(max-width:760px){.landing-details{grid-template-columns:1fr;gap:25px;margin:25px 0 35px}.landing-details h3{font-size:23px;margin-bottom:15px}.asset-grid.screen-pair{grid-template-columns:minmax(0,4.058897770298696fr) minmax(0,1fr);gap:12px}.screen-pair figure:last-child{width:100%;justify-self:stretch}.screen-pair figcaption{font-size:10px}}
.banner-mockup-stage{background:#eef0eb;border:1px solid var(--line);border-radius:10px;padding:50px 28px;display:grid;grid-template-columns:minmax(0,2.7fr) minmax(0,1fr);gap:30px;align-items:center}.banner-mockup-stage figure{margin:0;min-width:0}.browser-mockup{border:1px solid #d0d3d0;border-radius:10px;overflow:hidden;background:white;box-shadow:0 20px 40px #1c211d14;container-type:inline-size}.browser-chrome{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#e4e6e5;color:#8b918d;font-size:10px;border-bottom:1px solid #d6d9d7}.browser-dots{font-size:10px;letter-spacing:3px}.browser-address{background:#f6f7f6;border-radius:4px;text-align:center;padding:5px;width:65%;font-size:10px;color:#626762}.store-surface{background:#fff;font-family:Arial,sans-serif;color:#111}.store-tabs{display:flex;gap:8px;justify-content:center;padding:12px;font-size:9px}.store-tabs b{border-bottom:1px solid #111}.store-shipping{background:#000;color:#fff;text-align:center;padding:9px 3px;font-size:9px;font-weight:600}.store-header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;gap:10px}.store-header .store-logo{width:75px;height:auto;border-radius:0}.store-links{display:flex;gap:13px;font-size:8px}.store-icons{display:flex;gap:10px;align-items:center}.store-icons svg{width:13px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}.store-rewards{display:flex;align-items:center;justify-content:space-between;padding:7px 18px 14px;font-size:9px}.store-banner{padding:0 9px 11px}.store-banner img{display:block;width:100%;height:auto;border-radius:15px}.banner-mockup-stage figcaption{font-size:12px;margin-top:20px;text-align:center;color:#676d63}.phone-mockup{max-width:280px;margin:auto;border:7px solid #222824;border-radius:36px;overflow:hidden;background:#fff;box-shadow:0 24px 45px #1c211d20;container-type:inline-size}.phone-status{height:34px;padding:10px 14px 6px;display:flex;align-items:center;justify-content:space-between;font-size:10px;position:relative;color:#111}.phone-island{position:absolute;left:50%;transform:translateX(-50%);width:68px;height:18px;top:6px;border-radius:15px;background:#222824}.phone-address{padding:8px 4px;background:#f1f2f1;text-align:center;color:#777;font-size:10px}.phone-mockup .store-tabs{font-size:8px;padding:10px 3px}.phone-mockup .store-shipping{font-size:7px;padding:8px 2px}.phone-mockup .store-header{padding:14px 10px;gap:6px}.phone-mockup .store-logo{width:70px}.phone-mockup .store-links,.phone-mockup .account-icon{display:none}.store-menu{font-size:17px}.phone-mockup .store-icons{gap:7px}.phone-mockup .store-rewards{font-size:7px;padding:5px 10px 12px}.phone-mockup .store-banner{padding:0 6px 8px}.phone-mockup .store-banner img{border-radius:13px}.phone-bottom{height:21px;display:flex;justify-content:center;align-items:center}.phone-bottom span{width:70px;height:4px;background:#222824;border-radius:4px}.tiktok-placement{margin-top:45px}.tiktok-placement figure{margin:0}.tiktok-placement img{width:100%;height:auto;border-radius:4px;display:block}.tiktok-placement figcaption{font-size:12px;margin-top:13px}@container(max-width:550px){.store-links{gap:8px;font-size:7px}.store-header{padding:13px 12px}.store-header .store-logo{width:60px}.store-icons{gap:7px}.store-icons svg{width:11px}}@media(max-width:760px){.banner-mockup-stage{grid-template-columns:1fr;padding:25px 12px;gap:35px}.mobile-mockup{width:75%;justify-self:center}.browser-chrome{padding:7px;font-size:8px}.browser-address{font-size:8px}.browser-dots{font-size:7px;letter-spacing:1px}.browser-mockup .store-links{gap:5px;font-size:5px}.browser-mockup .store-header .store-logo{width:47px}.browser-mockup .store-icons svg{width:9px;height:10px}.browser-mockup .store-icons{gap:4px}.browser-mockup .store-header{padding:10px 8px;gap:4px}.browser-mockup .store-rewards{font-size:7px;padding:5px 8px 10px}.browser-mockup .store-tabs,.browser-mockup .store-shipping{font-size:7px}.store-banner img{border-radius:10px}}
.banner-mockup-stage{background:transparent;border:0;border-radius:0;padding:30px 0}.tiktok-placement{margin-top:65px;padding-top:35px;border-top:1px solid var(--line)}.tiktok-mockup-heading h3{font-weight:400;font-size:30px;letter-spacing:-.7px;margin:0 0 12px}.tiktok-mockup-heading p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:35px}.tiktok-phone-figure{max-width:360px;margin:0 auto!important}.tiktok-phone{padding:7px;border-radius:38px;background:#202521;box-shadow:0 20px 40px #1c211d18;overflow:hidden}.tiktok-screen{position:relative;overflow:hidden;border-radius:31px;background:#111}.tiktok-screen .tiktok-reference{display:block;width:100%;height:auto;border-radius:0}.tiktok-campaign-slot{position:absolute;left:.8%;top:46.65%;width:98.4%;height:23.9%;background:#111;display:flex;align-items:center;padding:0 3.3%}.tiktok-campaign-slot img{display:block;width:100%;height:auto;border-radius:10px}.tiktok-phone-figure figcaption{text-align:center;font-size:12px;margin-top:20px;color:var(--muted)}@media(max-width:760px){.banner-mockup-stage{padding:20px 0}.tiktok-phone-figure{width:80%}.tiktok-placement{margin-top:40px}.tiktok-mockup-heading h3{font-size:26px}}
.email-window{background:#fff;border:1px solid #dce0da;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px #1c211d0b}.email-toolbar{display:flex;justify-content:space-between;align-items:center;background:#f1f3f0;border-bottom:1px solid #e3e6e1;padding:12px 16px;font-size:11px;color:#6b7168}.email-toolbar>span:first-child,.email-toolbar>span:last-child{font-size:17px}.email-message-header{display:flex;align-items:center;gap:11px;padding:18px 15px;border-bottom:1px solid #edf0ea}.email-sender-avatar{display:grid;place-items:center;background:#f9e4e9;color:#875661;border-radius:50%;width:32px;height:32px;font-size:14px;font-weight:600}.email-message-header strong{display:block;font-size:11px;font-weight:600;color:#252a24}.email-message-header small{display:block;font-size:10px;color:#7b8177;margin-top:5px}.email-reply{margin-left:auto;font-size:20px;color:#6b7168}.email-body{background:#fff}.email-body img{border-radius:0!important;display:block;width:100%;height:auto}#email .asset-grid figcaption{padding-left:3px}@media(max-width:760px){#email .asset-grid{max-width:430px;margin:auto}.email-message-header strong{font-size:13px}.email-message-header small{font-size:11px}}
.email-window.ios-mail{border:6px solid #222;border-radius:32px;background:#000;overflow:hidden;display:flex;flex-direction:column;height:680px;max-width:380px;margin:auto;box-shadow:0 16px 32px #1c211d15}.ios-status{display:flex;justify-content:space-between;padding:15px 22px 10px;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.ios-mail-navigation{display:flex;justify-content:space-between;align-items:center;color:#eee;padding:8px 12px 12px;flex-shrink:0;font-size:19px}.ios-mail-navigation>span{background:#191919;border:1px solid #343434;border-radius:26px;padding:8px 12px}.ios-mail-navigation b{font-size:11px;font-weight:500}.ios-message-info{background:#29292b;color:#fff;padding:15px 14px 0;flex-shrink:0}.ios-sender-row{display:flex;gap:10px;align-items:center}.ios-sender-avatar{width:36px;height:36px;border-radius:10px;background:#f5ba22;display:grid;place-items:center;color:white;font-size:20px;font-weight:600;flex-shrink:0}.ios-sender-row strong{font-size:12px;display:block;line-height:1.5}.ios-sender-row small{font-size:10px;display:block;color:#a6a6aa;line-height:1.7}.ios-message-info h4{border-top:1px solid #414143;padding:12px 0;margin:13px 0 0;font-size:14px;line-height:1.4}.ios-mail .email-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#aaa #fff}.ios-mail .email-body img{width:100%;height:auto;max-height:none;object-fit:contain}.ios-mail .email-body:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ios-mail-bottom{color:#eee;background:#171719;display:flex;justify-content:space-around;padding:12px 10px;font-size:21px;flex-shrink:0;border-top:1px solid #343434}.ios-mail .email-body::-webkit-scrollbar{width:5px}.ios-mail .email-body::-webkit-scrollbar-thumb{background:#aaa;border-radius:4px}@media(max-width:760px){.email-window.ios-mail{height:690px;width:100%}.ios-sender-row strong{font-size:14px}.ios-sender-row small{font-size:11px}.ios-message-info h4{font-size:16px}}
.sms-phone{height:700px;max-width:380px;margin:auto;display:flex;flex-direction:column;background:#fff;border:6px solid #222;border-radius:34px;overflow:hidden;box-shadow:0 16px 32px #1c211d15;color:#161616;font-family:Arial,sans-serif}.sms-status{height:40px;padding:14px 16px 8px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;position:relative;flex-shrink:0}.sms-island{position:absolute;left:50%;top:8px;transform:translateX(-50%);width:65px;height:17px;border-radius:20px;background:#222}.sms-contact{position:relative;background:#f6f6f6;border-bottom:1px solid #ddd;display:flex;justify-content:center;padding:10px 0 12px;flex-shrink:0}.sms-contact>div{display:flex;flex-direction:column;align-items:center;gap:6px}.sms-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#959ba4;color:#fff;font-size:21px}.sms-contact strong{font-size:11px;font-weight:500}.sms-back{position:absolute;left:13px;top:20px;color:#007aff;font-size:34px;line-height:1}.sms-conversation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;padding:12px 12px 18px;scrollbar-width:thin;scrollbar-color:#c7c7c7 #fff}.sms-conversation:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sms-time{font-size:9px;line-height:1.8;text-align:center;color:#8b8b90;margin:0 0 14px}.sms-image-bubble{width:93%;border-radius:17px;overflow:hidden;background:#eee}.sms-image-bubble img{display:block;width:100%;height:auto;border-radius:0!important}.sms-text-bubble{background:#e9e9eb;border-radius:17px 17px 17px 5px;padding:12px 13px;width:93%;margin-top:5px;font-size:12px;line-height:1.55}.sms-text-bubble p{margin:0 0 9px}.sms-preview-link{display:block;color:#007aff;margin-bottom:10px;text-decoration:underline}.sms-text-bubble small{font-size:9px;color:#727277;display:block}.sms-compose{display:flex;gap:9px;align-items:center;padding:9px 11px;background:#fafafa;flex-shrink:0;border-top:1px solid #eee}.sms-compose>span{background:#ededee;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;color:#777;font-size:22px}.sms-compose>div{border:1px solid #d5d5d8;border-radius:25px;flex:1;display:flex;justify-content:space-between;padding:8px 11px;font-size:10px;color:#939399}.sms-home{height:4px;width:80px;border-radius:5px;background:#222;margin:6px auto 9px;flex-shrink:0}@media(max-width:760px){#sms .asset-grid{max-width:430px;margin:auto}.sms-phone{width:100%;height:720px}.sms-text-bubble{font-size:14px}.sms-contact strong{font-size:13px}}
/* Fit the full SMS image and message within a single phone screen. */
.sms-conversation{display:flex;flex-direction:column;align-items:flex-start;overflow:visible;gap:7px;padding:12px 14px;min-height:0}.sms-time{align-self:center;flex-shrink:0;margin:0 0 3px}.sms-image-bubble{width:76%;max-width:230px;max-height:46%;flex-shrink:1;min-height:0;aspect-ratio:4/5;background:transparent}.sms-image-bubble img{width:100%;height:100%;object-fit:contain;object-position:left top}.sms-text-bubble{width:88%;margin-top:0;font-size:11px;line-height:1.45;padding:10px 12px;flex-shrink:0}.sms-text-bubble p{margin-bottom:7px}.sms-preview-link{margin-bottom:7px}.sms-text-bubble small{font-size:9px}@media(max-width:760px){.sms-image-bubble{width:70%;max-width:215px}.sms-text-bubble{font-size:12px;line-height:1.45}}
/* Desktop SMS attachments retain their complete 4:5 image bounds. */
@media(min-width:761px){.sms-image-bubble{width:76%;max-width:190px;max-height:none;height:auto;aspect-ratio:auto;flex:0 0 auto;border-radius:0;overflow:visible}.sms-image-bubble img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0!important}}
/* Match the SMS attachment corners to the incoming text bubble. */
.sms-image-bubble{border-radius:17px 17px 17px 5px;overflow:visible}.sms-image-bubble img{border-radius:17px 17px 17px 5px!important}

/* Keep every handset proportional to a standard 390 × 844 iPhone. */
.phone-mockup,.tiktok-phone,.email-window.ios-mail,.sms-phone{
 width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:390 / 844;
 max-width:340px;box-sizing:border-box;container-type:inline-size;
}
.email-window.ios-mail,.sms-phone{border-width:6px}
.phone-mockup{display:flex;flex-direction:column}
.phone-mockup>.phone-status,.phone-mockup>.phone-address,.phone-mockup>.phone-bottom{flex-shrink:0}
.phone-mockup>.store-surface{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tiktok-phone{margin:auto;display:flex}
.tiktok-screen{width:100%;height:100%;min-height:0}
.tiktok-screen .tiktok-reference{width:100%;height:100%;object-fit:fill}
.ios-status{padding:4.2cqw 6cqw 2.8cqw;font-size:3.6cqw}
.ios-mail-navigation{padding:2.2cqw 3.3cqw 3.3cqw;font-size:5.2cqw}
.ios-mail-navigation>span{padding:2.2cqw 3.3cqw}
.ios-mail-navigation b{font-size:3cqw}
.ios-message-info{padding:4cqw 3.8cqw 0}
.ios-sender-avatar{width:10cqw;height:10cqw;font-size:5.5cqw}
.ios-sender-row{gap:2.7cqw}
.ios-sender-row strong{font-size:3.3cqw}
.ios-sender-row small{font-size:2.75cqw}
.ios-message-info h4{font-size:3.85cqw;padding:3.3cqw 0;margin-top:3.6cqw}
.sms-conversation{padding:3cqw 4cqw;gap:1.8cqw;overflow:hidden}
.sms-time{font-size:2.5cqw}
.sms-image-bubble{width:60%;max-width:none;max-height:none;height:auto;aspect-ratio:4 / 5;flex:0 0 auto}
.sms-image-bubble img{width:100%;height:auto;object-fit:contain}
.sms-text-bubble{font-size:3.1cqw;line-height:1.45;padding:2.7cqw 3.3cqw}
.sms-text-bubble p,.sms-preview-link{margin-bottom:1.8cqw}
.sms-text-bubble small{font-size:2.5cqw}
.sms-status{height:11cqw;padding:3.8cqw 4.4cqw 2.2cqw;font-size:3cqw}
.sms-island{width:18cqw;height:4.6cqw;top:2.2cqw}
.sms-contact{padding:2.7cqw 0 3.3cqw}
.sms-contact>div{gap:1.6cqw}
.sms-avatar{width:10.4cqw;height:10.4cqw;font-size:5.8cqw}
.sms-contact strong{font-size:3.1cqw}
.sms-back{font-size:9cqw;top:5.5cqw}
.sms-compose{padding:2.5cqw 3cqw}
.sms-compose>div{font-size:2.8cqw;padding:2.2cqw 3cqw}
.sms-compose>span{width:7cqw;height:7cqw;font-size:6cqw}
.sms-home{width:22cqw;height:1.1cqw;margin:1.6cqw auto 2.5cqw}

/* Instagram placement beside the original campaign graphics. */
.social-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:60px;align-items:start}
.social-showcase>.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.social-phone-figure{margin:0;min-width:0}
.social-phone-figure>figcaption{text-align:center;font-size:11px;color:var(--muted);margin-top:20px;line-height:1.6}
.instagram-phone{width:100%;max-width:410px;aspect-ratio:390 / 844;margin:auto;border:7px solid #202020;border-radius:42px;background:#fff;overflow:hidden;display:flex;flex-direction:column;container-type:inline-size;box-shadow:0 18px 36px #1c211d15;color:#111;font-family:Arial,sans-serif}
.ig-status{display:flex;justify-content:space-between;align-items:center;padding:4cqw 5cqw 2cqw;font-size:3cqw;font-weight:600;position:relative;flex-shrink:0}
.ig-status i{position:absolute;top:2cqw;left:40%;width:20%;height:5cqw;border-radius:30px;background:#111}
.ig-title{display:flex;align-items:center;justify-content:space-between;padding:2cqw 4cqw;font-size:5cqw;flex-shrink:0}
.ig-title strong{font-size:4cqw}.ig-title b,.ig-post-author b{color:#3897f0;font-size:2.5cqw}
.ig-profile{display:flex;gap:4cqw;padding:3cqw 4cqw;align-items:center;flex-shrink:0}
.ig-avatar{width:18cqw;height:18cqw;border:2px solid #d95f86;border-radius:50%;padding:3cqw;display:grid;place-items:center;flex-shrink:0}
.ig-avatar img,.ig-mini-avatar img{width:100%;height:auto}
.ig-profile strong{font-size:3.3cqw}.ig-profile p{font-size:2.6cqw;line-height:1.5;margin:1.5cqw 0 0}
.ig-profile-actions{display:flex;gap:2cqw;padding:0 4cqw 3cqw;flex-shrink:0}.ig-profile-actions span{flex:1;text-align:center;font-size:3cqw;border-radius:7px;background:#efefef;padding:2cqw}.ig-profile-actions span:first-child{background:#0095f6;color:#fff}
.ig-tabs{display:flex;justify-content:space-around;border-bottom:1px solid #ddd;font-size:5cqw;padding:1.5cqw 0;flex-shrink:0}
.ig-feed{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.ig-post-author{display:flex;align-items:center;gap:2cqw;padding:2.5cqw 3cqw;font-size:3cqw}.ig-post-author>span{margin-left:auto;font-size:5cqw}
.ig-mini-avatar{width:7cqw;height:7cqw;border:1px solid #ddd;border-radius:50%;display:grid;place-items:center;padding:1cqw}
.ig-carousel-wrap{position:relative}.ig-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.ig-carousel::-webkit-scrollbar{display:none}.ig-carousel img{flex:0 0 100%;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:contain;scroll-snap-align:start;display:block;border-radius:0}
.ig-slide-count{position:absolute;right:3cqw;top:3cqw;background:#0009;color:white;border-radius:20px;font-size:2.7cqw;padding:1.2cqw 2.3cqw;pointer-events:none}
.ig-post-tools{display:flex;justify-content:space-between;align-items:center;padding:2.5cqw 3cqw;font-size:5cqw;position:relative}.ig-dots{display:flex;gap:1.5cqw;position:absolute;left:50%;transform:translateX(-50%)}.ig-dots button{width:1.6cqw;height:1.6cqw;border:0;border-radius:50%;background:#ddd;padding:0;cursor:pointer}.ig-dots button[aria-pressed="true"]{background:#0095f6}
.ig-caption{font-size:2.8cqw;margin:0;padding:0 3cqw 3cqw;line-height:1.5}
.ig-bottom-nav{display:flex;justify-content:space-around;border-top:1px solid #eee;padding:2.5cqw 0;font-size:5cqw;flex-shrink:0}.ig-home{width:25%;height:1.2cqw;margin:1.5cqw auto 2.2cqw;background:#111;border-radius:10px;flex-shrink:0}
@media(max-width:760px){.social-showcase{grid-template-columns:1fr;gap:35px}.social-phone-figure{width:90%;max-width:410px;justify-self:center}.social-showcase>.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}}

.ig-carousel{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y}
.ig-carousel img{-webkit-user-drag:none}
.ig-carousel.ig-dragging{cursor:grabbing;scroll-snap-type:none}

/* Reference-matched Instagram profile and post controls. */
.ig-profile{gap:4cqw;padding:3cqw 4cqw 1.5cqw}
.ig-profile-stats{display:flex;justify-content:space-between;flex:1;gap:2cqw}
.ig-profile-stats>div{display:flex;flex-direction:column;gap:1cqw}
.ig-profile-stats strong{font-size:3.8cqw;font-weight:700}
.ig-profile-stats span{font-size:3.2cqw}
.ig-profile-bio{padding:1.5cqw 4cqw 3cqw;flex-shrink:0;font-size:3cqw}
.ig-profile-bio p{font-size:2.65cqw;line-height:1.5;margin:1cqw 0 0}
.ig-action-icons{display:flex;gap:4cqw;align-items:center}
.ig-post-tools{padding:3cqw 4cqw 1.5cqw}
.ig-icon{display:inline-flex;width:6.1cqw;height:6.1cqw;align-items:center;justify-content:center}
.ig-icon svg{display:block;width:100%;height:100%;fill:none;stroke:#101418;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ig-pagination{height:3.5cqw;position:relative;display:flex;align-items:center;justify-content:center}
.ig-pagination .ig-dots{position:static;transform:none}
.ig-post-meta{padding:1cqw 4cqw 2.5cqw;font-size:3.5cqw}
.ig-caption{padding:0 4cqw 2cqw}
.ig-post-date{padding:0 4cqw 4cqw;margin:0;color:#737984;font-size:3cqw}

/* Show all four campaign assets in the Instagram profile's three-column grid. */
.ig-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:2px;flex:1;min-height:0;overflow:auto;background:#fff;overscroll-behavior:contain}
.ig-grid-post{min-width:0;aspect-ratio:4 / 5;background:#fff}
.ig-grid-post img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.ig-tabs>span:first-child{position:relative}.ig-tabs>span:first-child::after{content:'';position:absolute;height:2px;background:#111;bottom:-1.5cqw;left:-8cqw;right:-8cqw}

/* Individual surrounding brand posts from the supplied profile screenshots. */
.ig-context-tile{background-image:url('/assets/instagram-context-grid.png');background-size:203% 203%;background-repeat:no-repeat}
.ig-context-0{background-position:0 0}.ig-context-1{background-position:100% 0}
.ig-context-2{background-position:0 100%}.ig-context-3{background-position:100% 100%}
.ig-grid-post img[src="/assets/instagram-context-post.png"]{object-fit:cover}

.amazon-story{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px 55px;margin:35px 0 48px}
.amazon-story h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.3;margin:0 0 18px}
.amazon-story p,.amazon-story li{font-size:14px;line-height:1.9;color:#676d63}
.amazon-story p{margin:0 0 18px}.amazon-story strong{color:var(--ink);font-weight:600}
.amazon-overview{grid-row:span 2}.amazon-focus ul{padding-left:18px;margin:0}.amazon-focus li{margin-bottom:8px}
.amazon-results{border-top:1px solid var(--line);padding-top:24px}
@media(max-width:760px){.amazon-story{grid-template-columns:1fr;gap:24px;margin:26px 0 35px}.amazon-overview{grid-row:auto}.amazon-story h3{font-size:23px}.amazon-story p,.amazon-story li{font-size:13px}}

/* Match the landing-page description layout with three aligned columns. */
.amazon-story{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.35fr);gap:40px;margin:35px 0 45px;align-items:start}
.amazon-overview{grid-row:auto}
.amazon-story h3{font-size:26px;line-height:normal;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 22px;font-weight:400}
.amazon-story p,.amazon-story li{font-size:14px;line-height:1.9}
.amazon-focus ul{padding-left:20px}.amazon-focus li{margin-bottom:12px}
.amazon-results{border-top:0;padding-top:0}
@media(max-width:760px){.amazon-story{grid-template-columns:1fr;gap:25px;margin:25px 0 35px}.amazon-story h3{font-size:23px;margin-bottom:15px}}

/* Scrollable Amazon mobile results with two product cards per row. */
.amazon-phone-figure{justify-self:center;width:100%}
.amazon-search-phone{width:100%;max-width:390px;aspect-ratio:390 / 844;height:auto;margin:auto;border:7px solid #222;border-radius:40px;overflow:hidden;background:#fff;display:flex;flex-direction:column;container-type:inline-size;box-shadow:0 16px 32px #1c211d15;color:#0f1111}
.am-status{display:flex;justify-content:space-between;padding:4cqw 5cqw 2.5cqw;font-size:3cqw;font-weight:600;position:relative;background:#e3eeee;flex-shrink:0}
.am-status i{position:absolute;top:2cqw;left:40%;width:20%;height:5cqw;border-radius:20px;background:#111}
.am-search-header{background:#e3eeee;padding:2cqw 3cqw 3cqw;flex-shrink:0}.am-brand-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3cqw;font-size:4cqw}.am-brand-row strong{font-size:6cqw;letter-spacing:-.4cqw;position:relative;padding-bottom:1cqw}.am-brand-row strong>span{position:absolute;color:#f59d26;font-size:6cqw;left:7cqw;bottom:-3cqw}
.am-search-field{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #839a9e;border-radius:8px;padding:2.5cqw;font-size:3.6cqw;gap:2cqw;box-shadow:0 1px 2px #0002}.am-search-field>span:nth-child(2){margin-right:auto}
.am-location{font-size:3cqw;padding:3cqw;background:#cbdfe0;flex-shrink:0}.am-filter-bar{padding:3cqw;display:flex;justify-content:space-between;border-bottom:1px solid #ddd;font-size:2.8cqw;flex-shrink:0}
.amazon-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2cqw;padding:3cqw;align-content:start;flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#aaa #fff}
.amazon-search-card{min-width:0;border:1px solid #e3e6e6;border-radius:5px;overflow:hidden;background:white}
.amazon-thumb-crop{aspect-ratio:1;position:relative;overflow:hidden;background:#fff}.amazon-thumb-crop img{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;border-radius:0}
.amazon-thumb-1 img{top:-102.4%}.amazon-thumb-2 img{top:-205.866667%}
.amazon-card-copy{padding:3cqw 2.5cqw 6cqw;min-height:48cqw}.amazon-card-brand{font-size:2.6cqw;color:#565959}.amazon-card-copy h4{font-size:4cqw;line-height:1.3;font-weight:500;margin:1.5cqw 0}.amazon-card-copy p{font-size:3cqw;line-height:1.6;margin:0 0 3cqw}.amazon-card-detail{font-size:2.7cqw;color:#007185}
.am-home{width:24%;height:1.2cqw;border-radius:6px;background:#111;margin:2.5cqw auto;flex-shrink:0}
#amazon .amazon-phone-figure figcaption{display:block;text-align:center;line-height:1.8}.amazon-mockup-note{font-size:10px;color:var(--muted)}

/* Reference Amazon filter chips, category strip, and two-column product cards. */
.am-results-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#aaa #fff}
.am-reference-filters{padding:2cqw 2cqw 1cqw;border-bottom:1px solid #d5d9d9;background:#fff;overflow:hidden}
.am-filter-row{display:flex;gap:1.5cqw;white-space:nowrap;width:max-content;margin-bottom:1.5cqw}.am-filter-row>span{border:1px solid #8d9096;border-radius:20px;padding:1.9cqw 2.4cqw;font-size:2.8cqw;font-weight:500}.am-filter-row b{color:#d7771b}.am-filter-row .am-prime{border:0;color:#007cff;font-weight:700}
.am-category-strip{display:flex;gap:1.8cqw;padding:2cqw;overflow:hidden;background:#fff;border-bottom:1px solid #ddd;flex-shrink:0}.am-category-strip>div{background:#f5f5f5;border-radius:8px;flex:0 0 19cqw;text-align:center;padding:1cqw}.am-category-strip span{font-size:2.7cqw;display:block;line-height:1.2;margin:1cqw 0}.am-category-photo{width:12cqw;margin:auto}
.am-shop-heading{font-size:3cqw;color:#2162a1;padding:3cqw 2cqw 1cqw}
.amazon-search-results{overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5cqw;padding:2cqw;flex:none}
.amazon-search-card{position:relative;border:1px solid #eee;border-radius:6px}.amazon-card-copy{padding:3cqw 2cqw;min-height:0}.amazon-card-copy h4{font-size:3.6cqw;line-height:1.45;margin:1.5cqw 0}.amazon-card-copy p{font-size:2.8cqw;line-height:1.45;margin-bottom:2.5cqw}.amazon-card-brand{font-size:2.6cqw}.amazon-card-detail{font-size:2.6cqw}
.am-image-icon{position:absolute;top:35cqw;right:2cqw;width:6cqw;height:6cqw;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0003;display:grid;place-items:center}.am-image-icon svg{width:4cqw;height:4cqw;fill:none;stroke:#111;stroke-width:1.7;stroke-linejoin:round}
.amazon-card-copy .am-product-note{margin:3cqw 0;color:#565959;font-size:2.8cqw}.am-prime-copy{display:block;color:#007cff;font-size:3.2cqw;font-style:italic;font-weight:700;margin:3cqw 0}.am-cart-display{background:#ffd814;border-radius:30px;text-align:center;font-size:3.3cqw;padding:2.5cqw 1cqw;margin-top:3cqw}
@media(max-width:760px){#amazon .amazon-phone-figure{width:100%;max-width:390px}.amazon-search-phone{max-width:390px;width:100%}}

/* Equal rendered heights while preserving the complete A+ image proportions. */
.asset-grid.amazon-aplus-pair{grid-template-columns:minmax(0,2.5956247359526827fr) minmax(0,1fr);gap:35px;align-items:start;margin-top:45px}
.amazon-aplus-pair img{width:100%;height:auto;display:block}
@media(max-width:760px){.asset-grid.amazon-aplus-pair{grid-template-columns:minmax(0,2.5956247359526827fr) minmax(0,1fr);gap:12px;margin-top:30px}.amazon-aplus-pair figcaption{font-size:10px;line-height:1.5}}

/* Replace the third A+ module without cropping or stretching the supplied GIFs. */
.aplus-composite{position:relative;width:100%;overflow:hidden}
.aplus-composite>img:first-child{width:100%;height:auto;display:block}
.aplus-composite .aplus-benefits-overlay{position:absolute;left:0;width:100%;height:auto;display:block;border-radius:0}
.aplus-desktop .aplus-benefits-overlay{top:41.825095057034225%;}
.aplus-mobile .aplus-benefits-overlay{top:38.7779433681073%;}

/* Three supplied banners loop every second in both A+ layouts. */
.aplus-mobile .aplus-benefits-overlay{height:13.412816691505217%;object-fit:contain;background:#fff}

/* Mobile-specific banners fill the original mobile Benefits module. */
.aplus-mobile .aplus-benefits-overlay{height:auto;object-fit:contain;background:transparent}

.infographic-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:65px;margin:35px 0 45px}
.infographic-story h3{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.3;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:16px}
.infographic-story p,.infographic-story li{font-size:14px;line-height:1.9;color:#676d63}.infographic-story p{margin:0 0 20px}.infographic-story strong{color:var(--ink);font-weight:600}.infographic-story ul{padding-left:20px;margin:0}.infographic-story li{margin-bottom:12px}.infographic-story .info-sales-heading{margin-top:30px}
@media(max-width:760px){.infographic-story{grid-template-columns:1fr;gap:25px;margin:25px 0 35px}.infographic-story h3{font-size:23px;margin-bottom:15px}.infographic-story p,.infographic-story li{font-size:13px}}

/* Consistent three-column case-study introduction. */
.infographic-story{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.35fr);gap:40px;align-items:start;margin:35px 0 45px}
.infographic-story h3{font-size:26px;line-height:normal;padding-bottom:16px;margin:0 0 22px}
.infographic-story p,.infographic-story li{font-size:14px;line-height:1.9}
@media(max-width:760px){.infographic-story{grid-template-columns:1fr;gap:25px;margin:25px 0 35px}.infographic-story h3{font-size:23px;margin-bottom:15px}}

/* Fill project thumbnails with their original image, cropping overflow. */
.image-wrap.wicked img,.image-wrap.kiss img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Soft frosted navigation after scrolling; restore the paper background at top. */
header,header.gnb-scrolled{box-shadow:none;border-bottom:0}
header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;transition:transform .25s ease,background-color .25s ease,backdrop-filter .25s ease}
header.gnb-scrolled{background:rgba(248,249,245,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}

/* Reference-width wrapper and a more transparent frosted navigation. */
:root{--page-gutter:2.8%}
header,main,footer{max-width:none;width:100%}
header,.hero,.work,.contact,footer,.case-study{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.about{margin-left:var(--page-gutter);margin-right:var(--page-gutter);padding-left:0;padding-right:0}
header.gnb-scrolled{background:rgba(248,249,245,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(max-width:760px){:root{--page-gutter:4%}}

/* Slightly shorter homepage thumbnails on desktop, keeping the full wrapper width. */
@media(min-width:761px){.work .project .image-wrap{aspect-ratio:2.2}}

/* Wicked campaign uses the same mockup system with asset-specific proportions. */
.wicked-case .screen-pair{grid-template-columns:minmax(0,3.5305055810899537fr) minmax(0,1fr)}
.wicked-message-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:0 auto;gap:48px 60px}
.wicked-case .sms-image-bubble{aspect-ratio:1;max-height:none;width:60%}
.wicked-storefront-pair{grid-template-columns:minmax(0,2.7fr) minmax(0,1fr);align-items:start}
.wicked-storefront-pair .browser-mockup>img{width:100%;height:auto;display:block}
.wicked-phone-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.wicked-phone-scroll img{display:block;width:100%;height:auto}
.wicked-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px}
.wicked-shop-grid img{display:block;width:100%;height:auto}
.wicked-shop-grid small{display:block;padding:5px 0;font-size:3cqw}
@media(max-width:760px){.wicked-message-grid{grid-template-columns:1fr;gap:32px}.wicked-storefront-pair{grid-template-columns:1fr;gap:35px}.wicked-storefront-pair>figure:last-child{width:85%;max-width:340px;justify-self:center}.wicked-case .screen-pair{grid-template-columns:minmax(0,3.5305055810899537fr) minmax(0,1fr)}}
@media(min-width:761px){.wicked-case #sms .wicked-message-grid,.wicked-case #email .wicked-message-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:24px}}

.wicked-desktop-scroll{aspect-ratio:16/10;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff}
.wicked-desktop-scroll img{width:100%;height:auto;display:block}
.wicked-desktop-scroll:focus-visible,.wicked-phone-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.wicked-aplus-heading{margin:55px 0 24px}
.wicked-aplus-heading h3{font-family:Georgia,serif;font-size:30px;font-weight:400}
.wicked-case .wicked-aplus-pair{grid-template-columns:minmax(0,1.9026892109500806fr) minmax(0,1fr);gap:35px}
@media(max-width:760px){.wicked-case .wicked-aplus-pair{gap:12px}.wicked-aplus-pair figcaption{font-size:10px}}

/* KISS relaunch: shared case-study layouts and proportional devices. */
.kiss-case .kiss-equal-pair{grid-template-columns:var(--pair-ratio) minmax(0,1fr)}
.kiss-subhead{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:45px 0 24px}
.kiss-store-logo{font-family:Arial,sans-serif;font-size:28px;letter-spacing:-2px;color:#111}
.kiss-message-pair{max-width:850px;margin:auto;gap:65px}
.kiss-case .sms-image-bubble{aspect-ratio:1;max-height:none;width:60%}
.kiss-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
.kiss-meta-grid video{display:block;width:100%;height:auto;border-radius:4px;background:#111}
.kiss-story-phone{position:relative;aspect-ratio:390/844;width:100%;max-width:340px;margin:auto;background:#111;border:6px solid #222;border-radius:36px;overflow:hidden;display:flex;flex-direction:column;color:#fff;container-type:inline-size}
.kiss-story-phone>img{width:100%;flex:1;min-height:0;object-fit:contain;border-radius:0}
.kiss-story-progress{display:flex;padding:6cqw 3cqw 2cqw}.kiss-story-progress i{height:2px;background:#fff;width:100%}
.kiss-story-profile{display:flex;gap:3cqw;align-items:center;padding:1cqw 4cqw 3cqw;font-size:3cqw}.kiss-story-profile b{font-size:4cqw}.kiss-story-profile span:last-child{margin-left:auto}
.kiss-story-reply{display:flex;justify-content:space-between;margin:3cqw 4cqw 5cqw;padding:3cqw;border:1px solid #777;border-radius:25px;font-size:3cqw}
.kiss-walmart{max-width:1100px;margin:0 auto}.kiss-walmart figcaption{font-size:12px;margin-top:16px}
.kiss-case .kiss-retailer-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:35px}.kiss-retailer-grid figure{width:var(--cvs-width);max-width:100%;flex:0 1 auto}.kiss-retailer-grid img{width:auto;max-width:100%;height:auto;object-fit:contain}
.kiss-single-email{grid-template-columns:minmax(0,340px);justify-content:center}
@media(max-width:760px){.kiss-case .kiss-equal-pair{gap:12px}.kiss-message-pair{grid-template-columns:1fr;gap:35px}.kiss-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.kiss-subhead{font-size:24px}.kiss-case .kiss-equal-pair figcaption{font-size:10px}.kiss-retailer-grid{grid-template-columns:1fr}.kiss-single-email{grid-template-columns:minmax(0,340px)}}

/* Fixed device proportions, with page scrolling inside each display. */
.kiss-case .kiss-device-pair{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:45px;align-items:center}
.portfolio-macbook{width:100%;padding:0 2%;container-type:inline-size}
.macbook-lid{position:relative;width:94%;margin:auto;background:#151515;border:2px solid #686a6c;border-radius:17px 17px 6px 6px;padding:2.8% 1.6% 2%;box-shadow:0 12px 30px #00000016}
.macbook-camera{position:absolute;top:1%;left:50%;transform:translateX(-50%);width:5px;height:5px;background:#363e48;border-radius:50%}
.macbook-screen{aspect-ratio:16/10;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;background:white;scrollbar-width:thin;scrollbar-color:#aaa #fff}
.macbook-screen img,.iphone-screen img{display:block;width:100%;height:auto;border-radius:0}
.macbook-wordmark{font:1cqw Arial,sans-serif;color:#a1a1a1;position:absolute;bottom:.8%;left:0;right:0;text-align:center;letter-spacing:.04em}
.macbook-base{height:1.7cqw;min-height:7px;background:linear-gradient(#d6d8db,#9da0a4);border-radius:2px 2px 45% 45%;position:relative;box-shadow:0 10px 14px #00000014}
.macbook-base span{display:block;position:absolute;left:43%;width:14%;height:30%;background:#96999e;border-radius:0 0 8px 8px}
.portfolio-iphone{width:100%;max-width:340px;aspect-ratio:390/844;height:auto;margin:auto;border:6px solid #222;border-radius:36px;overflow:hidden;display:flex;flex-direction:column;background:#fff;color:#151515;box-shadow:0 16px 32px #1c211d15;container-type:inline-size;font-family:Arial,sans-serif}
.iphone-status{position:relative;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:4.6cqw 5cqw 3cqw;font-size:3.1cqw;font-weight:600}
.iphone-status i{position:absolute;left:50%;top:2.4cqw;transform:translateX(-50%);width:25cqw;height:7cqw;border-radius:20px;background:#171717}
.iphone-safari{background:#f0f1f2;text-align:center;padding:3cqw 2cqw;font-size:3cqw;color:#666;flex-shrink:0}
.iphone-screen{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#aaa #fff}
.iphone-home{height:7cqw;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.iphone-home span{width:30%;height:1.3cqw;border-radius:5px;background:#222}
.macbook-screen:focus-visible,.iphone-screen:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:760px){.kiss-case .kiss-device-pair{grid-template-columns:1fr;gap:32px}.kiss-device-pair>figure:last-child{width:80%;max-width:340px;justify-self:center}.macbook-lid{border-radius:10px 10px 4px 4px}.macbook-camera{width:3px;height:3px}}

@media(min-width:761px){.kiss-case .kiss-benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}

.kiss-aplus-desktop-composite{position:relative}
.kiss-aplus-desktop-composite>.kiss-aplus-franchise-overlay,.kiss-aplus-desktop-composite>.kiss-aplus-info-overlay{position:absolute;left:0;width:100%;height:auto;border-radius:0}
.kiss-aplus-desktop-composite>.kiss-aplus-franchise-overlay{top:42.78583313525077%}
.kiss-aplus-desktop-composite>.kiss-aplus-info-overlay{top:57.0477775136677%}

.kiss-aplus-mobile-composite{position:relative}
.kiss-aplus-mobile-composite>.kiss-aplus-mobile-franchise,.kiss-aplus-mobile-composite>.kiss-aplus-mobile-info{position:absolute;left:0;width:99.83361064891847%;height:auto;border-radius:0}
.kiss-aplus-mobile-composite>.kiss-aplus-mobile-franchise{top:36.10586011342155%}
.kiss-aplus-mobile-composite>.kiss-aplus-mobile-info{top:53.81222432262129%}

.email-brand-gallery .email-brand-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 24px}
.email-ad-card figcaption{display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.5}
.email-ad-card figcaption span{font-size:12px;color:var(--ink);white-space:normal}
.email-ad-card time{font-size:10px;color:var(--muted)}
.email-ad-card .email-body video{display:block;width:100%;height:auto}
.email-ad-card .ios-message-info h4{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media(max-width:1000px) and (min-width:761px){.email-brand-gallery .email-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.email-brand-gallery .email-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 14px}}

.email-brand-gallery .email-ad-card>img,.email-brand-gallery .email-ad-card>video{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:0}

/* Pack differently sized email artwork into the next available column. */
.email-brand-gallery .email-brand-grid.is-masonry{display:block;position:relative;max-width:100%;gap:0}
.email-brand-gallery .email-brand-grid.is-masonry>.email-ad-card{position:absolute;left:0;top:0;margin:0;min-width:0}
.email-brand-gallery .email-ad-card figcaption{margin-top:10px;gap:3px}
@media(max-width:760px){.email-brand-gallery .email-brand-grid.is-masonry{max-width:100%;margin:0 auto}.email-brand-gallery .email-ad-card figcaption span{font-size:10px}.email-brand-gallery .email-ad-card time{font-size:9px}}

.work-categories{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 32px;font-size:12px}.work-categories>span,.work-categories>a{padding:9px 16px;border:1px solid var(--line);border-radius:30px}.work-categories>span{background:var(--accent)}.work-categories>a:hover{background:var(--accent)}
.resume-contact{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;margin:28px 0 0}.resume-page .experience{margin-top:0}.resume-page .case-overview .skills{margin-bottom:22px}

.resume-pdf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.resume-pdf-actions a{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid var(--ink);border-radius:30px;font-size:13px}.resume-pdf-actions .resume-pdf-primary{background:var(--ink);color:var(--paper)}.resume-pdf-actions a:hover{background:var(--accent);color:var(--ink);opacity:1}
.resume-pdf-section{padding:15px 0 65px}.resume-pdf-viewer{display:block;width:100%;height:1100px;max-height:85vh;border:1px solid var(--line);background:#fff}.resume-pdf-fallback{font-size:12px;color:var(--muted);line-height:1.7;margin-top:16px}.resume-pdf-fallback a{text-decoration:underline}
@media(max-width:760px){.resume-pdf-viewer{height:75vh;min-height:420px}.resume-pdf-actions a{font-size:12px;padding:12px 16px}}

.resume-download-dialog{width:min(420px,calc(100% - 40px));box-sizing:border-box;padding:32px;border:0;border-radius:18px;background:var(--paper,#f8f9f5);color:#171717;box-shadow:0 20px 80px #0002}
.resume-download-dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(5px)}
.resume-download-dialog h2{font-size:26px;margin:0 0 12px;letter-spacing:-.03em}
.resume-download-dialog p{font-size:15px;line-height:1.6;margin:0 0 28px}
.resume-download-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.resume-download-actions button,.resume-download-actions a{font:inherit;font-size:14px;padding:12px 20px;border-radius:999px;border:1px solid #ccc;text-decoration:none;cursor:pointer;background:transparent;color:inherit}
.resume-download-actions .resume-download-confirm{background:#171717;border-color:#171717;color:white}
.resume-download-actions :focus-visible{outline:2px solid #171717;outline-offset:4px}

header nav[aria-label="Main navigation"]{align-items:center}
header nav[aria-label="Main navigation"] a{white-space:nowrap}
@media(max-width:760px){header{gap:16px;align-items:center}header nav[aria-label="Main navigation"]{gap:12px 16px;justify-content:flex-end;flex-wrap:wrap;max-width:calc(100% - 51px);font-size:11px}header nav[aria-label="Main navigation"] span{margin-left:4px}}

/* Draw decorative symbols as vectors so iOS cannot substitute emoji. */
.icon-arrow-up-right{display:inline-block;width:1em;height:1em;vertical-align:-.1em;flex-shrink:0}
.asterisk svg{display:block;width:.75em;height:.75em;overflow:visible}

.hero-finale{display:contents}
@media(max-width:1100px){
 .hero-finale{display:inline-flex;align-items:center;gap:.25em;max-width:100%;vertical-align:baseline}
 .hero-finale .asterisk{position:static;display:inline-flex;flex:0 0 auto;font-size:clamp(36px,6vw,72px);line-height:1;letter-spacing:0}
}

/* Project disciplines are descriptive text; asset navigation retains pills. */
.project-disciplines{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 0;margin:27px 0;color:var(--muted);font-size:12px;line-height:1.8}
.project-disciplines>span{display:inline-flex;align-items:baseline;border:0;border-radius:0;padding:0;background:none}
.project-disciplines>span:not(:last-child)::after{content:"/";margin:0 14px;color:#90978b}
@media(max-width:760px){.project-disciplines{font-size:11px;row-gap:6px}.project-disciplines>span:not(:last-child)::after{margin:0 10px}}

/* Descriptive specialties use text, distinct from interactive buttons. */
.expertise-description{gap:10px 0;flex-wrap:wrap}
.expertise-description>span:not(.year){display:inline-flex;align-items:baseline;border:0;border-radius:0;padding:0;background:none;font-size:12px;line-height:1.8;color:var(--muted)}
.expertise-description>span:not(.year):not(:nth-last-child(2))::after{content:"/";margin:0 16px;color:#90978b}
@media(max-width:760px){.expertise-description>span:not(.year){font-size:11px;padding:0}.expertise-description>span:not(.year):not(:nth-last-child(2))::after{margin:0 10px}}

/* Compact campaign mail and SMS handsets: two per row on mobile. */
@media(max-width:760px){
 .case-study #email .asset-grid,
 .case-study #sms .asset-grid,
 .case-study #email-sms .kiss-message-pair{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;width:100%;max-width:none;margin:0;
 }
 .case-study #email .asset-grid>figure,
 .case-study #sms .asset-grid>figure,
 .case-study #email-sms .kiss-message-pair>figure{min-width:0;width:100%;margin:0}
 .case-study #email .email-window.ios-mail,
 .case-study #email-sms .email-window.ios-mail,
 .case-study #sms .sms-phone,
 .case-study #email-sms .sms-phone{
  width:100%;max-width:100%;height:auto;min-height:0;aspect-ratio:390/844;border-width:3px;border-radius:18px;
 }
 .case-study #email .asset-grid figcaption,
 .case-study #sms .asset-grid figcaption,
 .case-study #email-sms .kiss-message-pair figcaption{font-size:10px;line-height:1.5;padding-left:0;overflow-wrap:anywhere}
}

/* Two-column campaign infographics on small screens. */
@media(max-width:760px){
 .case-study #infographics .asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;width:100%;max-width:none;margin-left:0;margin-right:0}
 .case-study #infographics .asset-grid>figure{min-width:0;width:100%;margin:0;grid-column:auto}
 .case-study #infographics .asset-grid>figure img{display:block;width:100%;height:auto}
 .case-study #infographics .asset-grid figcaption{font-size:10px;line-height:1.5;overflow-wrap:anywhere}
}

@media(max-width:760px){
 .wicked-case #glow .asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}
 .wicked-case #glow .asset-grid>figure{min-width:0;width:100%;margin:0}
 .wicked-case #glow .asset-grid img{display:block;width:100%;height:auto}
 .wicked-case #glow .asset-grid figcaption{font-size:9px;line-height:1.5;overflow-wrap:anywhere}
}

/* Keep the longer hero copy readable and its decorative star clear of text. */
.hero .hero-finale{display:inline-flex;align-items:center;gap:.22em;vertical-align:baseline}
.hero .hero-finale .asterisk{position:static;display:inline-flex;flex:0 0 auto;font-size:clamp(36px,6vw,86px);letter-spacing:0;line-height:1}
.hero-bottom>p{max-width:650px}

.campaign-case-summary{padding:64px 0 72px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.campaign-case-summary .section-head{margin-bottom:18px}
.summary-project-name{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 36px}
.summary-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin:0;padding:0 0 40px;border-bottom:1px solid var(--line)}
.summary-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:9px}
.summary-facts dd{margin:0;font-size:18px;line-height:1.5}
.summary-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:40px}
.summary-story h3{font-size:20px;font-weight:500;letter-spacing:-.4px;margin:0 0 16px}
.summary-story p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}
@media(max-width:760px){.campaign-case-summary{padding:40px 0 44px}.summary-project-name{font-size:13px;margin-bottom:28px}.summary-facts{gap:24px 20px;padding-bottom:28px}.summary-facts dd{font-size:14px}.summary-story{grid-template-columns:1fr;gap:28px;padding-top:28px}.summary-story h3{font-size:19px;margin-bottom:10px}.summary-story p{font-size:14px}}

/* imPRESS relaunch case study */
.image-wrap.impress-relaunch{background:#e6ffd0}
.image-wrap.impress-relaunch img{object-fit:cover;object-position:center}
.relaunch-card-status{display:inline-block;color:var(--muted);font-size:11px;margin-left:4px}
.relaunch-status{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:25px 0 0;line-height:1.6}
.relaunch-status>span{width:7px;height:7px;border-radius:50%;background:#80b14b;flex-shrink:0}
.relaunch-hero{background:transparent}
.relaunch-hero img{width:100%;height:auto;display:block}
.relaunch-device-pair{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:center;gap:4%;margin:40px 0 10px}
.relaunch-device-pair>figure{min-width:0;margin:0}
.relaunch-device-pair figcaption,.relaunch-direction figcaption,.relaunch-details figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:15px}
.relaunch-device-pair .portfolio-iphone{max-width:300px}
.relaunch-device-pair .macbook-screen,.relaunch-device-pair .iphone-screen{overscroll-behavior:contain;scrollbar-width:thin}
.relaunch-device-pair .iphone-safari{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relaunch-direction{display:grid;grid-template-columns:1.4fr 1fr;gap:6%;align-items:center;margin-top:35px}
.relaunch-direction>figure{margin:0;min-width:0}.relaunch-direction img,.relaunch-details img{display:block;width:100%;height:auto}
.relaunch-direction-copy h3{font-size:clamp(28px,3.5vw,50px);line-height:1.15;letter-spacing:-1.5px;font-weight:400;margin:22px 0}
.relaunch-direction-copy>p:last-child{font-size:15px;line-height:1.8;color:var(--muted);max-width:390px}
.relaunch-details{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:center;padding:48px 0 64px;border-bottom:1px solid var(--line)}
.relaunch-details figure{min-width:0;margin:0}
.relaunch-subhead{font-size:24px;font-weight:400;margin:52px 0 20px;letter-spacing:-.5px}
.relaunch-closing{padding:70px 0 40px;max-width:800px}.relaunch-closing>p:nth-child(2){font-size:clamp(25px,3vw,40px);line-height:1.35;letter-spacing:-1px;margin:22px 0 35px}
@media(max-width:760px){
 .relaunch-device-pair{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:12px;align-items:center;margin-top:28px}
 .relaunch-device-pair .portfolio-iphone{border-width:3px;border-radius:18px}
 .relaunch-device-pair .macbook-lid{border-radius:7px 7px 3px 3px}
 .relaunch-device-pair figcaption{font-size:9px;line-height:1.5;margin-top:10px}
 .relaunch-direction,.relaunch-details{grid-template-columns:1fr;gap:28px}
 .relaunch-direction-copy h3{font-size:32px}
 .relaunch-direction-copy>p:last-child{font-size:14px}
 .relaunch-subhead{font-size:21px;margin-top:36px}
 .relaunch-status{font-size:11px}
 .relaunch-closing{padding-top:44px}
}
.impress-relaunch-case .portfolio-iphone .iphone-status{display:none}

.prototype-intro{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.prototype-intro .asset-description{margin:0;max-width:650px}
.prototype-open{display:inline-flex;align-items:center;gap:10px;font-size:13px;padding:12px 18px;border:1px solid var(--ink);border-radius:30px}
.prototype-open:hover{background:var(--accent)}
.figma-prototype-frame{display:block;width:100%;height:850px;height:min(850px,85vh);min-height:520px;border:1px solid var(--line);background:#fff}
.prototype-note{font-size:11px;line-height:1.6;color:var(--muted);margin-top:14px}
@media(max-width:760px){.prototype-intro{gap:16px}.prototype-open{font-size:12px}.figma-prototype-frame{height:75vh;min-height:460px}}

/* Present the prototype at a fixed 1440px desktop viewport, scaled with its laptop. */
.prototype-laptop{width:100%;max-width:1540px;margin:36px auto 0}
.prototype-laptop-lid{padding:18px 16px 0;border:2px solid #777d78;border-radius:24px 24px 7px 7px;background:#202220;box-shadow:0 18px 40px #1c211d14}
.prototype-camera{width:5px;height:5px;margin:-9px auto 10px;border-radius:50%;background:#555b55}
.prototype-screen{position:relative;width:100%;max-width:1440px;aspect-ratio:1440/900;margin:0 auto;overflow:hidden;background:#fff}
.prototype-screen .figma-prototype-frame{position:absolute;inset:0;width:1440px;height:900px;min-height:0;max-width:none;border:0;transform-origin:top left}
.prototype-wordmark{text-align:center;font-size:9px;line-height:24px;color:#aeb3ad;letter-spacing:.2px}
.prototype-laptop-base{height:19px;background:linear-gradient(#d4d8d3,#9b9f9a);border-radius:2px 2px 50% 50%;margin:0 -1.5%;position:relative;box-shadow:0 8px 12px #1c211d12}
.prototype-laptop-base>span{display:block;width:15%;height:6px;margin:auto;background:#90968f;border-radius:0 0 9px 9px}
@media(max-width:760px){.prototype-laptop{margin-top:24px}.prototype-laptop-lid{padding:12px 6px 0;border-width:1px;border-radius:12px 12px 4px 4px}.prototype-camera{width:3px;height:3px;margin:-7px auto 7px}.prototype-wordmark{font-size:6px;line-height:15px}.prototype-laptop-base{height:10px}.prototype-laptop-base>span{height:3px}}

/* Switch to a proportional 440px mobile prototype and handset below 761px. */
@media(max-width:760px){
 .relaunch-prototype .prototype-laptop{max-width:342px;width:min(100%,calc(34.2vh + 12px));width:min(100%,calc(34.2svh + 12px));margin:28px auto 0}
 .relaunch-prototype .prototype-laptop-lid{padding:0;border:6px solid #222824;border-radius:36px;overflow:hidden;box-shadow:0 18px 38px #1c211d20}
 .relaunch-prototype .prototype-screen{max-width:440px;aspect-ratio:440/952;border-radius:29px;background:#fff}
 .relaunch-prototype .prototype-camera,.relaunch-prototype .prototype-wordmark,.relaunch-prototype .prototype-laptop-base{display:none}
}

/* A fair, equally scaled comparison of the live site and pre-launch redesign. */
.transformation-lead{font-size:clamp(26px,3.1vw,44px);line-height:1.2;letter-spacing:-1px;margin:25px 0 20px;max-width:800px}
.transformation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:42px 0 0}
.transformation-card{margin:0;min-width:0}.transformation-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:16px;flex-wrap:wrap}.transformation-label>span{font-size:18px;letter-spacing:-.3px}.transformation-label small{font-size:10px;color:var(--muted);line-height:1.6}
.comparison-browser{border:1px solid #cfd4ca;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 25px #1c211d08}
.comparison-toolbar{height:32px;display:flex;gap:5px;align-items:center;padding:0 12px;background:#eef0eb;border-bottom:1px solid #d9ded4}.comparison-toolbar i{width:6px;height:6px;border-radius:50%;background:#bdc4b6}.comparison-toolbar>span{font-size:9px;color:#67705f;letter-spacing:.2px;margin:auto;transform:translateX(-14px)}
.comparison-viewport{aspect-ratio:1440/972;overflow:hidden}.comparison-viewport img{display:block;width:100%;height:100%;object-fit:contain}
.transformation-card figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:18px;max-width:560px}
.comparison-source{display:inline-flex;align-items:center;gap:8px;font-size:12px;border-bottom:1px solid var(--ink);padding:0 0 5px;margin-top:16px}
.comparison-prototype-link{display:block}.comparison-prototype-link:hover{opacity:1}.comparison-prototype-link:hover .comparison-browser{border-color:#7d9c5d}.comparison-cta{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.comparison-context{font-size:11px;line-height:1.7;color:var(--muted);max-width:850px;margin:28px 0 0}
.changes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}.changes-grid article{min-width:0}.changes-grid figure{margin:0 0 26px;aspect-ratio:1.25;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:5px}.changes-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.changes-grid article:nth-child(3) img{object-fit:contain}.changes-grid .eyebrow{font-size:9px;letter-spacing:1px}.changes-grid h3{font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.6px;margin:15px 0}.changes-grid article>p:last-child{font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){.transformation-grid{grid-template-columns:1fr;gap:36px;margin-top:30px}.transformation-label>span{font-size:17px}.transformation-card figcaption{font-size:12px}.changes-grid{grid-template-columns:1fr;gap:35px}.changes-grid figure{aspect-ratio:1.4;margin-bottom:20px}.changes-grid h3{font-size:24px}.comparison-context{font-size:10px}}

.comparison-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.comparison-scroll img{height:auto;object-fit:initial}
.comparison-scroll:focus-visible{outline:2px solid #80b14b;outline-offset:-2px}
.ux-change-list{margin-top:36px}
.ux-change-row{padding:34px 0;border-top:1px solid var(--line)}
.ux-change-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:baseline;margin-bottom:24px}
.ux-change-heading .eyebrow{font-size:10px;color:var(--muted);margin:0}
.ux-change-heading h3{font-size:clamp(23px,2.3vw,32px);line-height:1.25;font-weight:400;letter-spacing:-.7px;margin:0}
.ux-change-comparison{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ux-change-comparison>div{padding:22px 24px;border-left:2px solid #d3d8cc}
.ux-change-comparison .ux-after{border-left-color:#92b86c;background:#edf3e5}
.ux-column-label{font-size:10px;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted)}
.ux-change-comparison p{font-size:14px;line-height:1.85;margin:12px 0 0}
.ux-design-intent{display:flex;gap:16px;align-items:baseline;font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0 0}
.ux-design-intent>span{white-space:nowrap;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:1px}
@media(max-width:760px){.ux-change-heading{grid-template-columns:1fr;gap:12px}.ux-change-comparison{grid-template-columns:1fr;gap:14px}.ux-change-comparison>div{padding:18px}.ux-change-comparison p{font-size:13px}.ux-change-row{padding:28px 0}.ux-design-intent{display:block}.ux-design-intent>span{display:block;margin-bottom:5px}}

/* Concise before-and-after summary */
.change-summary-stack{max-width:940px;margin:28px auto 0}.change-summary{padding:28px 36px}.change-summary-before{background:#efefec}.change-summary-after{background:#e0edda}.change-summary .eyebrow{margin:0 0 16px;font-size:11px}.change-summary ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;margin:0;padding-left:17px}.change-summary li{font-size:14px;line-height:1.6;padding-left:3px}.change-summary-arrow{display:flex;justify-content:center;padding:15px}.change-summary-arrow svg{width:20px;height:34px}@media(max-width:600px){.change-summary{padding:22px}.change-summary ul{grid-template-columns:1fr;gap:9px}.change-summary li{font-size:13px}.change-summary-arrow{padding:12px}.change-summary-stack{margin-top:22px}}

/* Impress relaunch: retail asset showcase */
.relaunch-retail .retail-figure{margin:0;min-width:0}.retail-figure figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px;color:#53574f}.retail-frame img{display:block;width:100%;height:auto}.retail-pair,.retail-store-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.retail-scroll{height:540px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid #deded7;border-radius:12px;background:white}.retail-scroll:focus-visible{outline:2px solid #547349;outline-offset:4px}.retail-infographics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.retail-infographics img{border-radius:4px}.retail-subtitle{font-size:clamp(23px,3vw,34px);font-weight:400;margin:52px 0 14px}.retail-hint{font-size:11px;color:#74776d;margin-top:14px}.retail-more{margin-top:28px;border-top:1px solid #d9dcd2;border-bottom:1px solid #d9dcd2}.retail-more summary{cursor:pointer;list-style:none;padding:20px 0;font-size:13px;display:flex;justify-content:space-between;gap:20px}.retail-more summary::-webkit-details-marker{display:none}.retail-more summary:after{content:'+';font-size:20px;line-height:1}.retail-more[open] summary:after{content:'−'}.retail-more-body{padding-bottom:28px}.retail-product-pair{max-width:620px;margin-left:auto;margin-right:auto}.retail-mobile-pair{max-width:760px;margin:28px auto 0;gap:36px}.retail-phone{height:auto;aspect-ratio:440/952;border:7px solid #1c1c1c;border-radius:32px;scrollbar-width:none}.retail-phone::-webkit-scrollbar{display:none}.retail-aplus{display:grid;grid-template-columns:minmax(0,52704fr) minmax(0,36114fr);gap:32px;align-items:start;margin-top:20px}.retail-target{max-width:940px;margin:28px auto 0}.impress-relaunch-case .asset-navigation{flex-wrap:wrap}
@media(max-width:760px){.retail-store-grid{grid-template-columns:1fr;gap:28px}.retail-scroll{height:400px}.retail-phone{height:auto;border-width:4px;border-radius:22px}.retail-pair,.retail-mobile-pair{gap:14px}.retail-infographics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.retail-figure figcaption{font-size:9px;letter-spacing:.04em;line-height:1.5;margin-bottom:9px}.retail-subtitle{margin-top:34px}.retail-aplus{gap:14px}.retail-pair:not(.retail-mobile-pair) .retail-scroll{height:300px}.retail-more summary{font-size:12px}}

/* Product storytelling carousel */
.infographic-carousel{margin-top:30px}.infographic-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.infographic-track::-webkit-scrollbar{display:none}.infographic-track .retail-figure{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.infographic-track img{border-radius:4px}.infographic-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.infographic-count{font-size:11px;color:#6e7468;letter-spacing:.06em}.infographic-buttons{display:flex;align-items:center;gap:10px}.infographic-buttons button{cursor:pointer;background:transparent;border:1px solid #cdd3c7;color:inherit;display:flex;align-items:center;justify-content:center;height:42px;width:42px;border-radius:50%;padding:0}.infographic-buttons button:hover{background:#e0edda}.infographic-buttons button:focus-visible,.infographic-track:focus-visible{outline:2px solid #547349;outline-offset:4px}.infographic-buttons svg{width:23px;height:23px}.infographic-prev svg{transform:rotate(180deg)}.infographic-buttons .infographic-toggle{width:auto;border:0;border-radius:0;padding:0 12px;font-size:11px}.infographic-track .retail-figure img{aspect-ratio:1;object-fit:contain}@media(max-width:760px){.infographic-track{gap:12px}.infographic-track .retail-figure{flex-basis:calc((100% - 12px)/2)}.infographic-controls{margin-top:16px}.infographic-buttons button{width:38px;height:38px}}

/* Shorter TikTok banner devices fit both supplied screenshots without blank space. */
#tiktok-shop .retail-phone{aspect-ratio:440/800;height:auto;background:#000}

/* Emphasize the thumbnail redesign as a before-to-after progression. */
.retail-product-pair{max-width:1000px;grid-template-columns:minmax(0,.82fr) 56px minmax(0,1fr);align-items:center;gap:28px}.retail-product-pair figcaption{display:flex;flex-direction:column;gap:9px;line-height:1.4}.retail-product-pair figcaption strong{font-size:17px;letter-spacing:.02em;font-weight:500;color:var(--ink)}.retail-product-pair figure:last-child figcaption strong{color:#275d47}.retail-product-pair figcaption span{font-size:10px}.thumbnail-change-arrow{color:#275d47}.thumbnail-change-arrow svg{display:block;width:100%;height:auto}@media(max-width:760px){.retail-product-pair{grid-template-columns:minmax(0,.82fr) 24px minmax(0,1fr);gap:10px}.retail-product-pair figcaption strong{font-size:14px}.retail-product-pair figcaption span{font-size:8px;letter-spacing:0}}

/* Keep the desktop thumbnail comparison compact. */
@media(min-width:761px){.retail-product-pair{max-width:620px;grid-template-columns:minmax(0,.82fr) 36px minmax(0,1fr);gap:20px}}
