:root{--ink:#181816;--paper:#f3f1e9;--orange:#ff5e19;--muted:#a7a79e;--font-body:Arial,Helvetica,sans-serif;--text-body:16px;--text-small:14px;--text-caption:12px;--text-label:11px;--text-secondary:#606058;--text-on-dark:#b6b6ad;--text-footer:#8c8c83;--title-section:clamp(40px,4.6vw,64px);--title-compact:clamp(36px,3.5vw,48px);--title-card:clamp(26px,2.5vw,32px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff25}.wordmark{font-size:31px;letter-spacing:-2px;font-weight:900;position:relative;line-height:1}.wordmark span{display:inline-block;color:var(--orange);transform:skewY(-10deg);margin-left:2px}.wordmark i{font-size:10px;vertical-align:top;margin-left:5px;font-style:normal;letter-spacing:0}nav{display:flex;gap:30px;font-size:var(--text-small);font-weight:400}nav a:hover{color:var(--orange)}.nav-cta{font-size:var(--text-small);border-bottom:1px solid #777;padding:9px 0;font-weight:400}.nav-cta span{margin-left:20px;color:var(--orange)}.hero{color:var(--paper);background:var(--ink);position:relative;min-height:730px;overflow:hidden;padding:78px 4.5% 30px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center}.hero-copy{position:relative;z-index:2;align-self:start}.eyebrow,.section-label{font-size:var(--text-label);letter-spacing:.14em;font-weight:700;line-height:1.5}.eyebrow{display:flex;align-items:center;gap:9px;font-size:var(--text-label);letter-spacing:.14em}.dot{height:7px;width:7px;background:var(--orange);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(74px,8.5vw,133px);line-height:.91;letter-spacing:-.055em;margin:39px 0 32px;font-weight:700}em{font-style:normal;color:var(--orange)}.hero p{font-size:18px;line-height:1.65;color:var(--text-on-dark);margin-bottom:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 22px;border:0;cursor:pointer;font-size:var(--text-small);font-weight:700;transition:transform .2s,background .2s;line-height:1.4}.button:hover{transform:translateY(-3px)}.button span{font-size:22px;line-height:.7}.orange{background:var(--orange);color:var(--ink)}.dark{background:var(--ink);color:var(--paper)}.hero-visual{position:relative;width:117%;margin-left:-13%;margin-top:20px}.hero-visual>img{width:100%;display:block;mix-blend-mode:lighten}.visual-tag{position:absolute;right:5%;top:3%;font-size:var(--text-label);line-height:1.6;letter-spacing:.1em;transform:rotate(7deg);background:var(--paper);color:var(--ink);padding:17px 21px}.visual-tag span{font-size:24px;display:block}.hero-visual small{display:block;color:var(--text-on-dark);text-align:right;font-size:10px;letter-spacing:.1em;margin:8px 10% 0 0;line-height:1.6}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:66px;padding-top:22px;border-top:1px solid #ffffff25;font-size:var(--text-label);letter-spacing:.1em;color:var(--text-on-dark)}.ticker{display:flex;justify-content:space-around;align-items:center;background:var(--orange);padding:23px 2%;font-size:var(--text-small);font-weight:700;letter-spacing:.08em;gap:20px;overflow:hidden;white-space:nowrap}.ticker b{font-size:25px}.section{padding:100px 7%}.section-label{margin-bottom:48px;font-size:var(--text-label)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7%}h2{font-size:var(--title-section);line-height:1.06;letter-spacing:-.045em;font-weight:700;margin-bottom:30px}h2 span{color:var(--text-secondary)}.intro-grid p{max-width:490px;font-size:var(--text-body);line-height:1.65;color:var(--text-secondary);font-weight:400}.intro-grid p.lead{font-size:clamp(20px,2vw,24px);line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.text-link{font-size:var(--text-small);font-weight:700;display:inline-block;border-bottom:1px solid var(--ink);padding:10px 0;margin-top:7px}.text-link span{margin-left:25px}.principle{margin-top:64px;background:#e9e6dc;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:310px}.diagram{height:310px;position:relative;display:flex;align-items:center;justify-content:center;perspective:700px;overflow:hidden}.plane{position:absolute;width:148px;height:158px;top:69px;background:#262621;color:#55564d;font-size:58px;font-weight:900;padding-top:55px;text-align:center;border:1px solid #777;transform-origin:center}.plane.left{left:calc(50% - 145px);transform:skewY(18deg)}.plane.right{left:50%;transform:skewY(-18deg)}.orb{position:absolute;width:121px;height:121px;left:calc(50% - 58px);top:79px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#ffae57,var(--orange) 44%,#a52d05);box-shadow:20px 26px 29px #0005;animation:float 5s ease-in-out infinite}.diagram>span{position:absolute;bottom:28px;font-size:10px;letter-spacing:.08em;line-height:1.5;max-width:85%;text-align:center}.principle-copy{padding:42px 12% 42px 7%}.principle-copy h3{font-size:var(--title-card);letter-spacing:-.035em;line-height:1.15;margin:20px 0;font-weight:700}.principle-copy p{font-size:var(--text-body);line-height:1.65;color:var(--text-secondary);font-weight:400}.services{background:var(--ink);color:var(--paper)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-head h2{margin-bottom:0}.section-head>p{font-size:var(--text-body);line-height:1.65;color:var(--text-on-dark);margin-bottom:4px;font-weight:400}.service-list article{border-top:1px solid #ffffff2a;padding:30px 0;display:grid;grid-template-columns:45px 1fr 1.1fr 26px;gap:25px;align-items:start}.service-list article>span{font-size:var(--text-caption);color:var(--orange);padding-top:7px;font-weight:700;line-height:1.5}.service-list h3{font-size:clamp(24px,2.1vw,28px);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.2}.service-list p{font-size:var(--text-body);color:var(--text-on-dark);line-height:1.65;margin:0;max-width:410px;font-weight:400}.service-list b{font-size:27px;font-weight:normal;color:var(--orange)}.service-note{font-size:var(--text-caption);line-height:1.6;color:var(--text-on-dark);border-top:1px solid #ffffff2a;padding-top:22px;margin:0}.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.use{position:relative;min-height:450px;padding:29px;overflow:hidden}.use-one{background:#dedace}.use-two{background:var(--orange)}.use-three{background:#c9d0bc}.use-num{font-size:var(--text-label);letter-spacing:.14em;font-weight:700}.use h3{font-size:var(--title-card);letter-spacing:-.035em;line-height:1.15;position:relative;margin:220px 0 17px;font-weight:700}.use p{font-size:var(--text-body);line-height:1.65;max-width:265px;position:relative;font-weight:400;color:var(--ink)}.abstract-corner{position:absolute;top:97px;left:50%;transform:translateX(-50%);width:175px;height:155px}.abstract-corner i{position:absolute;top:0;width:88px;height:124px;background:#23231e;transform:skewY(20deg);left:0}.abstract-corner i+i{left:88px;transform:skewY(-20deg)}.abstract-corner b{position:absolute;font-size:130px;left:40px;top:-36px;line-height:1;color:var(--orange);text-shadow:4px 4px #7b2b11}.rings{position:absolute;top:86px;left:50%;width:170px;height:160px;transform:translateX(-50%) rotate(-20deg)}.rings i{position:absolute;width:130px;height:90px;border-radius:50%;border:18px solid #24241e;top:0;left:20px;box-shadow:3px 9px #9b391540}.rings i:nth-child(2){top:36px}.rings i:nth-child(3){top:72px}.burst{position:absolute;top:44px;left:50%;transform:translateX(-50%);font-size:210px;line-height:1;color:#242b20}.works-note{margin-top:28px;display:flex;justify-content:space-between;gap:35px;border-bottom:1px solid #c7c6bc;padding-bottom:25px}.works-note span{font-size:var(--text-body);font-weight:700}.works-note p{font-size:var(--text-body);color:var(--text-secondary);max-width:430px;line-height:1.65;margin:0;font-weight:400}.process{background:#e6e3d9}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process h2{font-size:var(--title-compact);letter-spacing:-.045em}.process-grid>div>p{font-size:var(--text-body);color:var(--text-secondary);line-height:1.65;margin-bottom:30px;font-weight:400}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:24px;padding:23px 0;border-top:1px solid #bfbdaf}.process li:first-child{padding-top:0;border-top:0}.process li>span{font-size:var(--text-caption);font-weight:700;color:var(--text-secondary);padding-top:5px}.process h3{font-size:20px;letter-spacing:-.02em;margin-bottom:12px;font-weight:700;line-height:1.35}.process li p{font-size:var(--text-body);line-height:1.65;color:var(--text-secondary);margin:0;font-weight:400}.faq{max-width:1050px;margin:auto}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid #c4c3b9}.faq details:last-child{border-bottom:1px solid #c4c3b9}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;padding:25px 0;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:25px;color:#777}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:700px;font-size:var(--text-body);line-height:1.65;color:var(--text-secondary);margin:0 0 25px;font-weight:400}.contact{background:var(--orange);display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:50px;overflow:hidden}.contact .section-label{margin-bottom:40px}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.contact h2 span{color:var(--ink)}.contact p{font-size:18px;line-height:1.65}.contact small{display:block;font-size:10px;margin-top:16px}.mascot{width:100%;aspect-ratio:1;overflow:hidden;position:relative;background:white;transform:rotate(5deg);border-radius:50%;max-width:380px}.mascot img{position:absolute;max-width:none;width:225%;height:225%;left:-123%;top:-119%;mix-blend-mode:multiply}footer{background:var(--ink);color:var(--paper);padding:40px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:13px;color:#b2b2a8;margin:0}footer>span{font-size:8px;letter-spacing:1.3px;color:#8c8c83}dialog{width:min(600px,92vw);max-height:90vh;background:var(--paper);border:0;padding:42px;color:var(--ink)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:38px;letter-spacing:-1.5px;margin:25px 0 20px}dialog>p{font-size:13px;line-height:1.6;color:#66665e}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}form{display:grid;gap:16px;margin-top:25px}label{display:grid;gap:7px;font-size:var(--text-small);font-weight:700;line-height:1.5}input,select,textarea{background:#fff9;padding:12px;border:1px solid #c9c8be;min-width:0;width:100%;border-radius:0;font-size:var(--text-body);color:var(--ink);line-height:1.5;font-weight:400}input:focus,textarea:focus,select:focus{outline:2px solid var(--orange)}form .button{width:100%}.form-status{font-size:12px;line-height:1.5;margin:0}body.modal-open{overflow:hidden}@keyframes float{50%{transform:translateY(-10px)}}@media(min-width:1600px){header,.hero,.section,footer{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}.hero-visual{width:110%;margin-left:-10%}}@media(max-width:1000px){nav{gap:16px;font-size:var(--text-small);font-weight:400}.nav-cta{font-size:var(--text-small);font-weight:400}h1{letter-spacing:-.055em;font-weight:700}.hero{min-height:620px}.hero-visual{width:125%;margin-left:-22%;margin-top:85px}.visual-tag{display:none;font-size:var(--text-label);letter-spacing:.1em}.section{padding:75px 6%}.section-head{display:block}.section-head>p{margin-top:25px;font-size:var(--text-body);font-weight:400;line-height:1.65;color:var(--text-on-dark)}.use{padding:22px}.use h3{font-size:var(--title-card);font-weight:700;line-height:1.15;letter-spacing:-.035em}.process h2{font-size:var(--title-compact);letter-spacing:-.045em}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.service-list article{grid-template-columns:25px .8fr 1fr 20px;gap:18px}.service-list h3{font-size:clamp(24px,2.1vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.2}}@media(max-width:700px){header{height:74px;padding:0 6%}nav{display:none;font-size:var(--text-small);font-weight:400}.wordmark{font-size:27px}.nav-cta{font-size:var(--text-small);font-weight:400}.nav-cta span{margin-left:10px}.hero{display:block;padding:50px 6% 25px;min-height:0}h1{font-size:83px;letter-spacing:-.055em;margin:30px 0 25px;font-weight:700}.hero p{font-size:18px;line-height:1.65;color:var(--text-on-dark)}.eyebrow{font-size:var(--text-label);letter-spacing:.14em}.hero .button{font-size:var(--text-small)}.hero-visual{width:114%;margin:-12px -7% 0}.hero-visual small{margin-right:8%;font-size:10px;line-height:1.6;letter-spacing:.1em;color:var(--text-on-dark)}.hero-bottom{margin-top:35px;gap:20px;font-size:var(--text-label);letter-spacing:.1em;color:var(--text-on-dark)}.ticker{justify-content:flex-start;font-size:var(--text-small);padding:18px 6%;gap:24px;font-weight:700;letter-spacing:.08em}.ticker span:nth-of-type(n+3),.ticker b:nth-of-type(n+2){display:none}.section{padding:62px 6%}.section-label{margin-bottom:30px;font-size:var(--text-label)}h2{font-size:var(--title-section);letter-spacing:-.045em;font-weight:700;line-height:1.06}.intro-grid,.principle,.process-grid{grid-template-columns:1fr;gap:25px}.intro-grid p.lead{font-size:clamp(20px,2vw,24px);line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.principle{margin-top:35px}.principle-copy{padding:0 28px 30px}.diagram{height:275px}.diagram>span{font-size:10px;line-height:1.5;letter-spacing:.08em;max-width:85%;text-align:center}.service-list article{grid-template-columns:23px 1fr 20px;padding:25px 0;gap:14px}.service-list article p{grid-column:2;grid-row:2}.service-list b{grid-column:3;grid-row:1}.service-list h3{font-size:clamp(24px,2.1vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.2}.use-grid{grid-template-columns:1fr;gap:15px}.use{min-height:360px;padding:25px}.use h3{margin-top:160px;font-size:var(--title-card);font-weight:700;line-height:1.15;letter-spacing:-.035em}.use p{max-width:100%;font-size:var(--text-body);font-weight:400;line-height:1.65;color:var(--ink)}.abstract-corner{left:auto;right:15px;top:87px;transform:scale(.85);transform-origin:right top}.rings{left:auto;right:10px;top:75px;transform:scale(.8) rotate(-20deg)}.burst{left:auto;right:15px;transform:none;top:53px;font-size:165px}.works-note{display:block}.works-note p{margin-top:15px;font-size:var(--text-body);font-weight:400;line-height:1.65;color:var(--text-secondary)}.process h2{font-size:var(--title-compact);letter-spacing:-.045em}.process ol{margin-top:20px}.faq summary{font-size:18px;line-height:1.4;font-weight:700;letter-spacing:-.02em}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.mascot{width:220px;justify-self:center}footer{flex-wrap:wrap;padding:32px 6%;gap:25px}footer p{font-size:11px}footer>span{width:100%}dialog{padding:32px 24px}dialog h2{font-size:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Showreel and direct contact */
.showreel{background:var(--ink);color:var(--paper);padding:30px 4.5% 70px;scroll-margin-top:25px}.showreel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}.showreel-heading h2{margin:15px 0 0;font-size:var(--title-compact);letter-spacing:-.045em}.showreel-heading p{font-size:var(--text-body);color:var(--text-on-dark);margin:0 0 6px;line-height:1.65}.video-stage{aspect-ratio:16/9;position:relative;overflow:hidden;background:#0b0b09;border:1px solid #ffffff25;display:grid;place-items:center}.video-cover{position:absolute;inset:0;background:linear-gradient(#0007,#000b),url('assets/hero.png') center/cover no-repeat;opacity:.75}.video-start{position:relative;z-index:1;text-align:center;padding:25px}.video-play{border:0;background:none;color:var(--paper);font-size:20px;font-weight:bold;cursor:pointer;display:flex;align-items:center;gap:20px;margin:auto;padding:15px}.play-icon{display:grid;place-items:center;width:80px;height:80px;background:var(--orange);color:var(--ink);border-radius:50%;font-size:26px;padding-left:4px;transition:transform .2s}.video-play:hover .play-icon{transform:scale(1.08)}.video-start p{font-size:11px;line-height:1.7;color:#d0d0c7;max-width:490px;margin:25px auto 15px}.video-start>a{font-size:11px;border-bottom:1px solid #777;padding-bottom:3px}.video-stage iframe{width:100%;height:100%;position:absolute;inset:0;border:0}.direct-call{position:fixed;bottom:24px;right:25px;z-index:40;background:var(--ink);color:var(--paper);border:1px solid var(--orange);box-shadow:0 5px 25px #0004;padding:15px 21px;display:flex;gap:13px;align-items:center;border-radius:5px;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.direct-call svg{color:var(--orange)}.direct-call small{display:block;color:var(--orange);font-size:10px;letter-spacing:.12em;margin-bottom:4px;font-weight:700;line-height:1.5}.direct-call:hover{background:#30302b}body{padding-bottom:0;font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:1.65}footer{padding-bottom:115px}.contact{grid-template-columns:1fr 1fr;gap:7%;align-items:start}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.contact-phone{font-size:clamp(28px,3vw,36px);letter-spacing:-.035em;font-weight:700;display:block;margin-top:35px;line-height:1.2}.contact-phone span{font-weight:normal}.contact-email{display:inline-block;font-size:var(--text-body);border-bottom:1px solid #18181688;padding-bottom:4px;margin-top:15px}.contact-form{margin:0;display:grid;gap:20px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{font-size:var(--text-small)}.contact-form input,.contact-form textarea{background:#fff9;border:1px solid #18181650;padding:14px}.contact-form textarea{resize:vertical;min-height:110px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.contact-form .contact-data{font-size:var(--text-caption);line-height:1.6;margin:0;color:var(--ink)}.contact-data a{text-decoration:underline}.contact-form .button{width:100%;min-height:55px}.contact-form .form-help{font-size:var(--text-caption);line-height:1.6;margin:0}.honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero{min-height:610px;padding-top:58px}.hero-bottom{margin-top:35px;font-size:var(--text-label);letter-spacing:.1em;color:var(--text-on-dark)}h1{font-size:clamp(74px,8vw,120px);font-weight:700;letter-spacing:-.055em}
@media(max-width:1000px){.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.contact-phone{font-size:clamp(28px,3vw,36px);font-weight:700;line-height:1.2;letter-spacing:-.035em}.form-pair{grid-template-columns:1fr}.showreel-heading h2{font-size:var(--title-compact);letter-spacing:-.045em}.hero{min-height:550px}.direct-call{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.02em}}
@media(max-width:700px){.hero{min-height:0;padding-top:40px}.hero h1{font-size:78px}.showreel{padding:20px 6% 45px}.showreel-heading{display:block;margin-bottom:22px}.showreel-heading h2{font-size:var(--title-compact);letter-spacing:-.045em}.showreel-heading p{margin:15px 0 0;font-size:var(--text-body);line-height:1.65;color:var(--text-on-dark)}.video-play{font-size:15px;gap:12px;padding:0}.play-icon{height:50px;width:50px;font-size:18px}.video-start{padding:16px}.video-start p{font-size:9px;margin:12px auto 8px}.video-start>a{font-size:9px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}.contact-phone{font-size:clamp(28px,3vw,36px);margin-top:23px;font-weight:700;line-height:1.2;letter-spacing:-.035em}.form-pair{grid-template-columns:1fr 1fr;gap:12px}.contact-form input,.contact-form textarea{font-size:16px;padding:12px}.direct-call{bottom:14px;right:14px;font-size:20px;padding:12px 16px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.direct-call small{font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.12em}footer{padding-bottom:105px}}
@media(max-width:380px){.form-pair{grid-template-columns:1fr}.hero h1{font-size:68px}.contact h2{font-size:clamp(40px,4.4vw,60px);letter-spacing:-.045em}}

/* Vector icons: consistent rendering without platform emoji substitution. */
.icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex-shrink:0;color:inherit;overflow:visible}
.button .icon{width:22px;height:22px;vertical-align:middle}
.hero-bottom .icon{width:12px;height:12px;vertical-align:middle;margin-left:4px}
.visual-tag .icon{width:24px;height:24px}
.abstract-corner b{font-size:0;line-height:0;text-shadow:none}
.corner-arrow{display:block;width:130px;height:130px;color:var(--orange);filter:drop-shadow(4px 4px 0 #7b2b11);overflow:visible}
.burst .icon{display:block}
.play-icon .icon{width:1em;height:1em;vertical-align:middle}

.video-note{font-size:var(--text-caption);color:var(--text-on-dark);line-height:1.6;margin:15px 0 0}.video-note a{text-decoration:underline;margin-left:12px}.contact-feedback{padding:15px;background:#f3f1e9;border:1px solid var(--ink);font-size:var(--text-small);line-height:1.6}.contact-feedback[data-kind="success"]{border-color:#275c36}.contact-fallback{font-size:var(--text-small);font-weight:700;text-decoration:underline;line-height:1.6}.contact-form button:disabled{opacity:.65;cursor:wait;transform:none}[hidden]{display:none!important}


/* Shared typography details and the requested footer reference style. */
strong,b { font-weight: 700; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
header { line-height: 1.4; }
.hero-copy,.intro-grid>*,.process-grid>*,.contact-intro,.contact-form { min-width: 0; }
.hero-visual .visual-credit {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 12px;
}
.visual-credit .ai-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  padding: 3px 5px;
  border: 1px solid var(--orange);
  border-radius: 3px;
  background: var(--ink);
  color: var(--orange);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
}
footer .footer-copy {
  margin: 0;
  font-family: var(--font-body);
  font-size: 8px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: 1.3px;
  color: var(--text-footer);
}
footer a.footer-copy { padding: 12px 0; }
footer a.footer-copy:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-copyright { white-space: nowrap; }
.page-title { font-size: clamp(46px,7vw,80px); line-height: 1.05; letter-spacing: -.045em; }
.legal-copy,.page-lead { max-width: 65ch; font-size: var(--text-body); line-height: 1.65; }
.legal-copy p { margin-bottom: 28px; }
.legal-copy a,.page-lead a { text-decoration: underline; text-underline-offset: 3px; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color: var(--text-secondary); opacity: 1; }
@media(max-width:700px) {
  .nav-cta { font-size: var(--text-caption); }
  .hero p,.contact p { font-size: var(--text-body); }
  .hero-bottom { flex-wrap: wrap; gap: 14px; }
  .hero-visual .visual-credit { gap: 7px; }
  .use h3 { max-width: 100%; }
  .footer-copyright { flex-basis: 100%; }
  .direct-call { font-size: 18px; }
}

/* Legal navigation and local, opt-in video controls. */
.direct-call { cursor: default; }
.direct-call:hover { background: var(--ink); }
footer { flex-wrap: wrap; }
footer .legal-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
footer .legal-nav a:hover { color: var(--text-footer); }
.legal-page { max-width: 1160px; margin-inline: auto; }
.legal-page .page-title { overflow-wrap: anywhere; }
.legal-copy { max-width: 75ch; }
.legal-copy h2 { font-size: clamp(22px,2.4vw,28px); line-height: 1.25; letter-spacing: -.025em; margin: 42px 0 18px; }
.legal-copy p { overflow-wrap: anywhere; }
.legal-updated { color: var(--text-secondary); font-size: var(--text-small); }
.video-stage:not(.has-consent) { aspect-ratio: auto; min-height: 420px; background: #20201c; }
.video-consent { width: 100%; max-width: 830px; padding: clamp(24px,5vw,60px); }
.video-consent h3 { font-size: clamp(26px,3vw,36px); line-height: 1.15; letter-spacing: -.035em; margin: 20px 0; }
.video-consent p { font-size: var(--text-small); color: var(--text-on-dark); line-height: 1.65; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.consent-actions .consent-choice { background: var(--paper); color: var(--ink); border: 1px solid var(--ink); min-height: 48px; justify-content: center; text-align: center; line-height: 1.4; }
.consent-actions .consent-choice:hover { transform: none; text-decoration: underline; }
.video-consent .consent-choice { border-color: var(--paper); }
.consent-details { font-size: var(--text-small); text-decoration: underline; text-underline-offset: 3px; }
.video-consent .consent-status { margin: 18px 0 0; font-size: var(--text-caption); }
.settings-status { padding: 16px; border: 1px solid #bcbcaf; }
@media(max-width:700px) {
  footer .legal-nav { flex-basis: 100%; gap: 0 18px; }
  .consent-actions { flex-direction: column; align-items: stretch; }
  .consent-actions .consent-choice { width: 100%; }
  .video-stage:not(.has-consent) { min-height: 0; }
}

/* Central German consent banner. Acceptance and rejection share one visual style. */
.cookie-banner { position: fixed; z-index: 70; inset: auto 4.5% 16px; max-width: 920px; margin-inline: auto; max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px); display: flex; flex-direction: column; padding: 16px 20px; border: 1px solid var(--ink); border-top: 3px solid var(--orange); background: var(--paper); color: var(--ink); box-shadow: 0 10px 60px #0005; }
.cookie-content { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.cookie-banner h2 { font-size: 20px; line-height: 1.2; letter-spacing: -.025em; margin: 0 0 10px; }
.cookie-banner p { font-size: var(--text-small); line-height: 1.45; margin: 0; }
.cookie-banner .eyebrow { font-size: var(--text-label); color: var(--text-secondary); }
.cookie-actions { flex-shrink: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.cookie-button { display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--ink); border-radius: 0; font-family: var(--font-body); font-size: var(--text-small); font-weight: 700; line-height: 1.4; color: var(--ink); background: transparent; cursor: pointer; }
.cookie-button:hover { background: #e6e3d9; }
.cookie-links { flex-shrink: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 10px; font-size: var(--text-caption); line-height: 1.5; }
.cookie-links a,.cookie-details a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-links span { margin-left: auto; color: var(--text-secondary); }
.cookie-details { padding-top: 8px; }
.cookie-category { border-top: 1px solid #bcbcaf; padding: 20px 0; margin-top: 16px; }
.cookie-category h3 { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; font-size: var(--text-body); line-height: 1.4; letter-spacing: -.02em; margin-bottom: 12px; }
.cookie-category h3 span { font-size: var(--text-caption); font-weight: 400; color: var(--text-secondary); }
.cookie-category label { display: flex; align-items: center; gap: 12px; font-size: var(--text-body); line-height: 1.4; margin-bottom: 12px; cursor: pointer; }
.cookie-category input[type="checkbox"] { flex-shrink: 0; width: 22px; height: 22px; padding: 0; margin: 0; accent-color: var(--ink); }
.consent-visible .direct-call { bottom: calc(var(--cookie-banner-height,0px) + 32px); }
.video-consent>.consent-choice { background: var(--paper); color: var(--ink); border: 1px solid var(--paper); margin-top: 20px; }
@media(max-width:700px) {
  .cookie-banner { inset-inline: 12px; bottom: 12px; padding: 16px; }
  .cookie-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
  .cookie-button { padding: 10px 8px; }
  .cookie-actions [data-consent-details],.cookie-actions [data-consent-save] { grid-column: 1 / -1; }
  .cookie-links { margin-top: 8px; gap: 4px 16px; }
  .cookie-links span { flex-basis: 100%; margin-left: 0; }
  .consent-visible .direct-call { bottom: calc(var(--cookie-banner-height,0px) + 24px); }
}

body.consent-visible { padding-bottom: calc(var(--cookie-banner-height,0px) + 32px); }

/* Details are secondary; accepting and declining stay equally prominent. */
.cookie-actions [data-consent-details] { border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:700px) {
  .cookie-actions [data-consent-details] { min-height: 32px; padding-block: 4px; }
}
