/* Keep the portrait proportional, with the word just behind the hairline. */
/* Rotating decorations must never enlarge the root scrollable area. Keep
   intentional horizontal scrolling inside the service strip available. */
html,body{overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
.contact-section{overflow: hidden}
@supports(overflow:clip){.contact-section{overflow:clip}}
.fan-stage{overscroll-behavior-x:contain}
.portrait-area{max-width:470px;min-height:0;padding:36px 30px 65px}
.portrait-frame{width:100%;height:auto;aspect-ratio:0.73;border-radius:42% 42% 12px 12px;transform:none;background:#f0ede5}
.portrait-frame img{position:absolute;bottom:-1px;left:0;width:100%;height:auto;max-width:none;object-fit:contain;transform:none}
.portrait-frame .hero-outline{top:36px;left:0;width:100%;font-size:clamp(48px,5.3vw,78px);letter-spacing:-4px;line-height:1;transform:none;-webkit-text-stroke:1.2px #004643}
.hero-brush{inset:45px 20px 62px;border-radius:43% 46% 10% 13%;transform:rotate(-4deg);box-shadow:8px 8px 0 #d8e5d2}
.hero-brush::before{inset:8px}
.hero-stamp{top:65px;right:-3px;width:72px;height:72px;font-size:10px}
.portrait-caption{bottom:10px;right:25px}
.portrait-label{bottom:43px;left:-3px;padding:26px 30px 22px 24px;gap:16px;border-radius:2px 2px 32px 2px;background:linear-gradient(135deg,#ffe75a,#fdd20e 68%,#edc409);transform:rotate(7deg);box-shadow:3px 12px 17px #003d3428;font-size:19px;isolation:isolate}
.portrait-label em{font-size:29px}.portrait-label .asterisk{font-size:38px}
.portrait-label::before{content:"";position:absolute;width:82%;height:28px;top:auto;left:12%;bottom:-5px;border-radius:0 0 55% 35%;background:#003d3433;filter:blur(6px);transform:rotate(-6deg);z-index:-1;box-shadow:none}
.portrait-label::after{content:"";position:absolute;top:auto;left:auto;right:0;bottom:0;width:32px;height:32px;background:linear-gradient(135deg,#b29615 5%,#fff49a 48%,#ffe45a 75%);border-radius:100% 0 0 0;transform:none;box-shadow:-3px -3px 4px #8667001c;z-index:1}
.note-pin{position:absolute;left:46%;top:-7px;width:16px;height:18px;background:linear-gradient(90deg,#b72d1b,#ed6749 45%,#b32c19);border-radius:6px 6px 5px 5px;transform:rotate(-12deg);box-shadow:3px 4px 3px #42201340}
.note-pin::before{content:"";position:absolute;left:-3px;top:-3px;width:22px;height:9px;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#ff9b7d,#d34428 60%)}
.note-pin::after{content:"";position:absolute;left:7px;top:17px;width:2px;height:7px;background:#715549}
.hero-actions{flex-wrap:wrap;row-gap:18px}.nav-contact{white-space:nowrap}

/* Static content is the fallback; motion never gates access to images. */
.motion-ready .reveal,.motion-ready .fan-stage:not(.is-visible) .fan-card{opacity:1;transform:none}
.motion-ready .reveal.is-visible{animation:sectionArrive .55s ease both}
@keyframes sectionArrive{from{opacity:.6;translate:0 12px}to{opacity:1;translate:0 0}}
.campaign-figure{padding-bottom:0}
.billboard-screen{position:absolute;left:21.05%;top:13.6%;width:57.9%;height:40.25%;overflow:hidden;background:#004643;filter:brightness(.94)}
.billboard-screen img,.billboard-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.billboard-screen video{opacity:0;transition:opacity .35s}.billboard-screen.has-frame video{opacity:1}
.reel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;font-size:12px;color:var(--muted)}
#reel-toggle{border:1px solid #00464340;border-radius:24px;padding:8px 15px;background:#fdd20e;color:#004643;font-size:13px;font-weight:800;min-width:115px}
.intro-play{display:block;position:relative;width:100%;padding:0;border:0;background:#004643;text-align:left;color:#004643}
.intro-play-label{position:absolute;bottom:22px;left:22px;right:22px;display:grid;grid-template-columns:42px 1fr;align-items:center;column-gap:12px;border-radius:10px;padding:15px 20px;background:#fdd20e;box-shadow:0 6px 25px #003d3430;font-size:20px;font-weight:800;transition:translate .2s}
.intro-play-label>span{grid-row:span 2;border:1px solid #00464345;border-radius:50%;width:40px;height:40px;display:grid;place-content:center;font-size:16px}
.intro-play-label small{font-size:13px;font-weight:500}.intro-play:hover .intro-play-label{translate:0 -4px}
dialog.intro-modal{max-width:620px}.intro-modal .video-shell{aspect-ratio:9/16;max-height:65vh;margin:auto;width:min(100%,36.5625vh)}

.toolkit{margin-top:80px;padding:40px;border:1px solid #00464325;border-radius:20px;background:#f4f0e5}
.toolkit-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}
.toolkit-heading .eyebrow{font-size:12px;letter-spacing:1.1px;color:#a93b22;margin-bottom:10px}
.toolkit-heading h3{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0}
.toolkit-heading>p{margin:0;color:var(--muted);font-size:15px}
.tool-grid{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding:0;margin:0}
.tool-item{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 8px 18px;border:1px solid #00464315;border-radius:14px;background:#fffdf680;font-size:15px;font-weight:700;transition:transform .25s,box-shadow .25s,border-color .25s}
.tool-item:hover{transform:translateY(-5px);box-shadow:0 10px 22px #00464312;border-color:#00464365}
.tool-icon{position:relative;display:block;overflow:hidden;width:80px;height:80px;flex-shrink:0;border-radius:23%;background:#fff}
.tool-icon img{position:absolute;width:100%;height:100%;max-width:none;object-fit:cover;inset:0}
.tool-claude{background:#d77350}.tool-higgsfield{background:#d3ff20}.tool-flow{background:#000}
.tool-gemini{background:#eeeff9}.tool-gemini img{width:220%;height:220%;left:-60%;top:-40%;clip-path:inset(25% 30% 44% 30%)}
.tool-capcut img{width:164%;height:164%;left:-32%;top:-32%}
.toolkit.is-visible .tool-item{animation:toolArrive .45s ease both;animation-delay:calc(var(--tool)*60ms)}
@keyframes toolArrive{from{opacity:.5;translate:0 10px}to{opacity:1;translate:0 0}}
.benefit-top svg{overflow:visible;transform-origin:center}
.benefit-card:hover .benefit-top svg{animation:benefitGesture .65s ease}
.benefit-card:nth-child(1):hover circle{animation:focusPulse .7s ease;transform-origin:center}
.benefit-card:nth-child(2):hover svg rect:last-of-type{translate:-3px 0;transition:translate .3s}
.benefit-card:nth-child(3):hover svg rect:last-of-type{translate:0 -3px;transition:translate .3s}
@keyframes benefitGesture{50%{transform:translateY(-3px) rotate(-5deg)}100%{transform:none}}
@keyframes focusPulse{50%{transform:scale(1.2)}100%{transform:scale(1)}}
@media(max-width:1050px){.portrait-area{padding:30px 22px 65px}.portrait-frame .hero-outline{font-size:5.1vw;letter-spacing:-3px}.toolkit{padding:30px}.tool-grid{gap:10px}.tool-item{font-size:13px}.tool-icon{width:66px;height:66px}.hero-stamp{width:60px;height:60px;font-size:9px}}
@media(max-width:750px){
 .portrait-area{max-width:410px;padding:32px 20px 70px;margin-top:5px}.portrait-frame{height:auto;aspect-ratio:.73}
 .portrait-frame .hero-outline{font-size:clamp(49px,15.3vw,70px);top:28px;letter-spacing:-3px}
 .hero-brush{inset:42px 12px 67px}.hero-stamp{top:57px;right:-3px;width:58px;height:58px;font-size:8px}
 .portrait-label{bottom:43px;left:0;font-size:16px;padding:20px 25px 18px 20px;gap:12px}.portrait-label em{font-size:24px}.portrait-label .asterisk{font-size:30px}
 .portrait-label::before{left:12%;top:auto;bottom:-5px;width:82%;height:28px}.portrait-label::after{left:auto;top:auto;right:0;bottom:0;height:27px;width:27px}
 .portrait-caption{bottom:10px;right:15px;font-size:11px}.hero-actions{gap:18px}
 .toolkit{margin-top:55px;padding:25px 18px}.toolkit-heading{display:block}.toolkit-heading h3{font-size:28px}.toolkit-heading>p{margin-top:14px;font-size:14px}
 .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-item{padding:18px 5px 15px;gap:12px;font-size:12px}.tool-icon{width:64px;height:64px}
 .intro-play-label{left:15px;right:15px;bottom:15px;padding:12px 15px;font-size:18px}.reel-controls{flex-wrap:wrap}
 .reasons-grid{margin-top:45px}.nav-contact{font-size:12px}.brand{font-size:17px}.site-header{column-gap:10px}
}
@media(max-width:360px){.tool-icon{width:55px;height:55px}.tool-grid{gap:8px}.tool-item{font-size:11px}.site-header .nav-contact{margin-left:auto}.hero-actions .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal,.toolkit.is-visible .tool-item{animation:none;translate:none}.benefit-card:hover .benefit-top svg,.benefit-card:hover circle{animation:none}.tool-item:hover{transform:none}.billboard-screen video{transition:none}}


