/* A focused, readable refresh for the main entry points. */

/* Home — an abstract route connects each checkpoint to the SIHT destination. */
.hero-destinations{position:absolute;z-index:2;right:2vw;top:11%;width:min(49vw,900px);height:min(74vh,760px);overflow:visible;pointer-events:none;--route-x:0px;--route-y:0px}.destination-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:translate3d(var(--route-x),var(--route-y),0) scale(1.015);transform-origin:center;transition:transform .9s cubic-bezier(.22,1,.36,1)}.hero-destinations.is-engaged .destination-map{transition-duration:.22s}.destination-route-guide{stroke:rgba(255,255,255,.16);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.destination-route-line{stroke:#ff4d00;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 18;stroke-dashoffset:0;filter:drop-shadow(0 0 9px rgba(255,77,0,.52));animation:destination-flow 6.8s linear infinite}.destination-route-loop{stroke:rgba(255,77,0,.63);stroke-width:2;stroke-dasharray:4 10;animation:destination-loop 8s linear infinite}.destination-traveler{fill:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.95))}.map-node{text-anchor:middle;dominant-baseline:middle;font:500 11px 'DM Mono',monospace;letter-spacing:.04em}.map-node circle{fill:#080808}.map-node .node-outer{stroke:rgba(255,255,255,.42);stroke-width:1.5;animation:destination-ring 4.4s ease-out infinite}.map-node .node-mid{stroke:rgba(255,255,255,.68);stroke-width:1.2}.map-node .node-core{stroke:rgba(255,255,255,.9);stroke-width:1.2}.map-node text{fill:#fff}.map-node-start{opacity:.64}.map-node-start .node-outer{animation-delay:-2.8s}.map-node-one .node-outer{animation-delay:-.7s}.map-node-two .node-outer{animation-delay:-2.1s}.map-node-final .node-outer{fill:rgba(255,77,0,.04);stroke:rgba(255,77,0,.48);stroke-width:1.7;animation:destination-final-ring 3.3s ease-out infinite}.map-node-final .node-mid{fill:rgba(255,77,0,.18);stroke:#ff4d00;stroke-width:1.5}.map-node-final .node-core{fill:#ff4d00;stroke:#ffad7c;stroke-width:1.4;filter:drop-shadow(0 0 20px rgba(255,77,0,.85))}.map-node-final text{fill:#080808;font-size:9px;font-weight:700}.destination-mobile-final{display:none}.destination-map-hint,.destination-coordinates{position:absolute;z-index:1;color:rgba(255,255,255,.6);font:500 9px 'DM Mono',monospace;letter-spacing:.13em}.destination-map-hint{right:21%;bottom:5%;opacity:.68;transition:color .3s,opacity .3s}.hero-destinations.is-engaged .destination-map-hint{color:#ff7840;opacity:1}.destination-coordinates{right:2%;bottom:1%;animation:destination-copy 5.5s ease-in-out infinite}.hero-destination-slogan{z-index:1;max-width:57vw;font-size:clamp(4rem,6.9vw,10rem)!important;line-height:.89!important;letter-spacing:-.1em!important}.hero-destination-slogan span:nth-child(2){margin-left:5vw!important}@keyframes destination-flow{to{stroke-dashoffset:-250}}@keyframes destination-loop{to{stroke-dashoffset:-120}}@keyframes destination-ring{0%{stroke-width:1;opacity:.9}72%,100%{stroke-width:7;opacity:0}}@keyframes destination-final-ring{0%{stroke-width:1;opacity:.7}74%,100%{stroke-width:16;opacity:0}}@keyframes destination-mobile-final{0%,100%{box-shadow:0 0 0 7px rgba(255,77,0,.12),0 0 20px rgba(255,77,0,.42)}50%{box-shadow:0 0 0 18px rgba(255,77,0,0),0 0 42px rgba(255,77,0,.75)}}@keyframes destination-copy{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* Portfolio and brand-call headings: room for the letters and their diacritics. */
.portfolio-hero h1{font-size:clamp(4.2rem,9.2vw,10.8rem);line-height:.92;letter-spacing:-.095em;padding:.1em .05em .17em;margin:-.1em -.05em -.17em;overflow:visible}.portfolio-hero h1 span{overflow:visible}.portfolio-hero h1 span:nth-child(2){margin-left:11vw}.meeting-hero h1{font-size:clamp(3.8rem,8.8vw,10.5rem);line-height:.91;letter-spacing:-.095em;max-width:1240px;padding:.11em .05em .18em;margin:-.11em -.05em -.18em;overflow:visible}.meeting-hero h1 span{overflow:visible}.meeting-hero h1 span:nth-child(2){margin-left:12vw}.meeting-hero h1 span:nth-child(3){margin-left:3vw;margin-top:.05em}

@media(max-width:700px){.hero-destinations{inset:0;width:auto;height:auto;right:auto;top:auto;z-index:3!important}.destination-map{display:block!important;inset:auto;top:40%;left:-18%;width:136%;height:300px;opacity:.95;transform:translate3d(var(--route-x),var(--route-y),0) scale(1.04)}.map-node-final{display:none}.destination-mobile-final{position:absolute;z-index:4;display:grid!important;place-items:center;right:18px;top:calc(40% + 46px);width:66px;aspect-ratio:1;border:1px solid #ffad7c;border-radius:50%;background:#ff4d00;box-shadow:0 0 0 8px rgba(255,77,0,.14),0 0 28px rgba(255,77,0,.62);color:#080808;font:700 9px 'DM Mono',monospace;letter-spacing:.04em;animation:destination-mobile-final 3.3s ease-in-out infinite}.destination-map-hint{display:none}.hero-destination-slogan{max-width:none;font-size:15.3vw!important;line-height:.91!important}.hero-destination-slogan span:nth-child(2){margin-left:0!important}.destination-coordinates{right:18px;bottom:19%;font-size:7px}.portfolio-hero h1{font-size:15.2vw;line-height:.96;letter-spacing:-.09em;padding:.12em .06em .2em;margin:-.12em -.06em -.2em}.portfolio-hero h1 span:nth-child(2){margin-left:0}.meeting-hero h1{font-size:14.4vw;line-height:.95;letter-spacing:-.085em;padding:.13em .06em .22em;margin:-.13em -.06em -.22em}.meeting-hero h1 span:nth-child(2),.meeting-hero h1 span:nth-child(3){margin-left:0;margin-top:.04em}}
@media(prefers-reduced-motion:reduce){.destination-route-line,.destination-route-loop,.map-node .node-outer,.destination-coordinates{animation:none!important}.destination-map{transition:none!important}}
@media(min-width:701px){.hero-destinations{top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important}.destination-map{inset:0;width:100%;height:100%;transform:translate3d(var(--route-x),var(--route-y),0) scale(1.005)}.map-node{font-size:16px;font-weight:600}.map-node-final text{font-size:17px}.hero-destination-slogan{z-index:3;max-width:62vw;font-size:clamp(4rem,7.7vw,10.8rem)!important}.destination-map-hint{right:15%;bottom:6%}.destination-coordinates{right:3%;bottom:3%}}
@media(max-width:700px){.hero-destinations{z-index:3!important}.destination-map{display:block!important;top:40%;left:-18%;width:136%;height:300px;opacity:.95}.destination-mobile-final{display:grid!important;z-index:4}}
@keyframes destination-node-hit{0%,100%{transform:scale(1);fill:#080808;stroke:#fff;filter:none}2%{transform:scale(2.05);fill:#ff4d00;stroke:#ffd0b5;stroke-width:2.2;filter:drop-shadow(0 0 18px rgba(255,77,0,.98))}5%{transform:scale(1.45);fill:#ff4d00;stroke:#fff;filter:drop-shadow(0 0 26px rgba(255,77,0,.8))}8%{transform:scale(1);fill:#080808;stroke:#fff;filter:none}}@keyframes destination-final-hit{0%,100%{transform:scale(1);fill:#ff4d00;stroke:#ffad7c;filter:drop-shadow(0 0 20px rgba(255,77,0,.85))}2%{transform:scale(1.42);fill:#fff;stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 0 34px rgba(255,255,255,.95))}5%{transform:scale(1.18);fill:#ff7840;stroke:#fff;filter:drop-shadow(0 0 40px rgba(255,77,0,1))}8%{transform:scale(1);fill:#ff4d00;stroke:#ffad7c;filter:drop-shadow(0 0 20px rgba(255,77,0,.85))}}.map-node .node-core{transform-box:fill-box;transform-origin:center}.map-node-start .node-core{animation:destination-node-hit 12s linear infinite 1.9s}.map-node-one .node-core{animation:destination-node-hit 12s linear infinite 4.05s}.map-node-two .node-core{animation:destination-node-hit 12s linear infinite 6.35s}.map-node-final .node-core{animation:destination-final-hit 12s linear infinite 11.25s}

/* Home — orange signals continue through the page instead of ending in the hero. */
.home-page .manifesto,.home-page .services,.home-page .works,.home-page .process,.home-page .faq{position:relative;isolation:isolate;overflow:hidden}.home-page .manifesto>*,.home-page .services>*,.home-page .works>*,.home-page .process>*,.home-page .faq>*{position:relative;z-index:1}.home-page .manifesto:before{content:'';position:absolute;z-index:0;right:-8vw;top:10%;width:clamp(260px,38vw,650px);aspect-ratio:1;border:1px solid rgba(255,77,0,.48);border-radius:50%;background:radial-gradient(circle,rgba(255,77,0,.24) 0 2%,transparent 3% 31%,rgba(255,77,0,.12) 32% 33%,transparent 34%);box-shadow:0 0 90px rgba(255,77,0,.12),inset 0 0 70px rgba(255,77,0,.08);animation:home-signal-drift 11s ease-in-out infinite alternate}.home-page .manifesto:after{content:'01 / SELGUS';position:absolute;z-index:0;right:7vw;top:21%;color:rgba(255,112,48,.72);font:500 9px 'DM Mono',monospace;letter-spacing:.16em;animation:home-signal-blink 4s ease-in-out infinite}.home-page .services:before{content:'';position:absolute;z-index:0;left:0;top:19%;width:min(42vw,620px);height:2px;background:linear-gradient(90deg,#ff4d00,rgba(255,77,0,.1),transparent);box-shadow:0 0 24px rgba(255,77,0,.55);animation:home-scan 7s ease-in-out infinite}.home-page .services:after{content:'';position:absolute;z-index:0;right:5vw;bottom:8vw;width:clamp(54px,8vw,120px);aspect-ratio:1;border:1px solid rgba(255,77,0,.58);border-radius:50%;box-shadow:0 0 0 14px rgba(255,77,0,.05),0 0 46px rgba(255,77,0,.18);animation:home-target 5s ease-out infinite}.home-page .works:before{content:'';position:absolute;z-index:0;left:-18vw;top:18%;width:68vw;aspect-ratio:1;background:radial-gradient(circle,rgba(255,77,0,.27),rgba(126,31,0,.16) 25%,transparent 66%);filter:blur(8px);animation:home-signal-drift 13s ease-in-out infinite alternate-reverse}.home-page .process:before{content:'';position:absolute;z-index:0;right:-12vw;top:5%;width:clamp(320px,48vw,760px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,77,0,.3) 0 1px,transparent 2px 46px);opacity:.46;animation:home-orbit-turn 24s linear infinite}.home-page .process:after{content:'SUUND → KONTSEPTSIOON → DISAIN → SIHT';position:absolute;z-index:0;right:5vw;bottom:4vw;color:rgba(255,91,24,.68);font:500 8px 'DM Mono',monospace;letter-spacing:.14em;writing-mode:vertical-rl}.home-page .faq:before{content:'';position:absolute;z-index:0;left:4vw;bottom:6vw;width:12px;aspect-ratio:1;border-radius:50%;background:#ff4d00;box-shadow:0 0 0 0 rgba(255,77,0,.45),0 0 28px rgba(255,77,0,.75);animation:home-pulse 3.2s ease-out infinite}.home-page .faq:after{content:'';position:absolute;z-index:0;left:calc(4vw + 12px);bottom:calc(6vw + 5px);width:24vw;height:1px;background:linear-gradient(90deg,#ff4d00,transparent)}@keyframes home-signal-drift{to{transform:translate(-6%,7%) scale(1.08)}}@keyframes home-signal-blink{0%,100%{opacity:.32}50%{opacity:1}}@keyframes home-scan{0%,100%{transform:translateX(-18%);opacity:.35}50%{transform:translateX(62%);opacity:1}}@keyframes home-target{0%{transform:scale(.72);opacity:0}28%{opacity:1}100%{transform:scale(1.35);opacity:0}}@keyframes home-orbit-turn{to{transform:rotate(360deg)}}@keyframes home-pulse{70%,100%{box-shadow:0 0 0 34px rgba(255,77,0,0),0 0 35px rgba(255,77,0,.18)}}
@media(max-width:700px){.home-page .manifesto:before{right:-47vw;top:18%;width:112vw;opacity:.68}.home-page .manifesto:after{right:20px;top:14%;font-size:7px}.home-page .services:before{top:11%;width:78vw}.home-page .services:after{right:20px;bottom:18vw;width:72px}.home-page .works:before{left:-42vw;top:24%;width:130vw}.home-page .process:before{right:-70vw;top:9%;width:145vw;opacity:.28}.home-page .process:after{right:13px;bottom:18vw;font-size:6px}.home-page .faq:before{left:20px;bottom:20vw}.home-page .faq:after{left:32px;bottom:calc(20vw + 5px);width:45vw}}
@media(prefers-reduced-motion:reduce){.home-page .manifesto:before,.home-page .manifesto:after,.home-page .services:before,.home-page .services:after,.home-page .works:before,.home-page .process:before,.home-page .faq:before{animation:none!important}}
