*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;--bg:#f4f6f1;--card:#fff;--ink:#08283e;--soft:#46605e;--line:#becac5;--accent:#006952;background:var(--bg);color:var(--ink);font:16px/1.55 "Helvetica Neue",Arial,sans-serif}html[data-theme=dark] body{--bg:#081e30;--card:#112e42;--ink:#f4f7f0;--soft:#b9ceca;--line:#466265;--accent:#72e3bc}a,button{color:inherit}a{text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #eaa434;outline-offset:4px}.wrap{width:min(1320px,90%);margin:auto}header{background:#06243a;color:#f4f8f4;border-bottom:1px solid #2f474b}.nav,nav,.actions,footer,.lightHead,.legend,.other{display:flex;align-items:center;gap:24px}.nav{height:76px}.logo{display:block;width:132px;filter:brightness(0) invert(1)}nav{margin-left:auto;font-size:14px}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:13px 24px;font-weight:700}.compact{background:#ecf4eb;color:#102629;font-size:14px}.mint{background:#00a179;color:#0d3027}.pill:hover{box-shadow:0 0 0 3px #5e9a89}#theme{background:transparent;color:white;border:1px solid #617576;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1}
.hero{color:#fff;background:linear-gradient(90deg,rgba(4,20,25,.95) 0%,rgba(5,28,34,.81) 46%,rgba(8,38,45,.53)),url(assets/station-dusk.png) center 63%/cover;overflow:hidden}.heroGrid{min-height:clamp(530px,65vh,700px);padding:60px 0 72px;display:grid;grid-template-columns:.98fr 1.02fr;align-items:center;gap:3.5%}.kicker,small{font:700 12px/1.5 ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase}.kicker{display:flex;align-items:center;gap:10px;color:var(--accent)}.kicker i{background:currentColor;width:24px;height:2px}.hero .kicker,.film .kicker,#contatto .kicker{color:#00a179}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(52px,6.65vw,106px);letter-spacing:-.075em;line-height:.98;margin:24px 0}em{font-style:normal;color:#72e7bd}.pitch p,.lead,#contatto p{font-size:clamp(17px,1.4vw,21px);max-width:60ch}.pitch p{max-width:43ch;color:#e1eae6}.actions{margin-top:28px;flex-wrap:wrap;font-size:15px}.show{position:relative;width:100%;padding:0 0 26px 7%}.monitor,.phone{display:block;padding:0;overflow:hidden;background:white;box-shadow:0 24px 52px #0006;cursor:zoom-in}.monitor{width:100%;aspect-ratio:1.48;border:7px solid #30464a;border-radius:14px;transform:rotate(1deg)}.monitor img{width:100%;display:block}.phone{position:absolute;left:0;bottom:9%;width:23%;border:5px solid #233135;border-radius:19px;transform:rotate(-4deg)}.phone img{display:block;width:100%}.caption{position:absolute;bottom:-2px;right:0;color:#d9ede6;font:12px ui-monospace,monospace}
.block{padding:clamp(64px,7vw,105px) 0}h2{font-size:clamp(40px,4.7vw,76px);line-height:1.03;letter-spacing:-.062em;margin:14px 0 18px}.lead{color:var(--soft)}.gallery{margin-top:36px;display:grid;grid-template-columns:1fr 2.45fr;gap:28px}#menu button,.other button,.link,#close,#skip{background:none;color:inherit;border:0}#menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 9px;text-align:left;border-bottom:1px solid var(--line);font-size:clamp(16px,1.45vw,21px);font-weight:600}#menu button[aria-pressed=true]{color:var(--accent);border-color:currentColor}#menu button[aria-pressed=true]:after{content:'↗'}.feature,figure{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.featureText{padding:26px 30px}.feature small{color:var(--accent)}h3{font-size:clamp(24px,2.5vw,40px);letter-spacing:-.045em;line-height:1.15;margin:8px 0}.feature p{color:var(--soft);max-width:70ch}#view{width:calc(100% - 60px);margin:0 30px;position:relative;display:block;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#e7eeeb;height:clamp(225px,25vw,380px);cursor:zoom-in}#screen{display:block;width:100%;height:100%;object-fit:cover;object-position:top}#view.portrait img{object-fit:contain}#view span{position:absolute;right:10px;bottom:10px;background:#062a40;color:white;padding:5px 12px;border-radius:20px;font-size:12px}.other{padding:16px 30px;flex-wrap:wrap;gap:6px}.other button{font-size:13px;border-radius:20px;padding:6px 11px;border:1px solid var(--line)}.other button[aria-pressed=true]{background:var(--ink);color:var(--card)}.film,#contatto{background:#072a40;color:#f4f9f4}.film .lead,#contatto p{color:#c6d6d3}.film video{display:block;width:min(100%,1100px);margin:28px auto 0;border-radius:12px;border:1px solid #446267}.split{display:grid;align-items:center;grid-template-columns:1fr 1fr;gap:7%}.link{padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-weight:bold}.split .link{margin-top:15px;color:var(--accent)}figure{padding:clamp(22px,3vw,44px)}figcaption,.bar{display:flex;align-items:center;justify-content:space-between;gap:8px}figcaption{font-size:22px;font-weight:700;letter-spacing:-.035em}.bar{margin-top:24px}.track{height:9px;background:var(--line);margin-top:6px;border-radius:6px;overflow:hidden}.track i{display:block;height:100%;background:#123e5a}.track .ord{background:#078970}.legend{font-size:13px;margin-top:22px;flex-wrap:wrap}.legend span:first-child{color:var(--ink)}.legend span:last-child{color:var(--accent)}#contatto{background:linear-gradient(90deg,#071b20f2,#081e22b8),url(assets/station-dusk.png) 50% 75%/cover}#contatto .pill{margin-top:24px}footer{padding:25px 0;flex-wrap:wrap;font-size:14px}footer .link{margin-left:auto}
dialog::backdrop{background:#06151aeb}#intro{border:none;background:#0b252a;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}#intro[open]{display:grid;place-items:center}@keyframes reveal{from{clip-path:inset(0 100% 0 0);transform:translateY(9px)}to{clip-path:inset(0);transform:translateY(0)}}#skip{position:absolute;right:5%;bottom:8%;border:1px solid #68817e;border-radius:30px;padding:9px 20px}#lightbox{padding:0;border:0;border-radius:12px;color:var(--ink);background:var(--card);max-height:90dvh;width:min(1120px,94vw)}.lightHead{position:sticky;top:0;background:var(--card);justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}#large{display:block;width:auto;max-width:100%;margin:auto}#close{font-weight:700}
@media(max-width:780px){.nav{height:62px;gap:12px}.nav nav{display:none}#theme{margin-left:auto}.logo{width:110px}.compact{padding:9px 13px}.heroGrid{grid-template-columns:1fr;padding:46px 0 34px;gap:32px}.hero h1{font-size:clamp(56px,10vw,80px)}.show{max-width:560px;margin:auto}.monitor{aspect-ratio:1.85}.gallery,.split{grid-template-columns:1fr;gap:18px}#menu{display:flex;flex-wrap:wrap;gap:6px}#menu button{width:auto;font-size:14px;padding:8px 12px;border:1px solid var(--line);border-radius:18px}#menu button[aria-pressed=true]:after{display:none}.featureText,.other{padding:18px}#view{width:calc(100% - 36px);margin:0 18px}.split figure{margin-top:16px}footer{gap:12px}.caption{font-size:10px}.phone{border-width:3px;border-radius:12px}}
@media(max-width:380px){.nav{gap:8px}.logo{width:94px}.compact{font-size:12px}.actions{gap:13px}.hero h1{font-size:50px}footer .link{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important}}
#request{border:none}#demoDialog,#privacyDialog{width:min(560px,94vw);max-height:90dvh;border:0;border-radius:16px;background:var(--card);color:var(--ink);padding:28px}dialog .dialog-close{float:right;border:0;background:none;color:inherit;font-size:24px}dialog h2{font-size:38px}dialog .eyebrow{font:700 12px monospace;color:var(--accent)}dialog label{display:block;margin:12px 0;font-weight:600}input,select,textarea{display:block;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);width:100%;border-radius:6px;padding:7px}.form-note{font-size:14px;color:var(--soft)}.button,.copy-button{display:inline-block;margin:12px 6px 0 0;background:var(--ink);color:var(--card);border:0;padding:9px 16px;border-radius:28px}#privacyDialog p+p{margin-top:10px}
/* Brand colours sampled from the original artwork. */
body{--accent:#007d60}html[data-theme=dark] body{--accent:#77dfbd}body,button,input,textarea,select,#menu button{text-align:justify;text-justify:inter-word}p,textarea{hyphens:auto}h1,h2,h3{text-align-last:start}
header{background:#fff;color:#06243a;border-bottom:3px solid #009c75}.logo{filter:none}.compact,.mint{background:#007859;color:white}#theme{color:#08283e;border-color:#b5cbc5}.hero{background:linear-gradient(100deg,#031c32f5 6%,#052d43d9 48%,#033e40a3),url(assets/station-dusk.png) center 68%/cover}.hero .kicker,.film .kicker,#contatto .kicker{color:#8ce8c8}.monitor{border-color:#17465a;border-radius:13px;transform:rotate(-1deg);aspect-ratio:1.37}.phone{border-color:#09283b;transform:rotate(3deg);bottom:3%}.show{padding-bottom:40px}.caption{bottom:0}.film{border-top:4px solid #009e75}#contatto{border-top:4px solid #009e75}.gallery .feature{border-top:3px solid #009e75}
#intro{overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 48%,#fff 20%,#edf7f3 65%,#dcece7 100%);color:#0a2d42}#skip{color:#08283e;background:white;border-color:#acd1c5;z-index:2}#skip:hover{background:#dff6ed}
@keyframes join{from{opacity:0;transform:translate(8%,12%) scale(.97);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes drop{from{opacity:0;transform:translate(32%,-12%) scale(.85);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes orbit{from{opacity:0;transform:scale(.48)}25%{opacity:.9}to{opacity:.25;transform:scale(1.12)}}@keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:780px){.monitor{aspect-ratio:1.55}.caption{font-size:9px}.show{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.piece,.intro-orbit,.intro-timer{animation:none}}
body{--bg:#f4f7fb;--ink:#09263c;--soft:#445969;--accent:#006993;--line:#c3d0d9}
html[data-theme=dark] body{--bg:#071a2b;--card:#102a3f;--accent:#63cbff;--ink:#f2f8fc;--soft:#b3c9da;--line:#39566a}
header{background:#082338;color:#f6faff;border-color:#14a8df}.logo{width:140px}#theme{color:#fff;border-color:#618198}.compact,.mint{background:#ffb637;color:#102638}.pill:hover{box-shadow:0 0 0 3px #f4a6327a}.hero{background:linear-gradient(100deg,#031b30fa 6%,#06283ed9 48%,#07334aa3),url(assets/station-dusk.png) center 68%/cover}.hero em{color:#ffc044}.hero .kicker,.film .kicker,#contatto .kicker{color:#71ccf7}.film,#contatto,.gallery .feature{border-top-color:#0e9fda}.track i{background:#fb9b23}.track i.ord{background:#008ec3}.legend span:first-child{color:var(--ink)}.legend span:last-child{color:var(--accent)}.monitor,.phone{border-color:#194058}
#intro{background:radial-gradient(ellipse at center,#0b2c45 0%,#051827 54%,#020d16 100%);color:white}
#intro .ignite{position:relative;width:min(690px,83vw);z-index:2}.ignite svg{display:block;width:100%;overflow:visible}.ignite .petal,.ignite .word{transform-box:fill-box;transform-origin:center;animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,.82,.25,1)}
.ignite .petal{animation-name:fuse;animation-duration:1.7s}.ignite .p0{--x:-70px;--y:-50px;--rot:-32deg;animation-delay:1.15s}.ignite .p1{--x:24px;--y:-65px;--rot:23deg;animation-delay:1.65s}.ignite .p2{--x:-50px;--y:42px;--rot:-28deg;animation-delay:2.1s}.ignite .p3{--x:75px;--y:35px;--rot:35deg;animation-delay:2.55s}.ignite .contours{stroke-dasharray:1;animation:sketch 4.4s ease both}.ignite .word{animation-name:wordmark;animation-duration:1.6s}.ignite .fuel{animation-delay:4s}.ignite .care{animation-delay:4.55s}.halo{position:absolute;inset:0;background:radial-gradient(ellipse at 31% 49%,#ff99161f,transparent 25%),radial-gradient(ellipse at 64% 49%,#04a9f126,transparent 30%);animation:halo 8.8s both}.intro-timer{position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#ff9621,#ffbf42,#05aef0);transform-origin:left;animation:progress 9s linear both}#skip{color:#e5f5fd;background:#071f32;border-color:#577489}#skip:hover{background:#12364e}
@keyframes sketch{0%{stroke-dashoffset:1;opacity:0}15%{opacity:.9}70%{stroke-dashoffset:0;opacity:.8}100%{stroke-dashoffset:0;opacity:0}}
@keyframes fuse{from{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rot)) scale(.75);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes wordmark{from{opacity:0;transform:translateX(18px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes halo{0%,100%{opacity:.25}55%{opacity:1}}
@media(max-width:780px){.logo{width:110px}}
@media(prefers-reduced-motion:reduce){.ignite .petal,.ignite .word,.halo,.intro-timer{animation:none}.ignite .contours{display:none}}
