/* D.M. Cases / Road edition. Metal, print, stage light. */
:root{--steel:linear-gradient(110deg,#f8fbff,#96a6b5 32%,#f4f8fb 47%,#9baebf 69%,#edf3f9)}
.hero-title{display:block;width:74%;max-width:none;font-size:0;line-height:0}
.hero-lettering{width:100%;height:auto;max-width:none;overflow:visible}
.hero-topic{margin-bottom:21px;max-width:85%;font-size:10px;letter-spacing:.12em}
.hero-heading{top:43px}
.hero-print{margin:0;border:7px solid #eef1f4;box-shadow:2px 3px 0 #fafcff,9px 17px 35px #20304740;animation-timing-function:cubic-bezier(.2,.85,.25,1.15)}
.hero-print.one{width:22%;right:5.2%;top:95px;height:245px}
.hero-print.two{right:3.3%;top:450px;width:15%;height:180px;z-index:11}
.hero-editorial{top:375px;padding:23px;border:1px solid #ffffff24}
.hero-editorial:after{content:'HANDLE WITH CARE';display:block;font:8px var(--mono);letter-spacing:.14em;border-top:1px solid #ffffff50;margin-top:15px;padding-top:12px}
.hero-paper{top:373px;left:29%;right:9%;height:325px;background-color:#f0f2f4;box-shadow:1px 2px 0 #fff,12px 17px 0 #003dc919,0 20px 40px #213a562b}
.case-model{position:relative;isolation:isolate;--explode:1}
.case-drawing{display:block;width:100%;height:100%;overflow:visible}
.case-model .case-plane{transform-box:view-box;transform-origin:50% 50%;transition:transform 1.1s cubic-bezier(.22,.8,.18,1),filter .35s;will-change:transform}
.case-model .case-plane.lid{transform:translateY(calc(var(--explode)*-190px))}
.case-model .case-plane.foam{transform:translateY(calc(var(--explode)*-95px));opacity:1}
.case-model .case-plane.body{transform:none}
.case-model.is-closed{--explode:0}
.case-model.is-closed .foam{opacity:0;transition:transform 1s,opacity .4s .5s}
.case-model [data-active-layer]{filter:brightness(1.18)}
.case-model .latch-lever{transform-box:fill-box;transform-origin:50% 70%;transform:rotate(-40deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.case-model.is-closed .latch-lever{transform:rotate(0);transition-delay:.7s}
.metal-light{animation:metal-sweep 3.2s 1s both;transform:translateX(-750px)}
.case-model:hover .metal-light{animation:metal-sweep 2.2s both}
@keyframes metal-sweep{from{transform:translateX(-750px)}to{transform:translateX(1050px)}}
.hero .case-model{top:250px;left:25%;right:1%;height:510px;transform:rotate(-6deg) translate(calc(var(--px)*9px),calc(var(--py)*5px));transform-origin:center;--explode:.5}
.technical-art .case-model{position:absolute;inset:-50px -5% -15px;transform:rotate(4deg);--explode:1}
.technical-art{height:530px}
.technical-section{position:relative;border-block:10px solid #b3c0cc;border-image:linear-gradient(#f5f9fc,#8498a9 30%,#edf3f8 45%,#8498a9 70%,#dee6ee) 1}
.technical-section:before,.technical-section:after{content:'';position:absolute;left:0;right:0;height:9px;pointer-events:none;background:radial-gradient(circle at center,#112334 0 1px,#e5eef5 1.5px 3px,#637b8d 3.2px 4px,transparent 4.2px) 0 0/130px 9px;top:-9px}
.technical-section:after{top:auto;bottom:-9px}
.road-type{font:900 1.07em/.85 var(--display)!important;letter-spacing:-.025em!important;font-style:normal!important;text-transform:uppercase!important;display:inline-block;transform:rotate(-3deg);margin-top:.08em}
.intro-copy .road-type{color:#c4cfdd}
.technical-copy .road-type{background:var(--steel);background-clip:text;-webkit-background-clip:text;color:transparent;padding-right:.08em}
.intro-section{background:radial-gradient(ellipse at 85% 30%,#263b5144,transparent 55%),#0d151d}
.intro-photo{border:8px solid #e1e6ec;box-shadow:0 35px 60px #0007;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.intro-photo:hover{transform:rotate(0)}
.intro-photo figcaption{padding:13px;color:#35475d;background:#e1e6ec;margin:0;font-size:9px}
.intro-stamp{border:2px solid #c3d3e8;box-shadow:4px 4px 0 #0004;letter-spacing:.035em}
.project-feature button{box-shadow:0 12px 25px #14253b15;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.project-feature button:hover{transform:translateY(-5px) rotate(-.5deg)}
.image-tag{border:1px solid #d2e0f7;letter-spacing:.09em}
.button{box-shadow:inset 0 1px 0 #ffffff35,0 3px 0 #002985;transition:transform .18s,box-shadow .18s,background .18s}
.button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff25,0 1px 0 #002985}
.button.outline,.button.light{box-shadow:none}
.brand-main{letter-spacing:-.035em}
.prose p,.prose li{font-size:14px;line-height:1.95}
.prose h2{margin-top:62px;letter-spacing:-.015em}
.page-hero .display{text-wrap:balance}
.footer-journal{border-top:1px solid #afc4dd30;padding:22px 0;margin-bottom:25px}
.footer-journal summary{cursor:pointer;font:11px var(--mono);letter-spacing:.07em;list-style:none;text-transform:uppercase;display:flex;justify-content:space-between;gap:25px}
.footer-journal summary::-webkit-details-marker{display:none}.footer-journal summary>span{font-size:22px;line-height:.7}.footer-journal[open] summary>span{transform:rotate(45deg)}
.footer-journal>div{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;margin-top:25px}
.footer-journal>div>a{display:flex;justify-content:space-between;gap:25px;font:700 21px/1.25 var(--display);text-decoration:none;border-top:1px solid #afc4dd22;padding:16px 0}
/* A stage interlude built from actual archive photography. */
.stage-section{position:relative;isolation:isolate;overflow:hidden;background:#1b3149;color:#e1e8f0;padding:115px 5% 100px;min-height:940px;--stage-progress:0}
.stage-archive{position:absolute;inset:0;z-index:-3;pointer-events:none;opacity:.16;mask-image:linear-gradient(90deg,transparent 0%,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 70%)}
.stage-archive img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.3)}
.stage-section:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#142a41 2%,transparent 45%,#36516b40),radial-gradient(ellipse at 75% 70%,#003ed052,transparent 52%)}
.stage-beam{position:absolute;top:-100px;right:8%;width:47%;height:120%;z-index:-1;background:linear-gradient(110deg,transparent 31%,#c6dcff08 31.2%,#c6dcff0d 45%,transparent 45.2%);transform:rotate(calc(-9deg + var(--stage-progress)*5deg));transform-origin:50% 0;pointer-events:none}
.stage-topline,.stage-bottomline{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font:9px/1.6 var(--mono);letter-spacing:.13em;color:#94a9c2;text-transform:uppercase;z-index:5}
.stage-topline{top:38px;padding-bottom:20px;border-bottom:1px solid #b9cce12b}.stage-bottomline{bottom:30px;padding-top:20px;border-top:1px solid #b9cce12b}.stage-bottomline a{text-decoration:none;color:#d6e2f0}
.stage-copy{width:50%;max-width:650px;position:relative;z-index:3}
.stage-copy .eyebrow{color:#8cafff;font-size:9px;letter-spacing:.1em;max-width:380px;margin-bottom:30px}
.stage-copy h2{margin:0 0 33px;max-width:520px;width:95%;transform:rotate(-2deg)}
.stage-copy h2 img{width:100%;height:auto;max-height:450px;object-fit:contain;object-position:left center}
.stage-copy>p{font-size:14px;line-height:1.9;color:#aebed0;max-width:425px}
.stage-actions{display:flex;flex-direction:column;align-items:start;gap:15px;margin-top:28px}
.stage-actions .text-link{font-size:11px;color:#b9cce1}
.stage-product{position:absolute;right:-4%;top:22%;width:62%;margin:0;z-index:2;filter:drop-shadow(0 20px 30px #0008);transform:translateY(calc(var(--stage-progress)*-20px)) rotate(-3deg)}
.stage-cutout{width:100%;height:auto;clip-path:polygon(15.3% 14%,53.7% 8.9%,84.6% 13.7%,80.6% 50%,78.6% 58%,76.6% 65.2%,51.6% 91%,48% 96.5%,43.7% 95.4%,19.6% 75.7%,16.4% 57%,15.1% 15%);filter:grayscale(1) contrast(1.07) brightness(.95)}
.stage-floor{position:absolute;bottom:7%;left:18%;width:68%;height:8%;background:#003ed073;filter:blur(25px);transform:rotate(-20deg);z-index:-1}
.stage-product figcaption{display:flex;justify-content:space-between;gap:30px;margin:15px 16% 0;font:8px/1.7 var(--mono);letter-spacing:.1em;color:#829dbd;transform:rotate(3deg)}
/* The small contact case is a fully labelled, keyboard-operable disclosure. */
.whatsapp-case{position:fixed;left:22px;bottom:21px;z-index:75}
.whatsapp-trigger{position:relative;display:flex;align-items:center;gap:11px;width:184px;height:70px;padding:13px 16px 8px;border:4px solid #afbdca;border-radius:3px;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px),linear-gradient(120deg,#152c47,#0c1727);color:#e9f1f9;box-shadow:inset 0 0 0 1px #ffffff70,0 6px 0 #4a6076,0 15px 28px #08111c60;transition:transform .25s,box-shadow .25s;transform:rotate(-2deg)}
.whatsapp-trigger:hover{transform:rotate(0) translateY(-2px)}.whatsapp-trigger:active{transform:translateY(2px)}
.whatsapp-trigger>svg{width:30px;height:30px;flex-shrink:0;margin-top:3px}
.wa-label{display:flex;flex-direction:column;align-items:start;gap:3px;margin-top:6px}.wa-label strong{font:700 20px/1 var(--display);letter-spacing:.035em}.wa-label small{font:8px/1.4 var(--mono);white-space:nowrap}
.wa-handle{position:absolute;width:42px;height:11px;border:3px solid #b6c6d4;border-bottom:0;top:-14px;left:calc(50% - 21px);border-radius:6px 6px 0 0;box-shadow:inset 0 0 0 1px #36485a}
.wa-lid{position:absolute;top:-4px;left:-4px;right:-4px;height:20px;border:4px solid #b6c4d1;border-bottom-width:3px;background:#1b3456;transform-origin:50% 0;transition:transform .5s cubic-bezier(.2,.8,.2,1),background .3s;z-index:1;box-shadow:inset 0 1px #f5faff}
.wa-corner{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--steel);border:1px solid #73899b;z-index:3}.wa-corner.tl{top:-7px;left:-7px}.wa-corner.tr{top:-7px;right:-7px}.wa-corner.bl{bottom:-7px;left:-7px}.wa-corner.br{bottom:-7px;right:-7px}
.wa-lock{position:absolute;width:11px;height:20px;top:4px;z-index:4;background:var(--steel);border:1px solid #6d8296;border-radius:2px;box-shadow:0 1px 2px #0007;transition:rotate .35s;transform-origin:50% 70%}.wa-lock:after{content:'';position:absolute;inset:4px 3px;border:1px solid #40586e;background:#eef4fa}.wa-lock.left{left:23px}.wa-lock.right{right:23px}
.whatsapp-case.is-open .wa-lid{transform:perspective(170px) rotateX(-65deg) translateY(-6px);background:#003ed0}.whatsapp-case.is-open .wa-lock{rotate:-38deg}
.whatsapp-panel{position:absolute;bottom:105px;left:0;width:335px;max-height:calc(100svh - 150px);overflow:auto;padding:28px;background:#e5ebf2;color:#13263d;border:1px solid #f6f9ff;box-shadow:7px 7px 0 #003ed0,0 20px 60px #0005}
.whatsapp-panel .eyebrow{font-size:9px;margin-bottom:18px}.whatsapp-panel h2{font:900 42px/.95 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px}.whatsapp-panel p{font-size:12px;line-height:1.8}.whatsapp-panel .button{width:100%;font-size:13px;gap:20px;box-shadow:none}.whatsapp-panel .button:after{display:none}.whatsapp-phone{display:block;margin:18px 0;font:700 24px var(--display);color:var(--blue);text-decoration:none}.whatsapp-note{font-size:10px!important;color:#4b6077}.whatsapp-panel .text-link{font-size:11px;gap:12px}.whatsapp-close{position:absolute;top:10px;right:10px;width:33px;height:33px;border:1px solid #a9b8c8;background:transparent;font-size:24px;line-height:1}
@media(min-width:1600px){.hero .case-model{top:290px;height:550px}.hero-editorial{top:420px}.hero-paper{top:430px}.hero-print.two{top:490px}.hero-title{width:70%}}
@media(max-width:1100px){.hero .case-model{top:245px;left:22%;right:-1%;height:480px;transform:rotate(-6deg)}.hero-editorial{top:345px;width:24%;padding:19px}.hero-title{width:76%}.hero-print.one{top:95px;height:200px;width:23%}.hero-print.two{top:445px;height:165px;width:14%}.hero-paper{top:360px;height:310px}.technical-art{height:480px}.technical-art .case-model{inset:-35px -4% -20px;transform:rotate(3deg)}.stage-section{min-height:850px;padding-top:115px}.stage-copy{width:51%}.stage-product{top:25%;width:65%;right:-8%}.stage-copy h2 img{max-height:350px}.stage-copy>p{font-size:13px;max-width:360px}}
@media(max-width:800px){.hero-topic{max-width:68%;font-size:9px}.hero-title{width:80%}.hero-editorial{top:300px;padding:15px;width:27%}.hero-editorial:after{font-size:7px;margin-top:10px;padding-top:8px}.hero-print.one{top:110px;width:23%;height:175px}.hero-paper{top:335px;left:30%;right:5%;height:295px}.hero .case-model{top:260px;left:22%;right:-3%;height:420px}.hero-bottom{padding-top:20px}.technical-art{height:500px}.technical-art .case-model{inset:-30px 3% -10px}.stage-section{min-height:850px;padding:115px 5% 100px}.stage-copy{width:57%}.stage-copy h2{width:90%}.stage-copy>p{max-width:310px}.stage-product{right:-15%;top:35%;width:68%;opacity:.85}.stage-actions .button{max-width:360px;font-size:12px;gap:20px}.stage-topline,.stage-bottomline{font-size:8px;letter-spacing:.08em}.stage-bottomline>span:last-child{display:none}}
@media(max-width:620px){.hero{height:1070px;min-height:1070px}.hero-heading{top:32px}.hero-topic{max-width:100%;font-size:8px;line-height:1.9;margin-bottom:25px}.hero-title{width:100%;max-width:100%}.hero-lettering{height:auto}.hero-editorial{top:270px;width:43%;left:22px;padding:14px}.hero-editorial:after{font-size:6px}.hero-print.one{top:277px;width:38%;height:202px;right:20px}.hero-paper{top:535px;left:8%;right:8%;height:320px}.hero .case-model{top:493px;left:-8%;right:-7%;height:380px;transform:rotate(-5deg)}.hero-bottom{bottom:26px}.hero-bottom>p{max-width:260px}.hero-print.two{display:none}.technical-art{height:405px}.technical-art .case-model{inset:-12px -15% -12px;transform:rotate(3deg)}.technical-caption{bottom:2px;max-width:210px}.technical-copy .road-type{font-size:.93em!important}.intro-photo{margin-right:4px;border-width:5px}.intro-photo figcaption{font-size:8px;padding:10px}.intro-stamp{right:-12px}.prose p,.prose li{font-size:14px;line-height:1.9}.stage-section{padding:93px 22px 100px;min-height:0}.stage-topline{left:22px;right:22px;top:27px;font-size:7px;gap:15px}.stage-topline>span:last-child{max-width:115px;text-align:right}.stage-copy{width:100%;max-width:none}.stage-copy .eyebrow{font-size:8px;max-width:230px}.stage-copy h2{width:90%;max-width:360px;margin-bottom:28px}.stage-copy h2 img{max-height:365px}.stage-copy>p{max-width:34ch;font-size:13px}.stage-actions{gap:15px}.stage-actions .button{font-size:11px;gap:18px;padding:16px;min-height:52px}.stage-product{position:relative;top:auto;right:auto;width:120%;margin:15px -10% 30px;transform:rotate(-3deg);opacity:1}.stage-product figcaption{font-size:6px;gap:20px}.stage-bottomline{left:22px;right:22px;bottom:25px;font-size:7px;align-items:start;gap:20px}.stage-bottomline>span:first-child{max-width:80px}.stage-bottomline a{max-width:170px;text-align:right}.stage-archive{opacity:.1;mask-image:linear-gradient(0deg,#000,transparent);-webkit-mask-image:linear-gradient(0deg,#000,transparent)}.footer-journal>div{grid-template-columns:1fr}.footer-journal summary{font-size:9px;letter-spacing:.02em}.footer-journal>div>a{font-size:20px}.whatsapp-case{left:15px;bottom:18px}.whatsapp-trigger{width:158px;height:61px;padding:12px 11px 5px;gap:8px}.whatsapp-trigger>svg{width:25px;height:25px}.wa-label strong{font-size:18px}.wa-label small{font-size:7px}.wa-lock.left{left:19px}.wa-lock.right{right:19px}.whatsapp-panel{width:min(335px,calc(100vw - 36px));bottom:91px;padding:24px;max-height:calc(100svh - 135px)}.whatsapp-panel h2{font-size:37px}.whatsapp-panel p{font-size:12px}.whatsapp-panel .eyebrow{font-size:8px}.whatsapp-panel .button{font-size:12px}}
@media(max-width:360px){.hero{height:1070px;min-height:1070px}.hero-editorial{top:250px;padding:12px;width:44%}.hero-print.one{top:258px;height:210px;right:16px;width:37%}.hero .case-model{top:505px;height:330px;left:-12%;right:-12%}.hero-paper{top:535px;height:295px}.hero-editorial p{font-size:9px}.stage-copy h2 img{max-height:290px}.technical-art{height:350px}.technical-art .case-model{inset:-5px -16%}.stage-product figcaption{font-size:6px}}
@media(prefers-reduced-motion:reduce){.metal-light{animation:none;transform:translateX(0)}.stage-product,.stage-beam{transform:none!important}.case-model .case-plane{will-change:auto}}
.motion-off .metal-light{animation:none;transform:translateX(0)}.motion-off .stage-product,.motion-off .stage-beam{transform:none!important}
@media print{.whatsapp-case,.stage-section{display:none!important}.footer-journal{display:none}}

.alpen-credit{font:10px var(--mono);color:#b0c2d8;text-decoration:none;white-space:nowrap}
.language-switch{display:flex;align-items:center;gap:9px;flex-shrink:0;margin-left:5px}
.language-switch a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 4px;min-width:40px;min-height:52px;text-decoration:none;border-bottom:2px solid transparent;font:8px/1 var(--mono);color:#334960}
.language-switch img{width:28px;height:19px;object-fit:cover;border:1px solid #20334833;box-shadow:0 2px 3px #14243822}
.language-switch [aria-current="page"]{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}
.site-header{gap:18px}.header-nav{gap:22px;margin-left:auto}
.hero-film{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-film video{width:100%;height:100%;object-fit:cover;object-position:65% center}.film-wash{position:absolute;inset:0;background:linear-gradient(90deg,#e1e8f0ef 0%,#e1e8f0b8 35%,#e1e8f019 76%),linear-gradient(0deg,#d5dfecef,transparent 26%)}
.film-controls{position:absolute;right:5%;bottom:145px;z-index:20;display:flex;gap:8px}.film-controls button{min-height:44px;padding:10px 14px;color:#102943;background:#f2f6fbd9;border:1px solid #6d87a2;font:10px var(--mono)}
.hero.has-film .hero-paper,.hero.has-film>.case-model,.hero.has-film .hero-print{display:none}.hero.has-film .hero-title{width:67%}.hero.has-film .hero-editorial{background:#003ed0e8;top:415px}
.hero-bottom>p{padding-left:170px;max-width:400px}
@media(min-width:1600px){.hero-bottom>p{padding-left:150px}}
@media(max-width:1100px){.header-nav{gap:14px;font-size:11px}.language-switch{gap:4px}.language-switch a{min-width:35px;font-size:7px}.language-switch img{width:25px;height:17px}.hero-bottom>p{padding-left:160px;font-size:10px}}
@media(max-width:900px){.site-header{gap:13px}.site-header>.brand{order:1}.language-switch{order:2;margin-left:auto}.menu-toggle{order:3;display:block;min-height:44px}.header-nav{display:none;position:absolute;left:0;right:0;top:90px;background:var(--silver);padding:15px 5% 25px;box-shadow:0 20px 20px #10234422;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header-nav.is-open{display:flex}.header-nav>a{padding:14px 0;font-size:14px;border-bottom:1px solid var(--line)}.header-nav .nav-cta{margin-top:15px;text-align:center}}
@media(max-width:800px){.header-nav{top:78px}.hero-bottom>p{padding-left:0;max-width:100%;padding-right:150px}.hero.has-film .hero-editorial{top:340px}.film-controls{bottom:200px}}
@media(max-width:620px){.site-header{padding-inline:16px;gap:8px}.language-switch{gap:2px;margin-left:auto}.language-switch a{min-width:30px;padding:6px 2px;font-size:6.5px;min-height:48px;gap:5px}.language-switch img{width:23px;height:16px}.brand-main{font-size:28px}.menu-toggle{font-size:10px;padding:9px 8px}.hero-bottom>p{padding:0;max-width:100%}.hero.has-film .hero-title{width:100%}.hero.has-film .hero-editorial{top:310px;width:70%;max-width:290px}.hero.has-film{height:850px;min-height:850px}.film-wash{background:linear-gradient(180deg,#e1e8f0ea 0%,#e1e8f050 37%,#e1e8f000 61%,#d5dfecef 85%)}.hero-film video{object-position:68% center}.film-controls{bottom:185px;left:22px;right:auto}.film-controls button{font-size:9px}.footer-bottom{padding-bottom:85px}}
@media(max-width:360px){.brand-main{font-size:26px}.site-header{gap:5px}.language-switch a{min-width:28px}.language-switch img{width:22px;height:15px}.menu-toggle{font-size:9px;padding-inline:7px}}

/* Photography review: complete originals, no polygon masks, no simulated assembly. */
.hero-print{height:auto!important;transform:none!important;animation:none;box-shadow:0 14px 28px #1a30492b}
.hero-print img{height:auto!important;aspect-ratio:auto;object-fit:contain;filter:grayscale(1);transform:none!important}
.hero-print .photo-tag{position:static;display:block;margin:0;background:#e9eef4;color:#27476c;padding:10px 12px;font-size:8px;letter-spacing:.04em}
.hero-title{width:69%}.hero-print.one{top:345px;right:5%;width:57%;max-width:800px}.hero-print.two{top:80px;right:5%;width:20%}
.hero-editorial{top:370px;width:25%;transform:none}.hero-paper{display:none}
.intro-photo{transform:none!important;box-shadow:0 12px 25px #0004}.intro-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
.intro-photo:before,.intro-stamp{display:none}.intro-photo figcaption{margin:0}
.project-feature img,.gallery-item img,.page-tile img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
.project-feature button{width:100%;transform:none!important;background:#e1e6ec}
.project-feature:nth-child(even){margin-top:55px}.image-tag{position:static;display:block;width:100%;text-align:left;background:#dce4ee;color:#153e77;padding:12px;border:0}
.case-line img,.journal-row img{object-fit:contain!important;background:#dce3eb}
.stage-archive,.stage-floor,.stage-beam{display:none}.stage-product{width:47%;right:5%;top:26%;filter:none;transform:none!important;border:7px solid #dce4ee;background:#dce4ee;box-shadow:0 22px 45px #0003}
.stage-cutout{clip-path:none!important;filter:grayscale(1);width:100%;height:auto;object-fit:contain}
.stage-product figcaption{margin:0;transform:none;background:#dce4ee;color:#314d6e;padding:14px;font-size:8px;gap:15px}
.technical-art{height:auto;align-self:center}.hardware-study{margin:0;border:7px solid #dce5ef;background:#dce5ef;box-shadow:0 15px 30px #001c782f}.hardware-study img{width:100%;height:auto;object-fit:contain;filter:grayscale(1)}.hardware-study figcaption{padding:14px;color:#28415f;font:10px/1.7 var(--mono)}
.whatsapp-trigger{transform:none!important}.wa-lock{display:none!important}
@media(min-width:1600px){.hero-print.one{top:395px;width:49%;max-width:790px}.hero-editorial{top:420px}}
@media(max-width:1100px){.hero{height:900px;min-height:900px}.hero-print.one{top:360px;width:58%}.hero-editorial{top:370px;width:26%}.hero-print.two{top:90px;width:21%}.hero-title{width:73%}}
@media(max-width:800px){.hero{height:940px;min-height:940px}.hero-title{width:76%}.hero-print.one{top:365px;width:61%;right:5%}.hero-print.two{top:125px;width:21%}.hero-editorial{top:365px;width:26%;padding:13px}.hero-editorial p{font-size:9px}.hero-bottom{bottom:30px}.stage-product{position:relative;top:auto;right:auto;width:90%;margin:50px 0 20px}.stage-copy{width:100%;max-width:600px}.stage-copy>p{max-width:480px}.stage-copy h2{max-width:400px}.stage-section{min-height:0}.project-feature:nth-child(even){margin-top:25px}}
@media(max-width:620px){.hero{height:1100px;min-height:1100px}.hero-title{width:100%}.hero-print.one{top:465px;left:22px;right:22px;width:auto}.hero-print.two{display:none}.hero-editorial{top:255px;left:22px;width:calc(100% - 44px);max-width:none;padding:15px}.hero-editorial .mono{font-size:8px}.hero-editorial p{font-size:10px;margin-top:8px}.hero-editorial:after{display:none}.hero-bottom{bottom:28px}.hero-bottom>p{font-size:10px}.hero-print .photo-tag{font-size:7px;padding:9px}.stage-product{width:100%;margin:40px 0 20px;border-width:5px}.stage-product figcaption{font-size:7px;padding:10px;display:block}.stage-product figcaption span{display:block}.technical-art{height:auto;margin-top:25px}.hardware-study{border-width:5px}.hardware-study figcaption{font-size:9px;padding:10px}.project-feature:nth-child(even){margin-top:0}.gallery-item img{height:auto!important}}
@media(max-width:360px){.hero{height:1060px;min-height:1060px}.hero-editorial{top:230px}.hero-print.one{top:450px}.hero-bottom{bottom:26px}}
/* Eight seconds on stage, then an animated planning sheet. No product render. */
.hero.has-film{height:850px;min-height:850px;background:#dce5ef}
.hero-film{background:#e5ecf3}.hero-film video{filter:brightness(1.22) contrast(.94) saturate(.8);transition:opacity 1.5s ease;object-position:center}
.film-wash{background:linear-gradient(90deg,#e3ebf4f5 0%,#e3ebf4cc 28%,#e3ebf44d 58%,#e3ebf414 100%),linear-gradient(0deg,#dce5eff5,transparent 35%);transition:opacity 1.5s}
.hero.has-film .hero-title{width:62%;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.hero.has-film .hero-editorial{top:380px;width:26%;max-width:320px;transition:top 1s}
.hero-sketch{position:absolute;inset:0;background:#eaf0f6;opacity:0;transition:opacity 1.5s ease;pointer-events:none}
.hero-sketch:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#003ed006 0 1px,transparent 1px 4px)}
.sketch-blueprint{position:absolute;right:2%;top:190px;width:61%;height:480px;overflow:visible;transform:rotate(-2deg)}
.sketch-guides path{fill:none;stroke:#003ed0;stroke-width:1;stroke-opacity:.18;stroke-dasharray:8 8}
.sketch-ink{fill:none;stroke:#003ed0;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.draw-line{stroke-dasharray:1;stroke-dashoffset:1}.draw-line.inside{stroke:#54708f;stroke-width:1.5}.draw-line.measure{stroke-width:1.2}
.sketch-labels{font:12px var(--mono);letter-spacing:.06em;fill:#244f8b;opacity:0}
.sketch-process{position:absolute;right:7%;bottom:210px;display:flex;gap:30px;justify-content:space-between;width:48%;font:9px var(--mono);letter-spacing:.06em;color:#315780;opacity:0}
.sketch-process span{padding-top:13px;border-top:1px solid #003ed04a}
.hero.is-plan .hero-sketch{opacity:1}.hero.is-plan .hero-film video,.hero.is-plan .film-wash{opacity:0}
.hero.is-plan .hero-title{width:45%}.hero.is-plan .draw-line{animation:blueprint-stroke 2.1s .8s ease-in-out both}.hero.is-plan .draw-line.top{animation-delay:2s}.hero.is-plan .draw-line.side{animation-delay:2.8s}.hero.is-plan .draw-line.frame{animation-delay:3.5s;animation-duration:2.3s}.hero.is-plan .draw-line.inside{animation-delay:4.6s;animation-duration:2.3s}.hero.is-plan .draw-line.measure{animation-delay:6.4s;animation-duration:1.2s}.hero.is-plan .sketch-labels,.hero.is-plan .sketch-process{animation:blueprint-labels 1s 7s both}
.hero.is-paused .draw-line,.hero.is-paused .sketch-labels,.hero.is-paused .sketch-process{animation-play-state:paused}
.hero.sketch-still .draw-line{animation:none;stroke-dashoffset:0}.hero.sketch-still .sketch-labels,.hero.sketch-still .sketch-process{animation:none;opacity:1}
@keyframes blueprint-stroke{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes blueprint-labels{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
.film-caption{position:absolute;right:5%;bottom:157px;display:flex;align-items:end;gap:20px;flex-direction:column;color:#183c67;font:9px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}.film-caption>span:first-child{font-size:12px}.film-caption>span:last-child{font-size:8px;opacity:.7}
.film-controls{bottom:95px;right:5%;display:none;z-index:21}.js .film-controls{display:flex}.film-controls button{background:#eef4f9ef;font-size:10px;min-height:44px;border-color:#7894b1}
.hero.has-film .hero-bottom{padding-bottom:0;background:none}.hero.has-film .hero-bottom>p{padding-left:0;padding-right:60px;max-width:340px}
@media(min-width:1600px){.hero.has-film{height:900px;min-height:900px}.hero.has-film .hero-editorial{top:430px}.sketch-blueprint{top:230px}}
@media(max-width:1100px){.hero.has-film{height:850px;min-height:850px}.hero.has-film .hero-editorial{top:360px;width:28%;padding:18px}.hero.has-film .hero-title{width:66%}.hero.is-plan .hero-title{width:47%}.sketch-blueprint{right:-1%;top:235px;width:64%;height:410px}.sketch-process{bottom:210px;font-size:8px;gap:15px;width:51%}.hero.has-film .hero-bottom>p{padding-left:170px;padding-right:0;max-width:400px}}
@media(max-width:800px){.hero.has-film{height:900px;min-height:900px}.hero.has-film .hero-title{width:80%}.hero.is-plan .hero-title{width:62%}.hero.has-film .hero-editorial{top:350px;width:29%;padding:14px}.sketch-blueprint{top:300px;width:66%;right:-3%;height:350px}.sketch-process{bottom:220px;width:52%}.film-caption{bottom:200px}.film-controls{bottom:142px;left:auto}.hero.has-film .hero-bottom>p{padding-left:0;padding-right:190px;max-width:none}}
@media(max-width:620px){.hero.has-film{height:1010px;min-height:1010px}.hero.has-film .hero-title,.hero.is-plan .hero-title{width:100%}.hero.has-film .hero-editorial{top:285px;width:calc(100% - 44px);max-width:none;padding:15px}.hero.has-film .hero-editorial p{font-size:10px}.hero.has-film .hero-editorial:after{display:none}.hero-film video{object-fit:cover;object-position:61% center}.film-wash{background:linear-gradient(0deg,#dce5ef 0%,#dce5efe8 13%,#dce5ef30 38%,#e3ebf4b0 69%,#e3ebf4ea 100%)}.sketch-blueprint{top:465px;right:-3%;width:106%;height:285px;transform:none}.sketch-process{bottom:270px;width:auto;left:22px;right:22px;gap:15px;font-size:7px}.film-caption{bottom:215px;left:22px;right:22px;align-items:start;gap:5px}.film-caption>span:first-child{font-size:10px}.film-caption>span:last-child{font-size:7px}.film-controls{bottom:152px;left:22px;right:auto}.film-controls button{font-size:9px}.hero.has-film .hero-bottom{bottom:26px;gap:10px;padding-top:13px}.hero.has-film .hero-bottom>p{padding:0;font-size:9px;max-width:none}.hero.is-plan .hero-editorial{top:285px}}
@media(max-width:360px){.hero.has-film{height:960px;min-height:960px}.hero.has-film .hero-editorial,.hero.is-plan .hero-editorial{top:240px}.sketch-blueprint{top:405px;height:270px}.sketch-process{bottom:270px}}
@media(prefers-reduced-motion:reduce){.hero-sketch,.film-wash,.hero-film video{transition:none}.draw-line{stroke-dashoffset:0}.sketch-labels,.sketch-process{opacity:1}}
/* Preserve the complete stage composition on every screen. */
.hero-film video{object-fit:contain;object-position:center;background:#dce5ef}
@media(max-width:620px){.hero-film video{object-fit:contain;object-position:center 57%}}
/* The home masthead shares the stage image with the navigation. */
body:has(.hero.has-film)>.site-header{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,#e5edf3ed,#e5edf3ac 72%,#e5edf322);border-bottom-color:#4e6d8b22}
.hero.has-film .hero-heading{top:130px}
.hero-film video{position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:16/9;object-position:center top}
.hero.has-film .film-wash{background:linear-gradient(90deg,#e3ebf4dd 0%,#e3ebf4a3 28%,#e3ebf42e 58%,#e3ebf400 100%),linear-gradient(0deg,#dce5ef 0%,#dce5ef22 30%,transparent 55%)}
.hero.has-film .hero-editorial{top:430px}
@media(max-width:1100px){.hero.has-film .hero-editorial{top:420px}}
@media(max-width:800px){.hero.has-film .hero-heading{top:120px}.hero.has-film .hero-editorial{top:420px}}
@media(max-width:620px){.hero.has-film .hero-heading{top:205px}.hero.has-film .hero-editorial,.hero.is-plan .hero-editorial{top:440px}.hero.has-film{height:1160px;min-height:1160px}.hero-film video{height:auto;object-fit:contain}.sketch-blueprint{top:610px}.sketch-process{bottom:270px}}
@media(max-width:360px){.hero.has-film .hero-heading{top:185px}.hero.has-film .hero-editorial,.hero.is-plan .hero-editorial{top:385px}.hero.has-film{height:1090px;min-height:1090px}.sketch-blueprint{top:550px}}
/* Keep the introduction below the real heading height at every viewport. */
.hero.has-film{display:flex;flex-direction:column;align-items:flex-start;height:auto;min-height:max(850px,56.25vw);padding:130px 5% 190px}
.hero.has-film .hero-heading{position:relative;inset:auto;width:100%;flex:none}
.hero.has-film .hero-editorial{position:relative;inset:auto;top:auto;left:auto;width:30%;max-width:380px;margin:34px 0 0;padding:17px 0 0;background:none;color:#1c344e;border:0;border-top:1px solid #425f7b66;box-shadow:none;transform:none;transition:none;flex:none}
.hero.has-film .hero-editorial:before{display:none}
.hero.has-film .hero-editorial:after{color:#42566b;border-color:#425f7b40}
.hero.has-film .hero-editorial .mono{color:#344d68}
.hero.has-film .hero-editorial p{font-size:13px;line-height:1.75;max-width:35ch}
.hero.has-film .hero-bottom{border-top:0}
.film-controls button{display:flex;align-items:center;gap:10px;background:#f0f4f8;border-color:#728aa2}
.film-controls button:before{content:'Ⅱ';font:700 15px/1 Arial,sans-serif}
.hero.is-paused .film-controls button:before{content:'▶';font-size:12px}
@media(max-width:800px){.hero.has-film{padding-top:120px;min-height:920px}.hero.has-film .hero-editorial{width:34%;margin-top:28px}.hero.has-film .hero-editorial p{font-size:12px}}
@media(max-width:620px){.hero.has-film{padding:205px 22px 535px;min-height:0}.hero.has-film .hero-editorial{width:100%;max-width:none;margin-top:27px;padding-top:14px}.hero.has-film .hero-editorial p{font-size:12px}.hero.has-film .hero-editorial .mono{font-size:9px}.hero.has-film .sketch-blueprint{top:auto;bottom:305px;height:220px}.hero.has-film .film-caption{bottom:215px}.hero.has-film .film-controls{bottom:152px}}
@media(max-width:360px){.hero.has-film{padding-top:185px}}
/* Film-poster composition: quiet information above, headline at the film's foot. */
.hero.has-film{display:block;height:auto;min-height:0;padding:0}
.hero-stage{position:relative;height:56.25vw;isolation:isolate}
.hero.has-film .hero-film{inset:0;width:100%;height:100%}
.hero.has-film .hero-film video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain}
.hero.has-film .hero-topic{position:absolute;inset:120px 5% auto;max-width:none;margin:0;z-index:5;color:#284360;font:400 10px/2 var(--mono);letter-spacing:.08em}
.hero.has-film .hero-topic>span{font-size:9px;letter-spacing:.04em}
.hero.has-film .hero-heading{position:absolute;inset:auto 5% 28px;width:auto;margin:0}
.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:62%;max-width:none;margin-inline:auto;transition:none}
.hero.has-film .hero-bottom{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1.3fr;align-items:end;gap:60px;padding:28px 5% 38px;border:0;background:#e2e9f1;color:#243e58}
.hero-intro-copy{max-width:43ch}.hero-intro-copy>.mono{font-size:9px;letter-spacing:.07em}.hero-intro-copy p{font-size:13px;line-height:1.75;margin:12px 0 0}
.hero-brief-wrap{min-width:0}.hero.has-film .film-controls{position:static;justify-content:flex-end;margin-bottom:18px}
.hero.has-film .film-caption{inset:auto 5% 28px auto;max-width:25%;font-size:9px;gap:8px}
.hero.has-film .sketch-blueprint{inset:0 2% auto auto;width:54%;height:63%;transform:none}
.hero.has-film .sketch-process,.hero.has-film .sketch-labels text:last-child{display:none}
.gig-strip{flex-wrap:wrap;justify-content:center;gap:14px 25px;font-size:clamp(17px,2vw,31px)}
@media(max-width:1100px){.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:66%}.hero.has-film .hero-topic{top:110px;font-size:9px}.hero.has-film .hero-topic>span{font-size:8px}.hero.has-film .hero-bottom{gap:35px}}
@media(max-width:800px){.hero.has-film .hero-topic{top:105px;font-size:8px}.hero.has-film .hero-topic>span{font-size:7px}.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:70%}.hero.has-film .hero-heading{bottom:22px}.hero.has-film .film-caption{bottom:22px;font-size:7px}.film-caption>span:first-child{font-size:9px}.film-caption>span:last-child{font-size:6px}.hero-intro-copy p{font-size:12px}}
@media(max-width:620px){.hero-stage{height:auto;padding:calc(56.25vw + 25px) 22px 24px}.hero.has-film .hero-film{height:56.25vw}.hero.has-film .hero-topic{position:relative;inset:auto;margin:0 0 20px;font-size:7.5px;line-height:1.9;letter-spacing:.035em}.hero.has-film .hero-topic>span{font-size:7px}.hero.has-film .hero-heading{position:relative;inset:auto;width:100%;margin:0}.hero.has-film .hero-title,.hero.has-film.is-plan .hero-title{width:100%}.hero.has-film .hero-bottom{grid-template-columns:1fr;gap:22px;padding:24px 22px 28px}.hero.has-film .film-caption{display:none}.hero.has-film .sketch-blueprint{inset:0;width:100%;height:100%}.hero.has-film .film-controls{justify-content:flex-start}.hero-brief-wrap .brief-entry input{font-size:16px}.gig-strip{gap:12px 15px;font-size:18px}.gig-strip .star{display:none}}
.hero-brief-wrap .brief-entry input{font-size:16px}
@media(max-width:620px){.case-line{grid-template-columns:minmax(0,1fr) 70px;gap:10px 14px}.case-line .line-number{grid-column:1;grid-row:1}.case-line h3{grid-column:1;grid-row:2;min-width:0;max-width:100%;hyphens:auto;overflow-wrap:anywhere;font-size:32px}.case-line img{grid-column:2;grid-row:1/3;align-self:center}.case-line .arrow,.case-line p{display:none}}
@media(max-width:620px){.whatsapp-case.intro-in-view{visibility:hidden;pointer-events:none}}
/* Drago's traditional wordmark: Times New Roman, Bold Italic, vector outlines. */
.brand-main{display:block;width:185px;line-height:1;flex:none}
.brand-main img{display:block;width:100%;height:auto;max-width:none}
.site-header .brand{min-height:44px}
.site-footer .brand-main{width:240px;max-width:100%}
@media(max-width:1200px){.site-header .brand-sub{display:none}}
@media(max-width:620px){.site-header .brand-main{width:135px}}
@media(max-width:360px){.site-header .brand-main{width:112px}}

/* Live website check, separate from credits and contact links. */
.footer-check{display:flex;justify-content:flex-end;padding:24px 0 8px}.checkfrei-badge{display:inline-flex;align-items:center;min-height:44px;border-radius:5px}.checkfrei-badge img{display:block;width:191px;height:36px;max-width:100%;object-fit:contain}.checkfrei-badge:focus-visible{outline:2px solid #fff;outline-offset:5px}@media(max-width:620px){.footer-check{justify-content:center;padding:24px 0 12px}}

/* Keep existing image geometry with native format selection. */
picture.compatible-image{display:contents}

dialog:not([open]){display:none}dialog.compatible-dialog[open]{display:block;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;z-index:1001;max-height:calc(100vh - 40px);overflow:auto}.compatible-dialog-open{overflow:hidden}.compatible-dialog-open:before{content:"";position:fixed;inset:0;background:#06131dcc;z-index:1000}

/* Legacy Safari needs hidden before the newer clip value. */
html,body{overflow-x:hidden;overflow-x:clip}

picture.compatible-image>source{display:none!important}

/* Grid items must shrink to the viewport instead of taking a diagram's intrinsic width. */
.content-layout>*,.form-shell>*,.tool-layout>*{min-width:0}
.prose{min-width:0;width:100%;overflow-wrap:anywhere}
.prose figure,.prose section,.prose .table-wrap{min-width:0;max-width:100%}
.journal-diagram-art{min-width:0;max-width:100%}
@media(max-width:800px){.content-layout{grid-template-columns:minmax(0,1fr)}.content-aside{min-width:0}}

/* Long display words must not dictate a mobile grid track's minimum width. */
.intro-grid>*{min-width:0}
@media(max-width:800px){.intro-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
 .intro-copy .display{font-size:clamp(42px,14vw,65px)}
 .intro-copy .road-type{max-width:100%}
 .journal-page .whatsapp-trigger{width:64px;height:53px;padding:9px;justify-content:center}
 .journal-page .whatsapp-trigger .wa-label{display:none}
 .journal-page .whatsapp-trigger>svg{width:27px;height:27px}
}
