/*
Theme Name: ORVYN
Description: Site bilingue ORVYN, com gestão de conteúdos, redes sociais e pedidos no WordPress.
Version: 1.3.6
Requires at least: 6.3
Requires PHP: 7.4
Author: ORVYN
Text Domain: orvyn
*/
@charset "UTF-8";
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url("assets/fonts/montserrat-300.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/montserrat-400.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/montserrat-500.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/montserrat-600.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/montserrat-700.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/montserrat-800.woff") format("woff")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url("assets/fonts/montserrat-900.woff") format("woff")}

:root{--black:#000000;--white:#ffffff;--cyan:#24d3ff;--blue:#2b3a99;--pink:#fa149a;--violet:#780156;--muted:#a5a6a3;--line:#343534;--pad:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;max-width:100%;height:auto}p{line-height:1.65}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.055em}h2{font-size:clamp(42px,5.7vw,86px);line-height:1.03}em{font-style:normal;color:#939593}section{scroll-margin-top:20px}.skip{position:fixed;top:-100px;left:20px;z-index:20;padding:15px;background:white;color:black}.skip:focus{top:12px}.header{height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24;position:relative;z-index:10;background:var(--black)}.brand{width:158px;flex-shrink:0}.header nav{display:flex;gap:34px;align-items:center;font-size:13px}.header nav a{padding:12px 0}.header nav a:hover{color:#a5a6a3}.nav-contact{margin-left:25px;border-bottom:1px solid #777}.nav-contact span{margin-left:20px}.menu{display:none}.hero{min-height:770px;height:calc(100svh - 100px);max-height:1060px;position:relative;isolation:isolate;overflow:hidden}.hero-art{position:absolute;z-index:-1;background:url('assets/orbit.png') center/contain no-repeat;left:35%;right:-37%;top:20%;bottom:8%;opacity:.64;transform:rotate(-23deg);animation:arrive 1.6s ease-out both}.hero-inner{padding:50px var(--pad) 80px;position:relative}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:12px}.dot{width:6px;height:6px;border-radius:50%;background:#ddd}.hero h1{font-size:clamp(95px,11.6vw,184px);line-height:.9;margin-top:44px;letter-spacing:-.075em;max-width:760px}.orbit-word{font-weight:900;color:var(--white)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:38px;max-width:1100px}.hero-bottom p{font-size:16px;line-height:1.6;color:#b6b7b3}.round-link{display:flex;align-items:center;gap:22px;font-size:12px}.circle{width:55px;height:55px;display:grid;place-items:center;border:1px solid #777;border-radius:50%;font-size:24px;transition:.25s}.round-link:hover .circle{background:var(--white);color:black;transform:translateY(4px)}.hero-foot{position:absolute;bottom:0;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #ffffff35;font-size:9px;letter-spacing:.14em;color:#ababab}.section{padding:72px var(--pad) 105px}.light{background:var(--white);color:var(--black)}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.14em;margin-bottom:65px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.about h2 em{color:#858581}.about-copy{padding-top:8px;max-width:530px}.lead{font-size:clamp(21px,2vw,29px);line-height:1.4;letter-spacing:-.025em}.about-copy>p+p{font-size:16px;color:#555651;margin-top:28px}.text-link{font-size:13px;border-bottom:1px solid #777;padding:0 0 10px;display:inline-flex;justify-content:space-between;gap:30px;margin-top:30px;line-height:1.6}.text-link:hover{opacity:.6}.manifesto{display:flex;justify-content:space-between;align-items:start;border-top:1px solid #bcbcb7;margin-top:80px;padding-top:30px}.manifesto>span{font-size:10px;letter-spacing:.12em;padding-top:7px}.manifesto p{font-size:clamp(24px,3vw,43px);line-height:1.25;letter-spacing:-.04em;width:45%}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:65px}.section-intro>p{font-size:15px;color:#aaa}.services{padding-bottom:85px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:65px 1fr 40px;align-items:center;padding:29px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary:hover h3{color:#b4b5b3}.number{font-size:11px;color:#929390}summary h3{font-size:clamp(24px,3.5vw,47px);line-height:1.1;letter-spacing:-.04em}.plus{font-size:30px;font-weight:300;text-align:right;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-body{margin-left:65px;max-width:790px;padding:0 0 30px}.service-body p{color:#b0b1ad;font-size:16px;max-width:620px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.tags span{border:1px solid #434442;border-radius:25px;font-size:10px;letter-spacing:.03em;padding:8px 13px}.production{background:#101111;padding-top:60px}.production-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center}.camera-art{position:relative;overflow:hidden;background:#020303;align-self:stretch;min-height:610px}.camera-art>img{height:100%;width:100%;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:24px;left:24px;font-size:9px;letter-spacing:.12em}.production-copy>.eyebrow{margin-bottom:26px}.production-copy h2{font-size:clamp(40px,5vw,72px)}.production-copy .lead{font-size:23px;margin-top:29px}.production-copy>p:not(.eyebrow):not(.lead){font-size:14px;color:#aaa;margin-top:18px;max-width:490px}.production-types{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 15px;margin:28px 0 0;font-size:12px;color:#b8b9b5}.production-types li{border-top:1px solid #333;padding-top:12px}.production-copy .text-link{font-size:12px}.method h2{font-size:clamp(40px,5vw,70px)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:70px}.steps article{border-top:1px solid #b3b3ad;padding-top:18px}.step-number{font-size:11px;color:#686965}.steps h3{font-size:32px;letter-spacing:-.04em;margin:35px 0 18px}.steps p{font-size:14px;color:#595a56;max-width:240px}.contact{padding-bottom:65px}.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-grid>div>p{margin-top:32px;color:#aaa;font-size:15px}.contact-circle{height:190px;width:190px;flex-shrink:0;border:1px solid #737470;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:.3s;margin-right:3vw}.contact-circle>span:first-child{font-size:55px;font-weight:300}.contact-circle>span:last-child{font-size:12px}.contact-circle:hover{background:var(--white);color:var(--black);transform:rotate(-5deg)}.contact-links{display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:80px;padding-top:30px}.contact-links>a{font-size:clamp(22px,3.2vw,45px);letter-spacing:-.04em;display:flex;gap:35px}.contact-links>div>span{font-size:9px;letter-spacing:.12em;color:#999}.contact-links>div>p{font-size:14px;margin-top:8px}footer{border-top:1px solid var(--line);padding:32px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:30px}footer .brand{width:120px}footer>span,footer>a:last-child{font-size:10px;color:#aaa}@keyframes arrive{from{opacity:0;transform:translateY(30px) rotate(-19deg)}to{opacity:.64;transform:translateY(0) rotate(-23deg)}}
@media(min-width:1600px){.hero-inner{max-width:1700px;margin:auto}.section{padding-left:max(var(--pad),calc((100vw - 1500px)/2));padding-right:max(var(--pad),calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.header nav{gap:20px;font-size:11px}.nav-contact{margin-left:0}.brand{width:140px}.hero{min-height:740px}.hero h1{font-size:135px}.hero-art{left:25%;right:-60%;opacity:.4}.hero-bottom{gap:20px}.about-grid{gap:7%}.production-grid{gap:5%}.camera-art{min-height:570px}.production-types{font-size:10px}.steps{gap:22px}.contact-circle{width:150px;height:150px}.section-label{margin-bottom:45px}}
@media(max-width:720px){html{scroll-padding-top:30px}.header{height:82px}.brand{width:126px}.menu{display:flex;gap:20px;align-items:center;background:none;border:0;color:inherit;font-size:12px;padding:10px 0}.menu span{font-size:22px}.header nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px var(--pad) 28px;background:#101111;border-bottom:1px solid #555;font-size:17px;gap:13px;align-items:stretch;flex-direction:column}.header nav.is-open{display:flex}.nav-contact{border:0}.hero{height:auto;min-height:730px}.hero-inner{padding-top:32px;padding-bottom:100px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.hero h1{font-size:clamp(93px,21.6vw,150px);margin-top:55px;line-height:.93}.hero-art{left:15%;right:-125%;top:18%;bottom:20%;opacity:.4}.hero-bottom{margin-top:50px;align-items:start;flex-direction:column;gap:26px}.hero-bottom p{font-size:14px}.round-link{font-size:11px}.circle{width:40px;height:40px;font-size:20px}.hero-foot{font-size:8px;line-height:1.5}.hero-foot span:nth-child(2){display:none}.section{padding-top:48px;padding-bottom:65px}.section-label{font-size:8px;margin-bottom:40px}.section-label>span:last-child{text-align:right;max-width:155px}.about-grid{grid-template-columns:1fr;gap:35px}.about h2{font-size:59px}.about-copy .lead{font-size:23px}.about-copy>p+p{font-size:14px}.manifesto{margin-top:48px;gap:25px;flex-direction:column}.manifesto p{width:auto;font-size:31px}.manifesto>span{font-size:9px}.section-intro{align-items:start;flex-direction:column;gap:25px;margin-bottom:38px}.section-intro>p{font-size:13px}summary{grid-template-columns:32px 1fr 25px;padding:23px 0;gap:5px}summary h3{font-size:25px}.number{font-size:9px}.service-body{margin-left:37px;padding-bottom:25px}.service-body p{font-size:14px}.tags{gap:6px}.tags span{font-size:9px;padding:7px 10px}.production-grid{grid-template-columns:1fr;gap:35px}.camera-art{min-height:0;height:370px}.camera-art>img{object-position:center 48%}.production-copy h2{font-size:55px}.production-copy .lead{font-size:22px}.production-types{font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:38px 24px;margin-top:42px}.steps h3{font-size:26px;margin:23px 0 14px}.steps p{font-size:13px}.contact-grid{align-items:start;flex-direction:column;gap:35px}.contact-grid h2{font-size:clamp(39px,8.5vw,60px)}.contact-circle{width:126px;height:126px;align-self:flex-end;margin:0}.contact-circle>span:first-child{font-size:35px}.contact-circle>span:last-child{font-size:10px}.contact-links{margin-top:40px;align-items:start;flex-direction:column;gap:28px}.contact-links>a{font-size:clamp(22px,5.8vw,35px);gap:16px}footer{flex-wrap:wrap;gap:24px}footer>span{order:3;width:100%;font-size:9px}footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Official ORVYN assets and supplied Montserrat family. */
h1,h2,h3{font-weight:800;letter-spacing:-.045em}.hero h1{font-weight:900;font-size:clamp(94px,10.8vw,172px);letter-spacing:-.055em}.header .brand{width:164px;padding:10px 0}.header nav{font-size:12px;gap:28px}.header{min-height:100px}.dot{background:var(--cyan)}.hero-art{mix-blend-mode:screen}.brand img{width:100%;height:auto}.amo-logo{width:190px;height:auto;margin:0 0 32px}.production-copy h2{font-size:clamp(38px,4.7vw,68px)}.hero-bottom{max-width:1160px}.section-label{line-height:1.65}.section-intro{align-items:flex-start}.section-intro>p{padding-top:8px}.nav-contact:hover{color:var(--cyan)!important}.text-link:hover{opacity:1;color:var(--cyan)}.light .text-link:hover{color:var(--blue)}.round-link:hover .circle{background:var(--cyan);border-color:var(--cyan)}.contact-circle:hover{background:var(--cyan);border-color:var(--cyan)}.hero .eyebrow{letter-spacing:.1em}.service-body p{max-width:700px}.steps h3{font-size:29px}.contact-links>a{font-size:clamp(21px,2.7vw,40px)}
@media(max-width:1000px){.header nav{gap:17px;font-size:10px}.header .brand{width:140px}.hero h1{font-size:clamp(112px,13vw,140px)}}
@media(max-width:720px){.header{min-height:82px}.header .brand{width:126px}.header nav{font-size:16px;gap:13px}.hero h1{font-size:clamp(72px,19.5vw,140px);margin-top:48px}.hero{min-height:730px}.hero .eyebrow{font-size:8px;letter-spacing:.02em}.hero-bottom{margin-top:40px}.about h2{font-size:clamp(45px,10vw,59px)}.production-copy h2{font-size:clamp(39px,9vw,55px)}.section-intro>p{padding-top:0}.steps h3{font-size:23px}.contact-grid h2{font-size:clamp(34px,7.7vw,55px)}.amo-logo{width:155px;margin-bottom:28px}summary h3{font-size:clamp(21px,5.1vw,25px)}.service-body{margin-left:0}.text-link{gap:16px}.hero-art{opacity:.45}.header .nav-contact{margin:0}}

.about-kicker{margin-bottom:24px;font-size:13px;text-transform:none;letter-spacing:.01em}.manifesto p{font-size:clamp(24px,2.7vw,39px)}




/* Original split composition: black star field and complete ship render. */
.hero{min-height:740px;height:calc(100svh - 100px);max-height:1060px;background:#000;--star-x:0px;--star-y:0px}
.hero-inner{padding:50px var(--pad) 80px;position:relative;z-index:4;pointer-events:none}.hero-inner a{pointer-events:auto}
.hero .eyebrow{justify-content:flex-start;font-size:11px;letter-spacing:.1em;color:inherit}
.hero h1{font-size:clamp(86px,9vw,150px);line-height:.9;max-width:53%;text-align:left;letter-spacing:-.055em;margin-top:44px;white-space:normal;animation:none}
.hero-bottom{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:38px;max-width:1100px}.hero-bottom p{font-size:16px;color:#b6b7b3}.hero-bottom .round-link{font-size:11px}.hero-bottom .circle{width:40px;height:40px;font-size:20px}
.hero-art{position:absolute;z-index:1;left:41%;right:3%;top:20%;bottom:auto;aspect-ratio:1672/1100;background:none;opacity:1;transform:none;animation:none;mix-blend-mode:normal;pointer-events:none;overflow:visible}
.landing-soil{position:absolute;inset:-9% -10% -13%;z-index:0;background:url('assets/landing-terrain-v2.png') center/100% 100% no-repeat;filter:brightness(.64) saturate(.6);mask-image:radial-gradient(ellipse 65% 40% at 54% 72%,#000 25%,#000b 50%,transparent 83%)}
.landing-ship{position:absolute;inset:0 0 auto;z-index:3;isolation:isolate;transform-origin:50% 65%;animation:ship-descent 10s linear both}
.landing-ship img{display:block;position:relative;z-index:2;width:100%;height:auto;max-width:none;filter:brightness(.56) contrast(1.12) sepia(.2) saturate(.58);animation:ship-light-arrival 10s linear both}
.contact-shadows{position:absolute;inset:0;z-index:1}.contact-shadows span{position:absolute;border-radius:50%;background:radial-gradient(ellipse,#000 25%,#000b 45%,transparent 72%);animation:shadow-arrival 10s linear both;transform:rotate(9deg)}
.shadow-rear{left:8%;top:45%;width:23%;height:6%}.shadow-front{left:66%;top:73%;width:26%;height:6%}
.thruster{position:absolute;z-index:1;width:7%;height:25%;border-radius:15% 15% 60% 60%;background:radial-gradient(ellipse at 50% 0,#fff4d9dc,#e5b67580 30%,#c5883d40 55%,transparent 75%);filter:blur(3px);transform-origin:top;animation:thrust-descent 10s linear both}.thruster-back{left:13%;top:55%}.thruster-front{left:75%;top:86%;height:19%}
.dust{position:absolute;background:url('assets/landing-dust-v2.png') center/100% 100% no-repeat;mask-image:radial-gradient(ellipse,#000 18%,#0009 42%,transparent 70%);filter:brightness(.55) saturate(.4) blur(1.2px);opacity:0;transform-origin:50% 70%;pointer-events:none}
.dust-back{z-index:4;left:-4%;right:35%;top:45%;height:24%;animation:dust-descent 14s linear both}
.dust-front{z-index:5;left:48%;right:-7%;top:62%;height:26%;animation:dust-forward 14s linear both}
.hero:not(.landing-ready) .hero-art *{animation-play-state:paused!important}.hero:not(.landing-ready) .landing-ship{visibility:hidden}
@keyframes ship-descent{0%{transform:translateY(calc(-100% - 400px)) scale(.9) rotate(-1.5deg)}18%{transform:translateY(-300px) scale(.91) rotate(-1.2deg)}35%{transform:translateY(-180px) scale(.935) rotate(-.8deg)}60%{transform:translateY(-65px) scale(.97) rotate(-.4deg)}82%{transform:translateY(-14px) scale(.992) rotate(-.1deg)}94%{transform:translateY(-3px) scale(.999) rotate(0deg)}100%{transform:translateY(0) scale(1) rotate(0deg)}}
@keyframes ship-light-arrival{0%,16%{filter:brightness(.36) contrast(1.12) sepia(.2) saturate(.58)}60%{filter:brightness(.47) contrast(1.12) sepia(.2) saturate(.58)}100%{filter:brightness(.56) contrast(1.12) sepia(.2) saturate(.58)}}
@keyframes shadow-arrival{0%,15%{opacity:.05;filter:blur(14px);scale:1.8}45%{opacity:.2;filter:blur(10px)}80%{opacity:.6;filter:blur(4px)}100%{opacity:.9;filter:blur(1px);scale:1}}
@keyframes thrust-descent{0%{opacity:.2;transform:scaleY(1.6)}22%,50%{opacity:.9;transform:scaleY(1.2)}80%{opacity:.65;transform:scaleY(.4)}95%{opacity:.2;transform:scaleY(.08)}100%{opacity:0;transform:scaleY(0)}}
@keyframes dust-descent{0%,32%{opacity:0;transform:translateX(3%) scale(.75,.65)}46%{opacity:.14;transform:translateX(0) scale(.9,.75)}64%{opacity:.38;transform:translateX(-5%) scale(1.1,.85)}76%{opacity:.22;transform:translateX(-12%) scale(1.25,.8)}100%{opacity:0;transform:translateX(-23%) scale(1.45,.65)}}
@keyframes dust-forward{0%,36%{opacity:0;transform:translateX(-3%) scale(.7,.6)}51%{opacity:.18;transform:translateX(0) scale(.9,.75)}68%{opacity:.46;transform:translateX(5%) scale(1.1,.85)}80%{opacity:.23;transform:translateX(12%) scale(1.25,.8)}100%{opacity:0;transform:translateX(23%) scale(1.45,.65)}}
.starfield{position:absolute;inset:-90px;z-index:0;pointer-events:none;overflow:hidden;background:none}.stars{position:absolute;inset:0;width:100%;height:100%;will-change:transform}.stars-far{transform:translate(calc(var(--star-x)*.25),calc(var(--star-y)*.25))}.stars-mid{transform:translate(calc(var(--star-x)*.6),calc(var(--star-y)*.6))}.stars-near{transform:translate(var(--star-x),var(--star-y))}
.hero-foot{z-index:5;color:#b4b6bc;border-color:#ffffff30}
@media(min-width:1600px){.hero-art{top:13%}}
@media(max-width:1000px) and (min-width:721px){.hero-art{left:40%;right:2%;top:28%}.hero h1{font-size:clamp(82px,10.5vw,104px)}}
@media(max-width:720px){.hero{min-height:900px;height:auto;max-height:none}.hero-inner{padding-top:32px;padding-bottom:90px}.hero h1{font-size:clamp(68px,18vw,112px);max-width:100%;margin-top:28px}.hero .eyebrow{font-size:8px;letter-spacing:.02em;max-width:310px;line-height:1.8}.hero-art{left:4%;right:4%;top:345px}.hero-bottom{margin-top:285px;gap:24px}.hero-bottom p{font-size:14px}.hero-foot{font-size:7px;gap:12px}.hero-foot>span:first-child{max-width:95px}}
@media(max-width:380px){.hero-art{top:320px}.hero-bottom{margin-top:245px}.hero{min-height:850px}}
@media(prefers-reduced-motion:reduce){.hero .landing-ship{transform:none;visibility:visible}.contact-shadows span{opacity:.9;filter:blur(1px);scale:1}.dust,.thruster{display:none}.stars{transform:none!important;will-change:auto}}

/* Scroll journey: native scrolling, layered depth and progressive entrances. */
.journey-ready .section{position:relative;isolation:isolate;overflow:clip}
.journey-ready .section>*,.journey-ready .production-grid{position:relative;z-index:1}
.journey-ready [data-journey]{transform:translate3d(var(--journey-x,0px),var(--journey-y,0px),0);opacity:var(--journey-opacity,1)}
.journey-ready .journey-active{will-change:transform,opacity}
.journey-ready .hero-art{transform:translate3d(0,var(--hero-depth,0px),0)}
.journey-ready .hero-inner{transform:translate3d(0,var(--hero-copy-depth,0px),0)}
.journey-ready .services::before,.journey-ready .production::before,.journey-ready .contact::before{content:"";position:absolute;z-index:0;width:115vw;height:58vw;border:1px solid #ffffff16;border-radius:50%;pointer-events:none;right:-58vw;top:8%;transform:translate3d(0,var(--orbit-shift,0px),0) rotate(var(--orbit-turn,-28deg))}
.journey-ready .production::before{right:auto;left:-64vw;top:17%;border-color:#24d3ff16}
.journey-ready .contact::before{width:85vw;height:85vw;right:-35vw;top:-25%;border-color:#ffffff18}
.journey-ready .camera-art>img{transform:translate3d(0,var(--camera-shift,0px),0) scale(1.24);transform-origin:center;will-change:transform}
.journey-ready .camera-art{clip-path:inset(var(--camera-inset,0%) 0 round 2px)}
.journey-ready .steps article{position:relative}
.journey-ready .steps article::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:100%;background:var(--blue);transform:scaleX(var(--step-fill,0));transform-origin:left}
.journey-ready .manifesto{border-top-color:transparent}
.journey-ready .manifesto::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:#bcbcb7;transform:scaleX(var(--section-fill,0));transform-origin:left}
.journey-ready [data-journey]:focus-within{opacity:1}
@media(min-width:1001px){.journey-ready .about-grid>div:first-child{position:sticky;top:90px;align-self:start}.journey-ready .about-grid{min-height:390px}}
@media(max-width:720px){.journey-ready .services::before,.journey-ready .production::before{width:180vw;height:100vw;right:-100vw}.journey-ready .camera-art>img{transform:translate3d(0,var(--camera-shift,0px),0) scale(1.18)}}
@media(prefers-reduced-motion:reduce){.journey-ready [data-journey],.journey-ready .hero-art,.journey-ready .hero-inner{transform:none!important;opacity:1!important;will-change:auto}.journey-ready .camera-art>img{transform:none;will-change:auto}.journey-ready .camera-art{clip-path:none}.journey-ready .section::before{display:none}.journey-ready .steps article::before,.journey-ready .manifesto::before{transform:none}.journey-ready .about-grid>div:first-child{position:static}}

/* Persistent menu: identical access at every scroll position. */
.header{z-index:100}
.menu,.menu-close{position:fixed;top:22px;right:var(--pad);z-index:110;display:grid;place-items:center;width:56px;height:56px;padding:0;border:1px solid #ffffff60;border-radius:50%;background:#080909;color:white;cursor:pointer;box-shadow:0 0 0 1px #0003;transition:background .2s,border-color .2s}
.menu:hover,.menu-close:hover{background:#202222;border-color:var(--cyan)}
.burger{width:23px;height:18px;position:relative;display:block}
.burger i{display:block;position:absolute;left:0;width:23px;height:1.5px;background:currentColor;transition:transform .25s}
.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:8px}.burger i:nth-child(3){top:16px}
.menu-close .burger i:first-child{top:8px;transform:rotate(45deg)}.menu-close .burger i:last-child{top:8px;transform:rotate(-45deg)}
body.menu-open{overflow:hidden}
.menu-panel{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;background:#080909;color:#fff;overflow:auto}
.menu-panel::backdrop{background:#000a}
.menu-content{min-height:100%;padding:80px var(--pad) 36px;max-width:1500px;margin:auto;display:flex;flex-direction:column}
.menu-content>.eyebrow{color:#8d918f;padding-right:75px;margin-bottom:48px}
.menu-content nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1}
.menu-content nav a{display:flex;align-items:center;gap:32px;font-size:clamp(28px,4.3vw,64px);font-weight:700;line-height:1.22;letter-spacing:-.045em;padding:12px 0;transition:color .2s,transform .2s}
.menu-content nav a>span:not([data-orvyn-language]){font-size:10px;font-weight:400;letter-spacing:.05em;color:#888;min-width:22px}
.menu-content nav a b{font-weight:400;color:var(--cyan);margin-left:15px}
.menu-content nav a:hover{color:var(--cyan);transform:translateX(8px)}
.menu-signature{margin-top:40px;padding-top:20px;border-top:1px solid #343534;color:#858985;font-size:10px;letter-spacing:.17em}

/* AMO: an audiovisual identity in motion, built from the name itself. */
.production{background:#0c0e0f;padding-top:72px}
.production-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:8%;align-items:center}
.amo-stage{position:relative;isolation:isolate;aspect-ratio:1/1.12;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:38px 25px;background:#080a0b}
.amo-frame{position:absolute;inset:9% 0 8%;border:1px solid #656b70;z-index:-1;pointer-events:none}
.frame-back{border-color:#24d3ff40;transform:translate3d(18px,calc(var(--amo-depth,0px) * -.6),0) rotate(-7deg)}
.frame-front{transform:translate3d(-5px,calc(var(--amo-depth,0px) * .5),0) rotate(3deg)}
.amo-stage-top,.amo-stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.15em;position:relative;z-index:2;color:#a5adb0}
.motion-mark{width:8px;height:8px;background:var(--cyan);border-radius:50%}
.amo-words{position:relative;z-index:1;padding:35px 0;line-height:.98;letter-spacing:-.06em;font-size:clamp(48px,6.2vw,94px);font-weight:800}
.amo-word{display:block;transform:translate3d(0,calc(var(--amo-depth,0px) * .35),0)}
.amo-word:nth-child(2){transform:translate3d(calc(var(--amo-depth,0px) * .3),0,0)}
.amo-word b{font-weight:800;color:var(--cyan)}
.amo-word.amo-on{font-size:1.7em;line-height:.95;letter-spacing:-.065em;margin-top:12px;transform:translate3d(calc(var(--amo-depth,0px) * -.3),calc(var(--amo-depth,0px) * -.3),0)}
.amo-dot{color:var(--cyan)}
.amo-wave{height:25px;display:flex;align-items:center;gap:4px}
.amo-wave i{width:2px;height:35%;background:var(--cyan);transform:scaleY(.6);animation:amo-sound 1.8s ease-in-out infinite alternate;animation-play-state:paused}
.amo-wave i:nth-child(3n){height:100%;animation-delay:-.7s}.amo-wave i:nth-child(3n + 1){height:60%;animation-delay:-1.3s}.amo-wave i:nth-child(4n){height:80%;animation-delay:-.4s}
.amo-stage.is-visible .amo-wave i{animation-play-state:running}
@keyframes amo-sound{to{transform:scaleY(1)}}
.production-copy .amo-logo{width:180px;margin-bottom:30px}
.production-copy h2{font-size:clamp(38px,4.5vw,65px)}
.production-copy h2 em{color:#949c9e}
.production-copy .lead{font-size:21px;line-height:1.5;margin-top:28px}
.production-copy .lead strong{display:block;font-weight:600;color:var(--cyan)}
.production-copy>p:not(.eyebrow):not(.lead){font-size:14px;line-height:1.8;max-width:520px;color:#b1b6b7;margin-top:17px}
.amo-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:85px}
.amo-process article{border-top:1px solid #3c4244;padding-top:22px}
.amo-process .eyebrow{font-size:9px;color:#99a2a5}
.amo-process h3{font-size:clamp(22px,2.2vw,31px);line-height:1.17;letter-spacing:-.035em;margin:24px 0 20px}
.amo-process p{font-size:14px;line-height:1.8;color:#a9b0b2;max-width:340px}
.amo-formats{margin-top:55px;padding-top:28px;border-top:1px solid #3c4244}
.amo-formats>.eyebrow{font-size:9px;color:#99a2a5}
.amo-formats .production-types{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;color:#e0e3e4;font-size:11px}
.amo-formats .production-types li{border:1px solid #41474a;border-radius:24px;padding:10px 16px}
@media(min-width:1600px){.amo-words{font-size:94px}}
@media(max-width:1000px){.production-grid{gap:6%}.amo-stage{padding:30px 18px}.amo-words{font-size:6vw}.amo-process{gap:25px}.amo-stage-top,.amo-stage-bottom{font-size:7px}.amo-wave{gap:3px}.production-copy h2{font-size:4.7vw}}
@media(max-width:720px){.menu,.menu-close{top:16px;width:50px;height:50px}.menu-content{padding-top:100px}.menu-content>.eyebrow{font-size:8px;padding-right:0;margin-bottom:32px}.menu-content nav a{font-size:clamp(24px,6.4vw,38px);gap:18px;padding:15px 0}.menu-content nav a b{margin-left:0}.production{padding-top:50px}.production>.section-label{gap:12px}.production-grid{grid-template-columns:1fr;gap:56px}.amo-stage{aspect-ratio:1.15;max-width:550px;width:100%;margin:0 auto;padding:24px}.amo-words{font-size:clamp(43px,10.7vw,70px);padding:22px 0}.amo-word.amo-on{font-size:1.5em}.amo-stage-top,.amo-stage-bottom{font-size:7px}.frame-back{transform:translate3d(9px,calc(var(--amo-depth,0px) * -.6),0) rotate(-4deg)}.frame-front{transform:translate3d(-3px,calc(var(--amo-depth,0px) * .5),0) rotate(2deg)}.production-copy h2{font-size:clamp(38px,9vw,58px)}.production-copy .amo-logo{width:160px}.production-copy .lead{font-size:21px}.amo-process{grid-template-columns:1fr;gap:30px;margin-top:48px}.amo-process h3{font-size:28px;margin-top:16px;margin-bottom:14px}.amo-process h3 br{display:none}.amo-process p{max-width:100%}.amo-formats{margin-top:35px}.amo-formats .production-types{font-size:10px;gap:8px}.amo-formats .production-types li{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.amo-frame,.amo-word,.amo-word:nth-child(2),.amo-word.amo-on{transform:none}.amo-wave i{animation:none;transform:none}.menu-content nav a{transition:none}}

/* The ORVYN method is a loop across four connected territories. */
.method .cycle-intro{align-items:flex-start;gap:5%;margin-bottom:26px}
.method .cycle-intro h2{font-size:clamp(38px,4.8vw,70px);max-width:70%;line-height:1.08}
.method .cycle-intro>p{max-width:340px;color:#5c5f60;font-size:15px;line-height:1.8;padding-top:8px}
.cycle-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:6%}
.cycle-map{position:relative;aspect-ratio:1;min-width:0;max-width:720px;width:100%;color:#aeb3b7}
.cycle-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cycle-arc{transition:color .3s,stroke-width .3s}
.cycle-map[data-active="0"] .arc-0,.cycle-map[data-active="1"] .arc-1,.cycle-map[data-active="2"] .arc-2,.cycle-map[data-active="3"] .arc-3{color:var(--blue);stroke-width:2.2}
.cycle-core{position:absolute;inset:23%;display:grid;place-items:center;color:#a8aeb1}
.cycle-crystal{position:absolute;inset:0;width:100%;height:100%;transform:rotate(calc(var(--section-fill,0) * 14deg));transform-origin:50% 50%}
.cycle-core-label{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#33383b;background:#fffffff2;padding:17px 10px;text-align:center}
.cycle-core-label>span:first-child{font-size:8px;letter-spacing:.16em}.cycle-core-label strong{font-size:13px;letter-spacing:.045em;font-weight:600}.cycle-core-arrow{color:var(--blue);font-size:29px;line-height:1;margin-top:3px}
.cycle-node{position:absolute;z-index:2;transform:translate(-50%,-50%);width:160px;border:0;background:#fff;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#6a7074;cursor:pointer;font-family:inherit}
.cycle-node>span{display:grid;place-items:center;border:1px solid #b1b7bb;border-radius:50%;width:32px;height:32px;font-size:10px;transition:background .25s,color .25s}
.cycle-node strong{font-size:clamp(13px,1.25vw,18px);font-weight:600;letter-spacing:-.03em;color:#42474b}
.cycle-node:hover strong,.cycle-node[aria-selected="true"] strong{color:var(--blue)}
.cycle-node[aria-selected="true"]>span{color:#fff;background:var(--blue);border-color:var(--blue)}
.node-0{left:50%;top:12%}.node-1{left:86%;top:50%}.node-2{left:50%;top:88%}.node-3{left:14%;top:50%}
.cycle-map-hint{position:absolute;bottom:-22px;left:0;right:0;text-align:center;color:#787d80;font-size:10px}
.cycle-details{min-height:460px;padding:28px 0 20px;max-width:480px}
.cycle-panel[hidden]{display:none}
.cycle-index{color:var(--blue);font-size:10px;letter-spacing:.12em;margin-bottom:25px}
.cycle-panel h3{font-size:clamp(27px,2.8vw,40px);font-weight:700;line-height:1.15;letter-spacing:-.04em;margin-bottom:24px}
.cycle-panel>p:not(.cycle-index){font-size:14px;line-height:1.85;color:#5c6164}
.cycle-output{border-top:1px solid #c6cbce;margin-top:27px;padding-top:22px}
.cycle-output>span{font-size:8px;letter-spacing:.1em;color:#747b80;line-height:1.7;display:block}
.cycle-output p{font-size:13px;line-height:1.8;color:#333a40;margin-top:10px}
.cycle-next{display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-bottom:1px solid #8b949a;padding:0 0 10px;margin-top:28px;background:none;color:#171d22;font-size:12px;cursor:pointer;text-align:left}
.cycle-next>span{font-size:20px;color:var(--blue)}.cycle-next:hover{color:var(--blue)}
.cycle-return{border-top:1px solid #b9c0c4;display:flex;align-items:center;gap:30px;margin-top:66px;padding-top:28px}
.cycle-return>span{font-size:46px;font-weight:300;color:var(--blue);line-height:1}
.cycle-return p{font-size:14px;line-height:1.8;color:#63696d;max-width:790px}
.cycle-return strong{color:#1e252a;font-weight:600;display:block;margin-bottom:4px}
@media(max-width:1000px){.cycle-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5%}.cycle-node{width:130px;padding:10px 3px}.cycle-node strong{font-size:13px}.cycle-core-label{gap:7px;padding:12px 4px}.cycle-core-label strong{font-size:10px}.cycle-core-label>span:first-child{font-size:7px}.cycle-panel h3{font-size:29px}.method .cycle-intro>p{font-size:13px;max-width:270px}.method .cycle-intro h2{font-size:4.7vw}.cycle-return{margin-top:35px}}
@media(max-width:720px){.method .cycle-intro{gap:23px;margin-bottom:24px}.method .cycle-intro h2{max-width:100%;font-size:clamp(34px,7.8vw,49px)}.method .cycle-intro>p{max-width:100%;font-size:14px}.cycle-layout{grid-template-columns:1fr;gap:42px}.cycle-map{max-width:520px;margin:0 auto}.cycle-node{width:112px;padding:7px 3px;gap:7px}.cycle-node>span{width:29px;height:29px;font-size:9px}.cycle-node strong{font-size:12px}.node-1{left:84%}.node-3{left:16%}.cycle-core{inset:25%}.cycle-core-label strong{font-size:9px}.cycle-core-label>span:first-child{font-size:6px}.cycle-core-label{gap:6px}.cycle-core-arrow{font-size:24px}.cycle-map-hint{font-size:9px;bottom:-21px}.cycle-details{min-height:440px;padding:25px 0 0;max-width:none;border-top:1px solid #c6cbce}.cycle-index{margin-bottom:20px}.cycle-panel h3{font-size:32px}.cycle-panel>p:not(.cycle-index){font-size:14px}.cycle-return{align-items:flex-start;gap:18px;margin-top:30px}.cycle-return p{font-size:13px}.cycle-return>span{font-size:37px}}
@media(max-width:380px){.cycle-node{width:100px}.cycle-node strong{font-size:11px}.cycle-core-label strong{font-size:8px}.cycle-core-label{padding:10px 0}}
@media(prefers-reduced-motion:reduce){.cycle-crystal{transform:none}.cycle-arc,.cycle-node>span{transition:none}}

/* Continuous movement in the cycle, without advancing the reader's selection. */
.cycle-traveller{transform-box:view-box;transform-origin:50% 50%;animation:cycle-travel 18s linear infinite;animation-play-state:paused;pointer-events:none}
.cycle-crystal{animation:cycle-crystal-drift 9s ease-in-out infinite alternate;animation-play-state:paused}
.cycle-map.motion-in-view .cycle-traveller,.cycle-map.motion-in-view .cycle-crystal{animation-play-state:running}
.cycle-panel:not([hidden]){animation:cycle-panel-in .38s ease-out both}
@keyframes cycle-travel{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes cycle-crystal-drift{from{transform:translateY(-7px) rotate(calc(var(--section-fill,0) * 14deg - 5deg)) scale(.98)}to{transform:translateY(7px) rotate(calc(var(--section-fill,0) * 14deg + 7deg)) scale(1.025)}}
@keyframes cycle-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.cycle-traveller{animation-duration:22s}.cycle-node{min-height:68px}.cycle-next{min-height:44px;padding-top:8px}.cycle-panel h3{font-size:clamp(27px,7.2vw,32px)}}
@media(prefers-reduced-motion:reduce){.cycle-traveller{display:none}.cycle-crystal,.cycle-panel:not([hidden]){animation:none;transform:none}}

/* Direct contact details */
.contact-address{max-width:340px}.contact-phone{display:inline-block;font-size:16px;line-height:1.5;margin-top:14px;padding:6px 0}.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:721px) and (max-width:1000px){.contact-links{align-items:flex-start;flex-wrap:wrap;gap:28px}}
