/* Editorial motion layer — restrained, materials-led and deliberately lightweight. */
:root{--copper-bright:#d59a6b}

.scroll-progress{position:fixed;z-index:1400;left:0;right:0;top:0;height:3px;pointer-events:none;background:rgba(255,255,255,.04)}
.scroll-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--copper),var(--copper-light));transform:scaleX(var(--scroll-progress,0));transform-origin:left center;box-shadow:0 0 14px rgba(213,154,107,.45)}

.material-intro{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;background:var(--graphite);color:var(--bone);pointer-events:none;animation:intro-leave 1.7s cubic-bezier(.76,0,.24,1) both}
.material-intro p{position:absolute;display:grid;gap:.2rem;margin:0;text-align:center;text-transform:uppercase;letter-spacing:.18em;animation:intro-copy 1.25s ease both}
.material-intro p b{font:500 clamp(2rem,5vw,4.6rem)/.9 var(--font-display);letter-spacing:-.035em}
.material-intro p span{font:500 .65rem/1.2 var(--font-mono);color:var(--copper-light)}
.material-aperture{position:absolute;width:min(62vw,610px);aspect-ratio:1;border:1px solid rgba(192,126,78,.4);border-radius:50%;animation:aperture-open 1.6s cubic-bezier(.7,0,.2,1) both}
.material-aperture i{position:absolute;inset:12%;border:1px solid rgba(255,255,255,.16);border-radius:50%}
.material-aperture i:nth-child(2){inset:29%;border-color:rgba(192,126,78,.55)}
.material-aperture i:nth-child(3){inset:43%;background:var(--copper);border:0;box-shadow:0 0 70px rgba(192,126,78,.3)}
body.intro-skip .material-intro{display:none}

.hero{isolation:isolate;--mouse-x:70%;--mouse-y:28%}
.hero:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle 34rem at var(--mouse-x) var(--mouse-y),rgba(213,154,107,.14),transparent 68%);mix-blend-mode:screen;transition:opacity .4s ease}
.hero>img{top:-6%;bottom:auto;height:112%;max-width:none;animation:none;transform:translate3d(0,var(--hero-shift,0),0) scale(1.035);will-change:transform}
.hero .shade{z-index:1}
.hero-grid{z-index:3}
.hero .spec{min-width:0;width:100%}
.hero .spec dd{min-width:0;overflow-wrap:anywhere}
.hero-copy h1{font-size:clamp(4.25rem,8.4vw,9.4rem);line-height:.82;max-width:9ch}
.hero-copy h1 em{color:var(--copper-bright)}
.hero-copy .lead{max-width:56ch}
.hero-orbit{position:absolute;z-index:2;right:clamp(-9rem,-5vw,-2rem);top:18%;width:clamp(18rem,31vw,35rem);aspect-ratio:1;border:1px solid rgba(219,183,150,.35);border-radius:50%;opacity:.7;animation:orbit-in 1.7s .7s var(--ease) both,orbit-drift 16s 2.4s ease-in-out infinite alternate}
.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(219,183,150,.18)}
.hero-orbit:before{inset:13%;animation:ring-spin 24s linear infinite;border-style:dashed}.hero-orbit:after{inset:33%;background:rgba(192,126,78,.08);animation:ring-breathe 5s ease-in-out infinite}
.hero-orbit span{position:absolute;left:9%;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;font:500 .6rem/1 var(--font-mono);letter-spacing:.21em;color:var(--copper-light);white-space:nowrap}
.scroll-cue{position:absolute;z-index:4;left:var(--gutter);bottom:1.3rem;display:flex;align-items:center;gap:.8rem;color:rgba(247,244,238,.75);text-decoration:none;font:500 .62rem/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase}
.scroll-cue i{display:block;width:48px;height:1px;background:var(--copper-light);transform-origin:left;animation:cue-pulse 1.8s ease-in-out infinite}

.precision-story{position:relative;padding:clamp(6rem,12vw,10rem) 0;background:var(--graphite);color:var(--bone);overflow:hidden;border-top:1px solid var(--rule-dark)}
.precision-story:before{content:"";position:absolute;right:-12vw;top:-34%;width:56vw;aspect-ratio:1;border:1px solid rgba(192,126,78,.16);border-radius:50%;box-shadow:0 0 0 7vw rgba(192,126,78,.035),0 0 0 14vw rgba(192,126,78,.025)}
.precision-story .shell{position:relative}
.precision-story .eyebrow{color:var(--copper-light);margin:0 0 2.4rem}
.story-title{max-width:11ch;font-size:clamp(4rem,9.5vw,10.2rem);line-height:.82;letter-spacing:-.045em;margin-bottom:clamp(4rem,9vw,8rem)}
.story-title em{color:var(--copper-bright)}
.story-title{translate:0 var(--story-shift,0)}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-dark)}
.story-grid article{position:relative;padding:2rem clamp(1rem,3vw,3rem) 0 0;min-height:15rem}
.story-grid article+article{border-left:1px solid var(--rule-dark);padding-left:clamp(1rem,3vw,3rem)}
.story-grid span{font:500 .7rem/1 var(--font-mono);color:var(--copper-light);letter-spacing:.14em}
.story-grid h3{font:400 clamp(1.8rem,3vw,3.2rem)/1 var(--font-display);margin:3rem 0 1rem}
.story-grid p{color:var(--muted-dark);font-size:.94rem;max-width:31ch}

.material-ticker{overflow:hidden;background:var(--copper);color:var(--graphite);border-block:1px solid rgba(17,20,22,.4);padding:1.05rem 0;white-space:nowrap}
.ticker-track{display:flex;width:max-content;animation:ticker-flow 32s linear infinite;will-change:transform}
.ticker-track span{font:600 clamp(.72rem,1vw,.88rem)/1 var(--font-mono);letter-spacing:.16em}
.ticker-track i{font-style:normal;margin:0 1.4rem;color:var(--bone)}
.material-ticker:hover .ticker-track{animation-play-state:paused}

.capstrip{border-top:1px solid var(--rule-dark)}
.card,.gas-card{--rx:0deg;--ry:0deg;--glow-x:50%;--glow-y:50%;position:relative;transition:transform .28s ease-out,box-shadow .45s var(--ease);transform-style:preserve-3d}
.card:after,.gas-card:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle 12rem at var(--glow-x) var(--glow-y),rgba(213,154,107,.18),transparent 70%);transition:opacity .25s ease}
.card:hover,.gas-card:hover{z-index:2;transform:perspective(900px) translateY(-6px) rotateX(var(--rx)) rotateY(var(--ry));box-shadow:0 22px 55px rgba(17,20,22,.16)}
.card:hover:after,.gas-card:hover:after{opacity:1}
.card .ref,.gas-card .ref{transition:letter-spacing .35s var(--ease)}
.card:hover .ref,.gas-card:hover .ref{letter-spacing:.18em}
.button{position:relative;overflow:hidden;transition:color .3s ease,background-color .3s ease,border-color .3s ease,transform .3s ease}
.button:hover{transform:translateY(-2px)}
.intro h2{font-size:clamp(3.2rem,6.6vw,7.2rem);line-height:.9;letter-spacing:-.035em}
.footer-contact{display:flex;flex-wrap:wrap;gap:clamp(.8rem,2vw,1.4rem);margin-top:2rem}
.footer-contact a{display:grid;gap:.35rem;min-width:min(100%,18rem);padding:1.1rem 1.2rem;border:1px solid var(--rule-dark);text-decoration:none;transition:border-color .3s ease,background .3s ease,transform .3s ease}
.footer-contact a:hover{border-color:var(--copper);background:rgba(192,126,78,.08);transform:translateY(-2px)}
.footer-contact span{font:500 .62rem/1 var(--font-mono);letter-spacing:.15em;color:var(--copper-light)}
.footer-contact strong{font:500 clamp(.86rem,1.2vw,1.05rem)/1.25 var(--font-main);color:var(--bone);overflow-wrap:anywhere}
.footer-contact .whatsapp-only{border-color:rgba(213,154,107,.56)}
.footer-contact .whatsapp-only span{display:inline-flex;align-items:center;gap:.55rem;color:#e7b58c}
.footer-contact .whatsapp-only span:before{content:"";width:.48rem;height:.48rem;border-radius:50%;background:#35c96f;box-shadow:0 0 0 4px rgba(53,201,111,.12)}
.footer-links{padding-top:.2rem}

@keyframes intro-leave{0%,63%{clip-path:inset(0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes aperture-open{0%{transform:scale(.04);opacity:0}28%{opacity:1}100%{transform:scale(1.8);opacity:.2}}
@keyframes intro-copy{0%,18%{opacity:0;transform:translateY(10px)}38%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes orbit-in{from{opacity:0;transform:scale(.8) rotate(-12deg)}to{opacity:.7;transform:none}}
@keyframes orbit-drift{from{translate:0 0;rotate:0deg}to{translate:-2.2rem 1.2rem;rotate:8deg}}
@keyframes ring-spin{to{transform:rotate(360deg)}}
@keyframes ring-breathe{0%,100%{transform:scale(.9);opacity:.35}50%{transform:scale(1.08);opacity:1}}
@keyframes cue-pulse{0%,100%{transform:scaleX(.35);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@keyframes ticker-flow{to{transform:translateX(-50%)}}

@media(max-width:1199px){.hero-orbit{right:-8rem;top:12%;opacity:.45}.hero-copy h1{font-size:clamp(4.5rem,12vw,8rem)}.scroll-cue{left:var(--gutter)}}
@media(max-width:899px){.story-grid{grid-template-columns:1fr}.story-grid article{min-height:auto;padding:1.7rem 0 2.2rem}.story-grid article+article{border-left:0;border-top:1px solid var(--rule-dark);padding-left:0}.story-grid h3{margin:1.5rem 0 .7rem}.precision-story:before{width:90vw;right:-42vw}.intro h2{font-size:clamp(3.1rem,11vw,5.6rem)}}
@media(max-width:639px){.material-aperture{width:110vw}.hero{padding-bottom:5rem}.hero-copy{min-width:0;width:100%}.hero-copy h1{font-size:clamp(3.1rem,13.2vw,4.25rem);line-height:.87;max-width:100%}.hero-copy .lead{font-size:1rem;max-width:100%}.hero-orbit{right:-10rem;top:8%;width:22rem;opacity:.28}.hero-orbit span{display:none}.hero .spec{max-width:100%}.hero .spec dl div{min-width:0}.scroll-cue{bottom:1.1rem}.precision-story{padding:5.5rem 0}.story-title{font-size:clamp(3.5rem,17vw,5.4rem)}.card:hover,.gas-card:hover{transform:none;box-shadow:none}.material-ticker{padding:.85rem 0}.footer-contact{display:grid}.footer-contact a{min-width:0}}
@media(prefers-reduced-motion:reduce){.material-intro{display:none}.hero>img{transform:none;will-change:auto}.hero-orbit,.hero-orbit:before,.hero-orbit:after,.scroll-cue i,.ticker-track{animation:none}.card,.gas-card,.button,.footer-contact a{transition:none}.card:hover,.gas-card:hover,.button:hover,.footer-contact a:hover{transform:none}.story-title{letter-spacing:-.035em;translate:none}.scroll-progress{display:none}}
