/* File-safe interaction states: visual styling does not depend on JavaScript imports. */
.loader{transition:transform .65s cubic-bezier(.7,0,.2,1)}
.loader.done{transform:translateY(-101%)}
.hero h1 span{opacity:0;transform:translateY(.48em);filter:blur(9px);transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .55s ease,filter .7s ease;will-change:transform,opacity,filter}.hero h1 span.entered{opacity:1;transform:none;filter:none}.section-head h2,.manifesto h2,.strip-intro h2,.statement h2,.direction-finder-intro h2,.contact h2,.process-steps h2{transform:translateY(54px);opacity:0;filter:blur(8px);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .65s ease,filter .7s ease;will-change:transform,opacity,filter}.section-head h2.in-view,.manifesto h2.in-view,.strip-intro h2.in-view,.statement h2.in-view,.direction-finder-intro h2.in-view,.contact h2.in-view,.process-steps h2.in-view{transform:none;opacity:1;filter:none}
.work figure{transform:scale(.92);clip-path:inset(10% 8%);transition:transform 1s cubic-bezier(.2,.8,.2,1),clip-path 1s cubic-bezier(.2,.8,.2,1)}
.work figure.in-view{transform:scale(1);clip-path:inset(0)}

.hero-orbit{position:absolute;z-index:0;right:8vw;top:50%;width:clamp(260px,35vw,620px);aspect-ratio:1;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle at 39% 38%,rgba(255,118,60,.9) 0 1.5%,rgba(255,77,0,.32) 10%,rgba(255,77,0,.06) 28%,transparent 57%);box-shadow:inset 0 0 72px rgba(255,77,0,.18),0 0 80px rgba(255,77,0,.08);opacity:.78;transform:translateY(-50%) rotate(-17deg);animation:hero-orbit-drift 12s ease-in-out infinite alternate;pointer-events:none}.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%}.hero-orbit:before{inset:13%;transform:rotate(67deg) scaleY(.32)}.hero-orbit:after{inset:28%;border-color:rgba(255,77,0,.9);transform:rotate(-32deg) scaleY(.18)}

/* Display typography: keep Estonian diacritics and the serif face clear of adjacent lines. */
.hero-slogan{font-size:clamp(5.2rem,13vw,15rem)!important;line-height:.82!important;letter-spacing:-.11em!important;padding:.06em .04em .16em;margin:-.06em -.04em -.16em!important}.hero-slogan span:nth-child(2){margin-left:15vw!important}.section-head h2,.strip-intro h2,.manifesto h2,.statement h2,.contact h2{line-height:.91!important;letter-spacing:-.085em!important;padding:.1em .04em .16em;margin:-.1em -.04em -.16em!important;overflow:visible}.section-head h2 i,.strip-intro h2 i,.manifesto h2 i,.statement h2 i,.contact h2 i{display:inline-block;padding:.07em .035em .12em;margin:-.07em -.035em -.12em}.contact h2{line-height:.94!important}

@media(max-width:700px){.hero-slogan{font-size:20vw!important;line-height:.86!important}.hero-slogan span:nth-child(2){margin-left:0!important}.section-head h2,.strip-intro h2,.manifesto h2,.statement h2,.contact h2{line-height:.96!important;padding:.11em .04em .18em}}

@keyframes hero-orbit-drift{0%{transform:translateY(-54%) rotate(-22deg) scale(.94)}100%{transform:translateY(-44%) rotate(24deg) scale(1.07)}}
@media(max-width:700px){.hero-orbit{right:-17vw;top:52%;width:88vw;opacity:.48}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.section-head h2,.manifesto h2,.strip-intro h2,.statement h2,.direction-finder-intro h2,.contact h2,.process-steps h2{opacity:1;transform:none;filter:none}.hero-orbit{animation:none}}

/* Mobile navigation — full-screen, keyboard-accessible and consistent on every page. */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:700px){body.mobile-menu-open{overflow:hidden}.nav .menu-dot{display:none}.mobile-menu-toggle{display:inline-flex;align-items:center;gap:10px;padding:9px 0;border:0;background:transparent;color:#fff;font:500 10px 'DM Mono',monospace;letter-spacing:.1em;cursor:pointer}.mobile-menu-toggle i{width:17px;height:1px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}.mobile-menu{display:flex;position:fixed;z-index:70;inset:0;min-height:100svh;padding:20px;background:var(--orange);color:#070707;flex-direction:column;transform:translateY(-102%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .65s cubic-bezier(.7,0,.2,1),opacity .25s,visibility 0s .65s}.mobile-menu.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .65s cubic-bezier(.7,0,.2,1),opacity .25s}.mobile-menu .logo{color:#070707;font-size:25px}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between}.mobile-menu-close{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#070707;font:500 10px 'DM Mono',monospace;letter-spacing:.1em;cursor:pointer}.mobile-menu-close i{font:400 28px/1 Manrope,Arial,sans-serif;font-style:normal}.mobile-menu-links{display:grid;gap:1px;margin-top:17vh}.mobile-menu-links a{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(0,0,0,.42);color:#070707;text-decoration:none;font:800 clamp(2.4rem,10.5vw,4.5rem)/.84 Manrope,Arial,sans-serif;letter-spacing:-.1em}.mobile-menu-links a:last-child{border-bottom:1px solid rgba(0,0,0,.42)}.mobile-menu-links span{font:500 10px 'DM Mono',monospace;letter-spacing:0}.mobile-menu-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:20px}.mobile-menu-bottom p{margin:0;font:800 17px/.95 Manrope,Arial,sans-serif;letter-spacing:-.06em}.mobile-menu-bottom p i{font-family:'Playfair Display',serif;font-weight:700}.mobile-menu-bottom>a{color:#070707;font:500 10px 'DM Mono',monospace;text-decoration:none;white-space:nowrap}.mobile-menu a:focus-visible,.mobile-menu button:focus-visible{outline:2px solid #070707;outline-offset:5px}}
@media(prefers-reduced-motion:reduce){.mobile-menu{transition:none}}

/* SIHI LEIDJA — a direct path from an idea to the correctly prepared enquiry. */
.direction-finder{min-height:92vh;padding:12vw 5vw;display:grid;grid-template-columns:minmax(260px,.88fr) minmax(0,1.22fr);gap:9vw;align-items:center;background:#101010}.direction-finder-intro .eyebrow{color:#999}.direction-finder-intro h2{margin:2.4vw 0 0;font:800 clamp(3.2rem,6.3vw,7.8rem)/.86 Manrope,Arial,sans-serif;letter-spacing:-.1em}.direction-finder-intro h2 i{display:inline-block;padding:.08em .04em .13em;margin:-.08em -.04em -.13em;font-family:'Playfair Display',serif;font-weight:700}.direction-finder-intro>p:last-child{max-width:270px;margin:3vw 0 0;color:#aaa;font-size:12px;line-height:1.55}.direction-finder-choices{border-top:1px solid #454545}.direction-choice{width:100%;padding:2.5vw 0;display:grid;grid-template-columns:50px 1fr auto;gap:16px;align-items:center;border:0;border-bottom:1px solid #454545;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:color .3s,padding .3s}.direction-choice span{font:500 10px 'DM Mono',monospace;color:var(--orange)}.direction-choice strong{font:800 clamp(1.7rem,3.1vw,3.9rem)/.83 Manrope,Arial,sans-serif;letter-spacing:-.09em}.direction-choice b{font-size:clamp(1.6rem,2.7vw,3rem);font-weight:400;color:var(--orange);transition:transform .3s}.direction-choice:hover,.direction-choice:focus-visible{padding-left:1.4vw;color:var(--orange);outline:0}.direction-choice:hover b,.direction-choice:focus-visible b{transform:translateX(12px)}.direction-choice:focus-visible{box-shadow:inset 3px 0 var(--orange)}

@media(max-width:700px){.direction-finder{min-height:0;display:block;padding:25vw 20px}.direction-finder-intro h2{margin-top:8vw;font-size:14vw;line-height:.94}.direction-finder-intro>p:last-child{margin:9vw 0 15vw;font-size:13px}.direction-choice{grid-template-columns:34px 1fr auto;padding:8vw 0}.direction-choice strong{font-size:8.5vw}.direction-choice:hover,.direction-choice:focus-visible{padding-left:10px}}

/* Contact form additions — preserves the existing visual language. */
.contact select{width:100%;appearance:none;border:0;border-radius:0;background:transparent;color:#fff;font:500 14px Manrope,Arial,sans-serif;outline:0;cursor:pointer}
.contact select:invalid{color:#777}.contact select option{background:#111;color:#fff}.contact label span small{color:#777;font:inherit;letter-spacing:0}.contact .honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.turnstile-wrap{min-height:65px;padding:5px 0}.contact button:disabled{cursor:wait;opacity:.75}.form-success,.form-error{line-height:1.5}.form-success small,.form-error small{display:block;margin-top:8px;color:#aaa;font:400 11px/1.5 Manrope,Arial,sans-serif}.form-error{display:none;color:#ff6940;font:500 11px 'DM Mono',monospace}.form-error.show{display:block}

/* KKK + the selected direction remain visually clear without changing the existing art direction. */
.direction-choice.is-selected{padding-left:1.4vw;color:var(--orange);box-shadow:inset 3px 0 var(--orange);outline:0}.direction-choice.is-selected b{transform:translateX(12px)}
.faq{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:9vw;align-items:start;background:#0b0b0b}.faq-intro{position:sticky;top:110px}.faq .eyebrow{color:#999}.faq h2{margin:2.4vw 0 0;font:800 clamp(3.2rem,6.3vw,7.8rem)/.86 Manrope,Arial,sans-serif;letter-spacing:-.1em;transform:translateY(54px);opacity:0;filter:blur(8px);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .65s ease,filter .7s ease}.faq h2.in-view{transform:none;opacity:1;filter:none}.faq h2 i{display:inline-block;padding:.08em .04em .13em;margin:-.08em -.04em -.13em;font-family:'Playfair Display',serif;font-weight:700}.faq-intro>p:last-child{max-width:280px;margin:3vw 0 0;color:#aaa;font-size:12px;line-height:1.55}.faq-list{border-top:1px solid #454545}.faq-list details{border-bottom:1px solid #454545}.faq-list summary{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:2.3vw 0;list-style:none;cursor:pointer;font:800 clamp(1.25rem,2vw,2.35rem)/.92 Manrope,Arial,sans-serif;letter-spacing:-.07em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{color:var(--orange);font:400 clamp(1.6rem,2.4vw,2.6rem)/1 Manrope,Arial,sans-serif;transition:transform .3s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{max-width:570px;margin:0;padding:0 50px 2.5vw 0;color:#aaa;font-size:clamp(.9rem,1.15vw,1.08rem);line-height:1.6}.faq-list summary:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}
@media(max-width:700px){.direction-choice.is-selected{padding-left:10px}.faq{display:block;padding:25vw 20px}.faq-intro{position:static}.faq h2{margin-top:8vw;font-size:14vw;line-height:.94}.faq-intro>p:last-child{margin:9vw 0 15vw;font-size:13px}.faq-list summary{padding:7vw 0;font-size:7vw;line-height:.93}.faq-list details p{padding:0 16px 8vw 0;font-size:13px}}
@media(prefers-reduced-motion:reduce){.faq h2{opacity:1;transform:none;filter:none}}

/* Featured testimonial — real client words get their own editorial moment. */
.testimonial{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:9vw;align-items:end;background:var(--orange);color:#070707;overflow:hidden}.testimonial .eyebrow{color:rgba(7,7,7,.68)}.testimonial h2{margin:2.4vw 0 0;font:800 clamp(3.2rem,6.3vw,7.8rem)/.86 Manrope,Arial,sans-serif;letter-spacing:-.1em;transform:translateY(54px);opacity:0;filter:blur(8px);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .65s ease,filter .7s ease}.testimonial h2.in-view{transform:none;opacity:1;filter:none}.testimonial h2 i{display:inline-block;padding:.08em .04em .13em;margin:-.08em -.04em -.13em;font-family:'Playfair Display',serif;font-weight:700}.testimonial-quote{position:relative;margin:0;padding:4vw 0 0;border-top:1px solid rgba(7,7,7,.38)}.testimonial-quote:before{content:'“';position:absolute;right:-.06em;top:-.55em;color:rgba(255,255,255,.3);font:700 clamp(11rem,22vw,24rem)/1 'Playfair Display',serif;pointer-events:none}.testimonial blockquote{position:relative;z-index:1;max-width:780px;margin:0;font:700 clamp(1.9rem,3.6vw,4.6rem)/.94 Manrope,Arial,sans-serif;letter-spacing:-.075em}.testimonial figcaption{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4vw;padding-top:1.5vw;border-top:1px solid rgba(7,7,7,.3)}.testimonial-stars{font:500 13px 'DM Mono',monospace;letter-spacing:.13em}.testimonial figcaption strong{font:700 13px Manrope,Arial,sans-serif;letter-spacing:-.03em}
@media(max-width:700px){.testimonial{display:block;padding:25vw 20px}.testimonial h2{margin-top:8vw;font-size:14vw;line-height:.94}.testimonial-quote{margin-top:16vw;padding-top:9vw}.testimonial blockquote{font-size:8.5vw;line-height:.96}.testimonial figcaption{margin-top:12vw;padding-top:5vw}.testimonial-stars{font-size:11px}.testimonial figcaption strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.testimonial h2{opacity:1;transform:none;filter:none}}

.footer-payment-intro{display:flex;flex-direction:column;justify-content:space-between}

/* Mobile audit: preserve the type rhythm and avoid transform-based overlap. */
@media(max-width:700px){
  .section-head{display:block;margin-bottom:14vw}
  .section-head .eyebrow{display:block;margin:0 0 8vw}
  .section-head h2{max-width:100%;font-size:15vw!important;line-height:.94!important;text-align:left!important;letter-spacing:-.08em!important;margin:0!important;padding:0!important}
  .hero-slogan{font-size:19vw!important;line-height:.92!important;margin:0!important;padding:0!important}
  .hero-meta{top:108px!important;left:20px!important;z-index:2}
  .hero h1 span,.section-head h2,.manifesto h2,.strip-intro h2,.statement h2,.direction-finder-intro h2,.testimonial h2,.faq h2,.contact h2,.process-steps h2{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto}
  .manifesto h2{margin-top:13vw!important;line-height:.98!important;padding:0!important}
  .strip-intro h2,.direction-finder-intro h2,.testimonial h2,.faq h2{margin:7vw 0 0!important;padding:0!important;line-height:.98!important;letter-spacing:-.08em!important}
  .strip-intro p:last-child{margin-top:8vw}
  .statement{min-height:92svh;padding:22vw 20px}
  .statement h2{font-size:15vw!important;line-height:.87!important;margin:0!important;padding:0!important}
  .statement .eyebrow{margin-top:9vw}
  .process-number{font-size:29vw;line-height:.78}
  .process-steps article{min-height:0;padding:13vw 0}
  .process-steps h2{margin:3vw 0 0!important;font-size:13vw!important;line-height:.9!important}
  .process-steps p{margin:6vw 0 0;font-size:14px;line-height:1.6}
  .contact h2{margin:12vw 0!important;font-size:14vw!important;line-height:.95!important;padding:0!important}
  .contact form{gap:27px}
  .testimonial blockquote{line-height:1.01}
  .faq-list summary{font-size:6.7vw;line-height:1.02}
}

/* Attachment picker for visual references, sketches and PDFs. */
.contact .file-upload{gap:13px;padding:18px;border:1px dashed #4d4d4d;background:linear-gradient(135deg,#0d0d0d,#080808);cursor:pointer;transition:border-color .25s,background .25s}.contact .file-upload:hover,.contact .file-upload:focus-within{border-color:var(--orange);background:#101010;box-shadow:none}.contact .file-upload>span:first-child{color:#b0b0b0}.contact .file-upload .file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.contact .file-upload-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:13px 14px;border:1px solid #343434;color:#fff!important;font:700 10px 'DM Mono',monospace!important;letter-spacing:.08em;background:#121212;transition:background .25s,color .25s}.contact .file-upload:hover .file-upload-button,.contact .file-upload:focus-within .file-upload-button{background:var(--orange);color:#080808!important}.contact .file-upload-button b{font:400 22px/0 Manrope,Arial,sans-serif}.contact .file-upload-help{color:#777;font:500 9px/1.45 'DM Mono',monospace;letter-spacing:.03em}.file-upload-status{min-height:13px;margin:-12px 0 0;color:#8d8d8d;font:500 9px/1.4 'DM Mono',monospace;letter-spacing:.03em}.file-upload-status.is-error{color:var(--orange)}@media(max-width:700px){.contact .file-upload{padding:16px}.contact .file-upload-button{padding:15px 14px}.file-upload-status{margin:-10px 0 0;font-size:9px}}

/* Footer payment details read like a finished brand element, not an invoice table. */
.footer-payment{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:7vw;margin-top:8vw;padding:clamp(34px,5vw,80px);overflow:hidden;background:linear-gradient(125deg,#151515 0%,#090909 62%,#101010 100%);border:1px solid #2c2c2c}.footer-payment:before{content:'SIHT';position:absolute;z-index:-1;right:-.08em;bottom:-.3em;color:rgba(255,255,255,.025);font:800 clamp(11rem,26vw,30rem)/.7 Manrope,Arial,sans-serif;letter-spacing:-.13em;pointer-events:none}.footer-payment-intro{align-self:space-between}.footer-payment-intro .eyebrow{margin:0;color:var(--orange)}.footer-payment h2{margin:1.3vw 0 0;color:#fff;font:800 clamp(3.2rem,6.3vw,7.8rem)/.82 Manrope,Arial,sans-serif;letter-spacing:-.105em}.footer-payment h2 i{font-family:'Playfair Display',serif;font-weight:700}.footer-payment-intro>p:last-child{max-width:180px;margin:3.5vw 0 0;color:#929292;font:500 11px/1.55 'DM Mono',monospace}.footer-payment dl{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:#303030;border:1px solid #303030}.footer-payment dl>div{min-width:0;padding:clamp(20px,2.5vw,38px);background:#0b0b0b;transition:background .3s ease}.footer-payment dl>div:hover{background:#141414}.footer-payment .payment-iban{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;background:var(--orange);color:#090909}.footer-payment dt{margin:0 0 11px;color:#787878;font:500 9px 'DM Mono',monospace;letter-spacing:.12em}.footer-payment dd{margin:0;color:#eee;font:500 12px/1.55 'DM Mono',monospace;overflow-wrap:anywhere}.footer-payment .payment-iban dt,.footer-payment .payment-iban dd{color:#080808}.footer-payment .payment-iban dd{font-size:clamp(1rem,1.45vw,1.55rem);font-weight:500;letter-spacing:.035em}.copy-iban{align-self:end;border:1px solid rgba(0,0,0,.45);padding:12px 15px;background:transparent;color:#080808;font:700 9px 'DM Mono',monospace;letter-spacing:.06em;white-space:nowrap;cursor:pointer;transition:background .25s,color .25s,transform .25s}.copy-iban:hover,.copy-iban.is-copied{background:#080808;color:#fff;transform:translateY(-2px)}.copy-iban b{padding-left:8px;font-size:13px;font-weight:400}.footer-payment dl>div:not(.payment-iban):last-child{grid-column:1/-1}.footer-payment dl>div:not(.payment-iban):last-child dd{color:#bdbdbd}@media(max-width:700px){.footer-payment{display:block;margin-top:18vw;padding:34px 20px}.footer-payment h2{margin-top:6vw;font-size:15vw;line-height:.87}.footer-payment-intro>p:last-child{margin-top:9vw}.footer-payment dl{grid-template-columns:1fr;margin-top:14vw}.footer-payment dl>div{padding:24px 20px}.footer-payment .payment-iban{grid-column:auto;grid-template-columns:1fr;align-items:start}.footer-payment .payment-iban dd{font-size:4.3vw}.footer-payment dl>div:not(.payment-iban):last-child{grid-column:auto}.copy-iban{justify-self:start;margin-top:9px}.footer-payment:before{font-size:46vw;right:-.13em;bottom:-.1em}}
