/* Phone landscape only: no changes to portrait or mouse-driven desktop.
   Keep the touch narrative. Hero and projects retain full-size centred scenes
   with additional reading scroll; shorter content uses the available width. */
@media (orientation:landscape) and (max-width:1100px) and (max-height:600px) and (pointer:coarse){
 .hero25{--header-height:48px;min-height:0;max-height:none}
 .hero25-header{height:48px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));gap:20px}
 .hero25-brand{font-size:12px;letter-spacing:.32em}
 .hero25-header-contact{display:none}
 .hero25-menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:none;color:#fff6e8;cursor:pointer;margin:0}
 .hero25-menu-button span{display:block;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s}
 .hero25-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}
 .portfolio25-header-shell .hero25-nav{display:none}
 .portfolio25-header-shell .hero25-nav[data-open=true]{display:grid;grid-template-columns:1fr 1fr;align-content:center;align-items:center;column-gap:7vw;row-gap:8px;padding:12px max(7vw,env(safe-area-inset-left)) 20px;min-height:0}
 .portfolio25-header-shell .hero25-nav a{font-size:clamp(27px,min(5.3vw,12svh),48px);padding:clamp(9px,4svh,18px) 0;border-bottom:1px solid #b9d0dc40}
 .portfolio25-header-shell .hero25-nav a:last-child{border-bottom:1px solid #b9d0dc40}
 .hero25-copy{left:50%;width:90%;max-width:900px;transform:translateX(-50%);text-align:center;opacity:calc(1 - var(--hero-exit))}
 .hero25-title{font-size:clamp(46px,7vw,68px);line-height:.91;letter-spacing:-.045em}
 .hero25-desktop-lines{display:block}.hero25-mobile-lines{display:none}
 .hero25-description{width:94%;max-width:620px;white-space:normal;font-size:16px;line-height:1.35;margin:19px auto 0}
 .hero25-actions{flex-direction:row;justify-content:center;gap:28px;margin-top:21px;flex-wrap:wrap}
 .hero25-contact{min-width:148px;min-height:46px;font-size:16px;padding:12px 24px}
 .hero25-projects{font-size:15px;padding:12px 0 7px}
 .hero25-space{left:0;right:0;top:48px;bottom:0;overflow:hidden;contain:layout paint;opacity:calc(1 - var(--hero-exit));transform:none;mask-image:none}
 .hero25-browser{padding:12px 4px 4px}
 .hero25-atmosphere{opacity:calc(1 - var(--hero-exit))}

 .rec25{--rec25-entry:0;--rec25-visual-opacity:0;--rec25-title-scale:1;--rec25-title-y:0px;--rec25-title-top:34%;--rec25-problem-opacity:0;--rec25-solution-opacity:0;height:var(--rec25-story-height,100svh)}
 .rec25-stage{height:100svh;min-height:0;max-height:none;position:sticky;top:0}
 .rec25-copy{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;transform:none;pointer-events:none}
 .rec25-title{position:absolute;left:var(--rec25-title-left,28%);top:var(--rec25-title-top);width:44%;margin:0;text-align:left;font-size:clamp(33px,5.3vw,55px);line-height:1;transform:translateY(var(--rec25-title-y)) scale(var(--rec25-title-scale));transform-origin:left top;opacity:var(--rec25-title-opacity)}
 .rec25-title .rec25-line{display:block;white-space:nowrap}.rec25-desktop-break{display:none}
 .rec25-paragraphs{position:absolute;left:4%;top:max(53%,calc(19% + clamp(66px,10.6vw,110px) + 22px));width:39%;height:36%;max-width:420px}
 .rec25-paragraphs p{position:absolute;inset:0;font-size:clamp(15px,2vw,18px);line-height:1.4;text-align:left;margin:0!important;letter-spacing:0}
 .rec25-problem{opacity:var(--rec25-problem-opacity);filter:blur(var(--rec25-problem-blur,0px))}
 .rec25-solution{opacity:var(--rec25-solution-opacity);filter:blur(var(--rec25-solution-blur,0px))}
 .rec25-scene{left:46%;right:0;top:0;bottom:0;width:auto;height:100%;transform:none;overflow:clip}
 .rec25-flow{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 95%,transparent)}
 .rec25-browser{width:min(62svh,76%);left:calc(50% - min(31svh,38%));top:34%;transform:rotateY(-5deg);transform-origin:center;padding:4px 5px 6px;border-radius:9px}
 .rec25-browser::after{left:30%;top:-2px;width:40%;height:3px;background:linear-gradient(90deg,transparent,#b5eaff 48%,#38a9ff 54%,transparent);box-shadow:0 -3px 18px #279cff,0 -9px 30px #0069ef}
 .rec25-absorption{left:46%;top:-2px;width:8%;height:3px}
 .rec25-protagonist .rec25-card{width:275px;height:143px;padding:17px}
 .rec25-protagonist .rec25-card h3{font-size:23px}
 .rec25-protagonist .rec25-card p,.rec25-protagonist .rec25-card-lines span{font-size:11px}
 .rec25-protagonist .rec25-card-content{min-width:135px}
 .rec25-protagonist .rec25-card-photo{width:89px}
 .rec25-mobile-expand{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:8;border:0;background:none;border-radius:9px}

 .demo25{height:var(--demo-h);margin-top:0}
 .portfolio25.is-story #demonstrations-root .demo25{height:var(--demo-h)}
 .demo25-stage{height:var(--demo-h);position:relative;overflow:hidden}
 .demo25-content{top:0;height:100%}
 .demo25-title{left:5%;top:6%;width:90%;text-align:center;font-size:clamp(46px,7vw,68px);line-height:1;transform:translateY(var(--title-y,0px)) scale(var(--title-scale,1));transform-origin:center;opacity:var(--demo-visibility,1);z-index:5}
 .demo25-stack{left:0;right:0;top:0;bottom:0;overflow:hidden;clip-path:none;mask-image:none;pointer-events:none;opacity:var(--art,1)}
 .demo25-stack .demo25-card{left:50%;top:51%;width:min(78vw,620px);padding:6px;transform:translate(-50%,-50%) translateX(calc(var(--slot) * min(78vw,620px) * .93)) perspective(1200px) rotateY(-6deg) rotateZ(-.8deg) scale(var(--card-scale,1));touch-action:pan-y;pointer-events:var(--demo-interaction,auto)}
 .demo25-card .demo25-chrome{height:14px;padding:0 3px 3px;gap:3px}
 .demo25-card .demo25-chrome i{width:3px;height:3px}
 .demo25-card .demo25-address{font-size:5px}
 .demo25-shot{height:56cqw}
 .demo25-selector{left:50%;top:80%;bottom:auto;width:90%;max-width:560px;height:auto;display:flex;flex-direction:column;gap:0;transform:translateX(-50%);opacity:var(--art,1);z-index:5;pointer-events:var(--demo-interaction,auto)}
 .demo25-direction,.demo25-plaque,.demo25-explore{display:none}
 .demo25-categories{width:100%;height:39px;position:relative}
 .demo25-categories .demo25-category{inset:0;width:100%;padding:0 4px;justify-content:center;text-align:center;white-space:normal;font:400 clamp(26px,4vw,36px)/1.12 'Times New Roman',serif;color:#fff6e8}
 .demo25-category:before{display:none}
 .demo25-pagination{display:flex;align-items:center;justify-content:center;gap:2px}
 .demo25-pagination button{display:grid;place-items:center;width:44px;height:36px;padding:0;border:0;background:transparent;cursor:pointer}
 .demo25-pagination span{display:block;width:25px;height:2px;border-radius:2px;background:#66758380;transition:background .2s,box-shadow .2s}
 .demo25-pagination button[aria-current=true] span{background:#4ee3fa;box-shadow:0 0 7px #20ccef45}
 .demo25-hint{display:flex;position:absolute;left:0;width:100%;top:calc(80% + 90px);bottom:auto;justify-content:center;padding:0 8px;opacity:var(--hint,0);pointer-events:none}
 .demo25-hint span:first-child{font:300 13px/1.35 'Helvetica Neue Local',Arial,sans-serif}
 .demo25-hint-inner{animation:demo25-breathe 1.8s ease-in-out infinite}
 .demo25.has-swiped .demo25-hint-inner{animation:none;opacity:1}
 .demo25-field canvas{top:0;mask-image:none}

 .completion25-panel{padding:64px max(28px,env(safe-area-inset-left)) 32px}
 .completion25 h2{font-size:clamp(44px,6.5vw,66px);line-height:1;margin:0 0 24px}
 .price25{padding-left:0;padding-right:0}
 .price25 h2{margin-left:28px;margin-bottom:24px}
 .price25-slider{display:none}
 .price25-hint{display:flex;position:absolute;right:28px;top:92px;align-items:center;gap:15px;font-size:13px;margin:0}
 .price25-hint span{width:26px;height:1px;background:#bfc5bd;position:relative}
 .price25-hint span:after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border:solid #bfc5bd;border-width:1px 1px 0 0;transform:rotate(45deg)}
 .price25-hint span:first-child{transform:rotate(180deg)}
 .price25-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:28px;padding:0 28px;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
 .price25-plan,.price25-guide{flex:0 0 max(305px,calc((100vw - 74px)/2));padding:20px 22px;border:0;border-left:1px solid #2584a859;border-right:1px solid #2584a859;scroll-snap-align:start}
 .price25-plan h3,.price25-guide h3{font-size:28px;min-height:2.2em}
 .price25-price{font-size:46px;margin:18px 0 24px!important}
 .price25-price:before{margin-bottom:20px;width:39px}
 .price25-plan li,.price25-more,.price25-guide p{font-size:16px;line-height:1.48}
 .price25-plan ul{gap:12px}
 .price25-guide{align-items:center}.price25-guide h3{margin-bottom:24px}.price25-guide h3:after{display:none}
 .price25-guide .finish25-cta{margin:0}
 .price25-notes{margin:24px 28px 0;padding-top:20px;font-size:14px}.price25-notes p+p{font-size:13px}
 .price25-tooltip{max-height:calc(100dvh - 24px);overflow:auto}
 .finish25-pulse{animation:finish25-hint 1.8s ease-in-out infinite}.finish25-pulse.is-used{animation:none;opacity:1}

 .method25{display:grid;grid-template-columns:.85fr 1.15fr;column-gap:5vw;align-content:center;min-height:var(--finish-h);text-align:left;padding:70px 6vw 26px}
 .method25 h2{grid-column:1;grid-row:1/4;align-self:center;margin:0;white-space:normal;font-size:clamp(44px,6.6vw,64px)}
 .method25-line{grid-column:2;grid-row:1;width:92%;grid-template-columns:repeat(3,1fr);justify-items:center;margin:0 auto 26px}
 .method25-dot{width:44px;height:44px;top:-22px;border:0;padding:0;background:radial-gradient(circle,#e2f5f6 0 3px,transparent 4px);box-shadow:none;cursor:pointer;animation:none}
 .method25-dot:before{left:7px;top:22px;width:30px;height:1px;background:linear-gradient(90deg,transparent,#dcf7ff,transparent);filter:none;opacity:var(--star,0);animation:none}
 .method25-dot:after{left:22px;top:5px;width:1px;height:36px;background:linear-gradient(transparent,#84e9ff,transparent);filter:none;opacity:var(--star,0);transform:scaleY(var(--star,0));animation:none}
 .method25-steps{grid-column:2;grid-row:2;display:block;position:relative;height:154px;touch-action:pan-y;cursor:grab}
 .method25-step{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none}
 .method25-step.is-current{opacity:1;visibility:visible;pointer-events:auto}
 .method25-step h3{font-size:clamp(27px,3.8vw,36px);line-height:1.06;max-width:none;margin:0}
 .method25-step p{font-size:17px;line-height:1.4;max-width:none;margin:16px 0 0}
 .method25-hint{grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:15px;margin:8px 0 0;font-size:13px}
 .method25-hint span{display:block;height:1px;width:55px;background:#c2dee5;position:relative}
 .method25-hint span:after{content:'';position:absolute;right:0;top:-4px;width:8px;height:8px;border:solid #c2dee5;border-width:1px 1px 0 0;transform:rotate(45deg)}
 .faq25{left:0;margin-left:0;max-width:none}
 .faq25 h2{font-size:clamp(40px,6vw,60px);margin:0 0 22px}
 .faq25-question{font-size:24px;padding:18px 0;min-height:56px}
 .faq25-answer{font-size:16px;line-height:1.55;padding:0 36px 20px 0}
 .contact25{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-content:center;min-height:var(--finish-h);text-align:left;padding:68px 7vw 35px}
 .contact25 h2{grid-column:1;grid-row:1/3;font-size:clamp(40px,6.2vw,63px);margin:0;align-self:center}
 .contact25 p{grid-column:2;font-size:17px;line-height:1.45;max-width:340px;margin:0 0 22px}
 .contact25 .finish25-cta{grid-column:2;justify-self:start;font-size:18px;min-height:48px;padding:12px 25px}
 .footer25{padding:30px max(28px,env(safe-area-inset-left)) 24px}
 .footer25-main{flex-direction:row;gap:22px}
 .footer25-links{max-width:240px}
 .demo25-dialog{width:96vw;height:96dvh;margin:auto}
 .demo25-dialog-shell{display:grid;grid-template-columns:1fr 230px;grid-template-rows:auto 1fr;gap:8px 14px}
 .demo25-window{grid-column:1;grid-row:1/3;height:100%}
 .demo25-modal-actions{grid-column:2;grid-row:1;flex-direction:column;align-items:flex-start;gap:4px;padding:0}
 .demo25-back,.demo25-open{min-height:44px;font-size:14px;padding:8px 0}
 .demo25-info{grid-column:2;grid-row:2;display:block;overflow:auto;padding:4px;font-size:12px}
 .demo25-info strong,.demo25-info span,.demo25-info p{display:block;margin-bottom:10px}
 .rec25-dialog{max-height:94dvh;overflow:auto}
}
@media (orientation:landscape) and (max-width:1100px) and (max-height:600px) and (pointer:coarse) and (prefers-reduced-motion:reduce){
 .hero25-copy{transform:translateX(-50%)!important}
 .rec25-stage{height:100svh;min-height:420px}
 .rec25-title{top:65px!important;left:4%;transform:none!important}
 .rec25-paragraphs{top:180px;height:auto}
 .rec25-paragraphs p{position:static;opacity:1!important;filter:none!important}
 .rec25-paragraphs p+p{margin-top:15px!important}
 .rec25-protagonist{display:none}
 .demo25-hint-inner,.finish25-pulse{animation:none}
 .finish25-track{margin-top:0}
}
