:root{
  --black:#030303;
  --black-2:#070707;
  --black-3:#0d0d0d;
  --ivory:#f4f1ea;
  --muted:#9d9991;
  --champagne:#d7c3a0;
  --champagne-2:#b49a73;
  --line:rgba(232,227,218,.14);
  --font:'Manrope',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--font);overflow-x:hidden}
body.modal-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--champagne);color:#090807}
:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}

.page-progress{position:fixed;z-index:100;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.05)}
.page-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#756044,var(--champagne),#756044)}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.045;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.pointer-light{position:fixed;z-index:2;width:480px;height:480px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(215,195,160,.08),rgba(215,195,160,.025) 42%,transparent 70%);filter:blur(12px);transform:translate(-50%,-50%);will-change:transform}

.site-nav{position:fixed;z-index:80;top:0;left:0;right:0;height:78px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:height .35s,background .35s,border-color .35s}
.site-nav.scrolled{height:66px;background:rgba(3,3,3,.78);backdrop-filter:blur(18px);border-bottom-color:rgba(255,255,255,.08)}
.brand{display:block;width:132px}
.brand img{display:block;width:100%;height:38px;object-fit:cover}
.nav-links{display:flex;align-items:center;gap:26px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.nav-links a{text-decoration:none;color:rgba(244,241,234,.66);transition:color .25s}
.nav-links a:hover{color:var(--ivory)}
.nav-cta{border:1px solid rgba(244,241,234,.2);background:rgba(244,241,234,.98);color:#090807;border-radius:999px;padding:11px 17px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .3s,background .3s}
.nav-cta:hover{transform:translateY(-2px);background:#fff}
.nav-cta span{margin-left:7px}

.micro{margin:0;color:#8d877f;font-size:9px;line-height:1.4;letter-spacing:.19em;font-weight:700;text-transform:uppercase}

/* HERO */
.hero{position:relative;min-height:max(920px,118vh);padding:138px clamp(20px,4vw,64px) 0;overflow:hidden;background:
  radial-gradient(ellipse at 50% 44%,rgba(151,126,91,.065),transparent 31%),
  radial-gradient(circle at 82% 15%,rgba(255,255,255,.025),transparent 18%),
  linear-gradient(180deg,#010101 0%,#040404 50%,#020202 100%)}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),
  linear-gradient(rgba(255,255,255,.011) 1px,transparent 1px);
  background-size:100px 100px;mask-image:radial-gradient(ellipse at 50% 48%,#000 0 25%,transparent 70%)}
.hero-atmosphere{position:absolute;left:50%;top:38%;width:min(1200px,90vw);height:440px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(215,195,160,.09),rgba(116,95,70,.028) 40%,transparent 72%);filter:blur(46px);pointer-events:none}
.hero-copy{position:relative;z-index:10;max-width:1540px;margin:0 auto}
.hero h1{margin:22px 0 0;font-size:clamp(58px,8.55vw,146px);line-height:.82;letter-spacing:-.075em;font-weight:600;text-transform:uppercase}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 span:nth-child(2){margin-left:8.5vw}
.hero h1 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--champagne);letter-spacing:-.045em}
.hero-copy-bottom{display:grid;grid-template-columns:minmax(290px,600px) 1fr;gap:50px;align-items:start;margin:34px 0 0 8.6vw}
.hero-copy-bottom>p{margin:0;max-width:560px;color:#918d86;font-size:clamp(13px,1.05vw,17px);line-height:1.72}
.hero-index{justify-self:end;display:flex;flex-direction:column;gap:6px;align-items:flex-end;color:#605b54;font-size:8px;letter-spacing:.18em}
.hero-index b{color:#cfc4b2;font-size:11px;font-weight:500}

.showcase-shell{position:absolute;z-index:8;left:0;right:0;bottom:0;height:min(66vh,760px)}
.showcase-viewport{position:absolute;left:50%;bottom:2px;width:min(1560px,116vw);height:100%;transform:translateX(-50%);perspective:2100px;perspective-origin:50% 45%;touch-action:pan-y;cursor:grab;outline:none}
.showcase-viewport:active{cursor:grabbing}
.stage-light{position:absolute;left:50%;top:41%;width:min(1080px,88vw);height:390px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(215,195,160,.105),rgba(104,84,61,.028) 42%,transparent 73%);filter:blur(35px);pointer-events:none}
.stage-floor{position:absolute;left:50%;bottom:62px;width:min(1160px,88vw);height:250px;transform:translateX(-50%) rotateX(72deg);transform-origin:center bottom;background:radial-gradient(ellipse,rgba(235,222,198,.07),rgba(80,70,58,.022) 34%,transparent 70%);filter:blur(6px);border-top:1px solid rgba(255,255,255,.025);pointer-events:none}
.orbit-rig{position:absolute;left:50%;top:46%;width:760px;height:430px;transform:translate(-50%,-50%) rotateX(-4deg);transform-style:preserve-3d}
.project-ring{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.ring-panel{--angle:0deg;--radius:900px;position:absolute;left:50%;top:50%;width:760px;height:428px;margin:-214px 0 0 -380px;transform:rotateY(var(--angle)) translateZ(var(--radius));transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,filter,opacity;filter:brightness(var(--brightness,.72)) saturate(var(--saturation,.76));opacity:var(--opacity,.7);transition:filter .16s linear,opacity .16s linear}
.ring-panel:nth-child(1){--angle:0deg}
.ring-panel:nth-child(2){--angle:90deg}
.ring-panel:nth-child(3){--angle:180deg}
.ring-panel:nth-child(4){--angle:270deg}
.panel-frame{position:absolute;inset:0;overflow:hidden;border-radius:18px;background:#0b0b0b;border:1px solid rgba(238,228,211,.16);box-shadow:0 48px 110px rgba(0,0,0,.66),inset 0 1px rgba(255,255,255,.055),inset 0 -1px rgba(0,0,0,.65)}
.panel-frame:after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.055) 47%,transparent 56%);transform:translateX(var(--shine,-130%))}
.panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.018);filter:contrast(1.04)}
.panel-tint{position:absolute;inset:0}
.carnival-tint{background:linear-gradient(135deg,rgba(4,4,4,.08),rgba(4,4,4,.25) 42%,rgba(24,6,4,.72)),linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62))}
.school-tint{background:linear-gradient(130deg,rgba(36,8,13,.04),rgba(36,8,13,.28) 42%,rgba(22,4,7,.72)),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.62))}
.panel-browser{position:absolute;z-index:5;left:0;right:0;top:0;height:36px;display:flex;align-items:center;gap:6px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(15,15,15,.88),rgba(8,8,8,.7));backdrop-filter:blur(8px)}
.panel-browser i{display:block;width:6px;height:6px;border-radius:50%;background:#555}
.panel-browser i:first-child{background:var(--champagne-2)}
.panel-browser span{margin-left:7px;color:#7c776f;font-size:7px;letter-spacing:.16em;text-transform:uppercase}
.panel-copy{position:absolute;z-index:7;left:28px;right:28px;bottom:25px}
.panel-copy small{display:block;color:var(--champagne);font-size:8px;letter-spacing:.18em;font-weight:700}
.panel-copy strong{display:block;margin-top:7px;font-size:clamp(40px,4.1vw,64px);line-height:.88;letter-spacing:-.065em;font-weight:600}
.panel-copy span{display:block;margin-top:8px;color:rgba(255,255,255,.6);font-size:10px;letter-spacing:.065em}
.panel-corner{position:absolute;z-index:6;right:18px;top:52px;color:rgba(255,255,255,.3);font-size:7px;letter-spacing:.18em}

.panel-crece{background:radial-gradient(circle at 78% 20%,rgba(174,209,181,.16),transparent 26%),linear-gradient(145deg,#101512,#060806 68%)}
.crece-composition{position:absolute;inset:36px 0 0;overflow:hidden}
.crece-editorial{position:absolute;left:44px;top:54px;width:315px}
.crece-editorial small{font-size:7px;letter-spacing:.2em;color:#8a988d}
.crece-editorial strong{display:block;margin-top:15px;font-size:48px;line-height:.9;letter-spacing:-.065em;font-weight:600}
.crece-editorial strong em{font-family:var(--serif);font-weight:400;color:#b8c7b9}
.crece-editorial p{max-width:260px;margin:18px 0 0;color:#738076;font-size:11px;line-height:1.6}
.crece-phone{position:absolute;right:78px;top:26px;width:220px;height:335px;padding:22px 18px;border-radius:30px;background:linear-gradient(155deg,#f4f1e8,#dfe5dd);color:#112018;box-shadow:0 35px 70px rgba(0,0,0,.42);transform:rotate(5deg)}
.crece-head{display:flex;justify-content:space-between;font-size:10px}.crece-head span{color:#738077}
.crece-phone>small{display:block;margin-top:28px;color:#839087;font-size:7px;letter-spacing:.16em}
.crece-phone h3{margin:5px 0 14px;font-size:25px;letter-spacing:-.05em}
.crece-score{width:103px;height:103px;margin:4px auto 13px;border-radius:50%;border:13px solid #9db7a2;display:grid;place-items:center;align-content:center}
.crece-score b{font-size:19px}.crece-score span{font-size:6px;color:#667267}
.crece-metrics{display:flex;gap:6px}.crece-metrics i{display:block;flex:1;height:24px;border-radius:7px;background:#cad7cb}.crece-metrics i:nth-child(2){background:#afc6b2}
.crece-meal{display:grid;grid-template-columns:7px 1fr auto;gap:6px;align-items:center;margin-top:10px;padding:9px;border-radius:10px;background:#fff;font-size:7px}
.crece-meal span{width:7px;height:7px;border-radius:50%;background:#7da286}.crece-meal em{font-style:normal;color:#7d837d}

.panel-shortgen{background:radial-gradient(circle at 72% 23%,rgba(99,74,147,.2),transparent 27%),linear-gradient(145deg,#111015,#07070a 70%)}
.shortgen-composition{position:absolute;inset:36px 0 0;overflow:hidden}
.shortgen-title{position:absolute;left:44px;top:64px;z-index:3}
.shortgen-title small{font-size:7px;letter-spacing:.2em;color:#8b80a0}
.shortgen-title strong{display:block;margin-top:12px;font-size:50px;line-height:.88;letter-spacing:-.06em;font-weight:600}
.film-stack{position:absolute;right:55px;top:44px;width:360px;height:220px;perspective:800px}
.film-stack i{position:absolute;width:126px;height:176px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 65% 22%,rgba(130,105,185,.52),transparent 28%),linear-gradient(145deg,#292532,#0c0b0f);box-shadow:0 25px 45px rgba(0,0,0,.35)}
.film-stack i:nth-child(1){left:26px;top:15px;transform:rotate(-10deg) translateZ(-10px)}
.film-stack i:nth-child(2){left:117px;top:0;z-index:2}
.film-stack i:nth-child(3){left:210px;top:17px;transform:rotate(10deg) translateZ(-10px)}
.timeline-ui{position:absolute;left:44px;right:44px;bottom:63px;height:32px;border-top:1px solid rgba(255,255,255,.13);display:flex;gap:5px;padding-top:8px}
.timeline-ui span{height:8px;flex:1;border-radius:2px;background:#5d526e}.timeline-ui span:nth-child(2){background:#9d8664}.timeline-ui span:nth-child(3){background:#4d6c78}
.timeline-ui b{position:absolute;left:54%;top:-6px;width:1px;height:29px;background:#eee}

.scene-hud{position:absolute;z-index:15;left:8%;right:8%;bottom:18px;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(235,225,208,.09);color:#5f5a53;font-size:8px;letter-spacing:.16em}
.scene-controls{display:flex;align-items:center;gap:12px}
.scene-controls button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(235,225,208,.12);background:rgba(8,8,8,.65);cursor:pointer;color:#b7aa96;transition:background .25s,border-color .25s,color .25s}
.scene-controls button:hover{background:#e8e0d4;color:#080706;border-color:#e8e0d4}
.scene-controls b{min-width:48px;text-align:center;color:#c7bba8;font-size:9px;font-weight:500}
.hero-fade{position:absolute;z-index:9;left:0;right:0;bottom:0;height:190px;background:linear-gradient(transparent,#020202 82%);pointer-events:none}

/* PROOF */
.proof{position:relative;z-index:12;padding:110px clamp(20px,5vw,78px) 125px;background:#020202}
.proof-intro{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px;padding-top:23px;border-top:1px solid var(--line)}
.proof-intro span{color:var(--champagne);font-size:9px;letter-spacing:.17em;font-weight:700}
.proof-intro p{margin:0;max-width:850px;font-size:clamp(25px,2.4vw,38px);line-height:1.18;letter-spacing:-.04em}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-grid article{padding:34px 26px 38px;border-right:1px solid var(--line)}
.proof-grid article:first-child{padding-left:0}.proof-grid article:last-child{border-right:0}
.proof-grid b{font-family:var(--serif);font-size:clamp(45px,4.8vw,76px);font-weight:400;line-height:1;letter-spacing:-.045em}
.proof-grid span{display:block;margin-top:10px;color:#716d66;font-size:9px;letter-spacing:.12em;text-transform:uppercase}

/* FEATURED */
.featured{position:relative;padding:125px clamp(20px,5vw,78px) 145px;background:#060606;overflow:hidden}
.featured:before{content:"";position:absolute;width:820px;height:820px;left:48%;top:13%;border-radius:50%;background:radial-gradient(circle,rgba(150,111,67,.095),transparent 66%)}
.featured-head{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;grid-template-areas:"micro para" "title para";align-items:end;gap:6px 90px}
.featured-head .micro{grid-area:micro}.featured-head h2{grid-area:title;margin:10px 0 0;font-size:clamp(84px,13.4vw,210px);line-height:.8;letter-spacing:-.075em;font-weight:600}
.featured-head>p:last-child{grid-area:para;max-width:510px;margin:0 0 8px;color:#8d8981;line-height:1.65}
.featured-stage{position:relative;z-index:2;height:min(62vw,740px);min-height:560px;margin-top:72px;perspective:1600px}
.device{position:absolute;background:#101010;border:1px solid rgba(255,255,255,.14);box-shadow:0 55px 110px rgba(0,0,0,.52)}
.device-desktop{width:min(1060px,76vw);height:min(615px,44vw);min-height:440px;left:50%;top:28px;transform:translateX(-54%) rotateX(3deg) rotateY(-5deg);border-radius:20px;overflow:hidden}
.device-top{height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#151515;border-bottom:1px solid rgba(255,255,255,.09)}
.device-top i{width:7px;height:7px;border-radius:50%;background:#555}.device-top i:first-child{background:var(--champagne-2)}
.device-top span{margin-left:7px;color:#65615b;font-size:7px;letter-spacing:.13em}
.carnaval-showcase{height:calc(100% - 38px);display:grid;grid-template-columns:1fr 1fr}
.market-side,.food-side{position:relative;padding:8% 7%;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.market-side{background:radial-gradient(circle at 72% 30%,rgba(215,195,160,.12),transparent 25%),linear-gradient(145deg,#183722,#09150d)}
.food-side{background:radial-gradient(circle at 65% 25%,rgba(215,195,160,.08),transparent 23%),linear-gradient(145deg,#45140f,#1b0806)}
.market-side:before,.food-side:before{content:"";position:absolute;width:250px;height:250px;right:-22px;top:58px;border-radius:50%;border:45px solid rgba(255,255,255,.035)}
.market-side small,.food-side small{font-size:9px;letter-spacing:.18em;color:var(--champagne);font-weight:700}
.market-side strong,.food-side strong{margin:12px 0 22px;font-size:clamp(30px,3.3vw,55px);line-height:.98;letter-spacing:-.055em}
.market-side span,.food-side span{font-size:9px;letter-spacing:.08em;color:#b3aea6}
.device-phone{z-index:3;width:220px;height:450px;right:5.5%;bottom:12px;padding:18px;border:7px solid #161616;border-radius:34px;background:#efeee8;color:#0d0d0d;transform:rotate(5deg)}
.phone-notch{position:absolute;left:50%;top:0;width:70px;height:17px;transform:translateX(-50%);border-radius:0 0 11px 11px;background:#161616}
.mini-brand{margin-top:17px;font-size:13px;font-weight:900;letter-spacing:.06em}
.mini-banner{height:105px;margin-top:16px;border-radius:15px;background:linear-gradient(135deg,#173b23,#77613b)}
.mini-pills{display:flex;gap:6px;margin-top:14px}.mini-pills i{height:18px;flex:1;border-radius:99px;background:#dddcd5}.mini-pills i:first-child{background:#181818}
.mini-products{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.mini-products span{height:145px;border-radius:13px;background:linear-gradient(#fff,#deddd7)}
.float-label{position:absolute;z-index:5;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:99px;background:rgba(8,8,8,.7);backdrop-filter:blur(8px);font-size:7px;letter-spacing:.16em}.float-label.one{left:6%;top:19%}.float-label.two{right:18%;top:8%}.float-label.three{left:18%;bottom:9%}
.featured-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid var(--line);color:#6f6b64;font-size:9px;letter-spacing:.1em}.featured-foot a{color:#f1ede6;text-decoration:none;font-weight:700}.featured-foot a b{margin-left:6px;color:var(--champagne)}

/* MANIFESTO */
.manifesto{position:relative;min-height:1000px;padding:130px clamp(20px,5vw,78px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#030303}
.manifesto-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.38)),radial-gradient(circle at 72% 46%,rgba(184,151,107,.07),transparent 28%),linear-gradient(135deg,#0d0d0c,#030303);transform:scale(1.05)}
.manifesto:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 0 97%,rgba(255,255,255,.045) 97%),linear-gradient(90deg,transparent 0 97%,rgba(255,255,255,.04) 97%);background-size:96px 96px;mask-image:linear-gradient(90deg,transparent,#000 45%,#000)}
.manifesto>*:not(.manifesto-bg){position:relative;z-index:2}
.manifesto-title{margin:42px 0 0;font-size:clamp(70px,10.5vw,168px);line-height:.78;letter-spacing:-.075em;font-weight:600}
.manifesto-title span{display:block}.manifesto-title span:nth-child(2){margin-left:8vw}
.manifesto-title .outline{font-family:var(--serif);font-weight:400;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.66);font-size:.78em;letter-spacing:-.04em}
.manifesto-note{align-self:flex-end;width:min(500px,45vw);display:grid;grid-template-columns:42px 1fr;gap:20px;margin-top:85px;padding-top:18px;border-top:1px solid var(--line)}
.manifesto-note span{color:var(--champagne);font-size:9px}.manifesto-note p{margin:0;color:#8f8b83;line-height:1.7}

/* OTHER WORK */
.work-showcase{padding:135px clamp(20px,5vw,78px) 130px;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgba(153,126,89,.055),transparent 31%),#050505}
.work-title{display:flex;justify-content:space-between;align-items:end;gap:50px}.work-title h2{margin:0;text-align:right;font-size:clamp(50px,6.3vw,98px);line-height:.9;letter-spacing:-.062em;font-weight:600}
.work-carousel{position:relative;max-width:1320px;margin:95px auto 0}.work-stage{position:relative;height:min(52vw,650px);min-height:520px;perspective:1500px}
.work-panel{position:absolute;left:50%;top:50%;width:min(840px,65vw);height:min(540px,42vw);min-height:430px;transform:translate(-50%,-50%) rotateY(44deg) translateX(37%);transform-origin:center;opacity:.38;filter:saturate(.65) brightness(.7);pointer-events:none;border-radius:8px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.38);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .65s,filter .65s}
.work-panel.active{z-index:3;transform:translate(-50%,-50%);opacity:1;filter:none;pointer-events:auto}.work-panel.before{z-index:2;transform:translate(-50%,-50%) rotateY(-44deg) translateX(-38%);opacity:.38}.work-panel.after{z-index:2;transform:translate(-50%,-50%) rotateY(44deg) translateX(38%);opacity:.38}
.work-art{position:absolute;inset:0;overflow:hidden}.school-art{background:linear-gradient(135deg,#731b28,#b7913b)}.school-photo{position:absolute;inset:0;background-image:linear-gradient(180deg,transparent 25%,rgba(50,4,12,.72)),url('https://colegio-san-idelfonso-web.pages.dev/assets/hero-school.webp');background-size:cover;background-position:center}.school-mark{position:absolute;left:42px;bottom:38px}.school-mark small,.crece-copy small,.sg-copy small{display:block;font-size:8px;letter-spacing:.18em;font-weight:700}.school-mark strong,.crece-copy strong,.sg-copy strong{display:block;font-size:clamp(42px,5vw,76px);line-height:.95;letter-spacing:-.058em;font-weight:600}.school-mark span,.sg-copy span{display:block;margin-top:10px;font-size:10px;letter-spacing:.07em}
.crece-art{color:#102018;background:radial-gradient(circle at 24% 40%,rgba(151,255,180,.32),transparent 32%),linear-gradient(135deg,#dce9df,#f0ede5)}.crece-phone-card{position:absolute;right:12%;top:9%;width:260px;height:430px;padding:32px;border-radius:36px;background:#fff;box-shadow:0 35px 70px rgba(33,65,42,.18);transform:rotate(6deg)}.crece-phone-card span{font-size:13px;font-weight:900}.crece-phone-card b{display:block;margin-top:52px;font-size:27px;letter-spacing:-.045em}.crece-phone-card i{display:grid;place-items:center;width:115px;height:115px;margin:26px auto;border:15px solid #a4caaa;border-radius:50%;font-style:normal;font-size:22px;font-weight:800}.crece-phone-card em{display:block;text-align:center;color:#6d786f;font-style:normal;font-size:10px}.crece-copy{position:absolute;left:8%;bottom:12%}
.shortgen-art{background:radial-gradient(circle at 66% 34%,rgba(107,76,255,.22),transparent 25%),linear-gradient(140deg,#0b0b13,#161225)}.sg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000)}.sg-copy{position:absolute;left:8%;bottom:12%}.sg-copy small{color:#a797c9}
.carousel-arrow{position:absolute;z-index:8;top:50%;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:rgba(10,10,10,.72);backdrop-filter:blur(8px);cursor:pointer;color:#e9e2d7;font-size:18px;transition:.25s}.carousel-arrow:hover{background:#ece5d9;color:#080706}.carousel-arrow.prev{left:-12px}.carousel-arrow.next{right:-12px}
.work-meta{display:grid;grid-template-columns:120px 1fr auto;gap:45px;align-items:end;max-width:1100px;margin:35px auto 0;padding-top:24px;border-top:1px solid var(--line)}.work-meta>div:first-child span{font-size:52px;font-weight:600;letter-spacing:-.06em}.work-meta>div:first-child small{color:#777}.work-description small{color:#7c766d;font-size:8px;letter-spacing:.17em}.work-description h3{margin:6px 0 8px;font-size:29px;letter-spacing:-.045em}.work-description p{max-width:650px;margin:0;color:#8b867e;font-size:12px;line-height:1.68}.work-meta>a{color:#efe8de;text-decoration:none;border-bottom:1px solid #efe8de;padding-bottom:4px;font-size:9px;letter-spacing:.12em;font-weight:700}

/* CAPABILITIES */
.capabilities{padding:135px clamp(20px,5vw,78px) 145px;background:#020202}.cap-head{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:start}.cap-head h2{margin:0;font-size:clamp(58px,7.4vw,114px);line-height:.85;letter-spacing:-.068em;font-weight:600}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.cap-grid article{min-height:290px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cap-grid b{color:var(--champagne);font-size:8px;letter-spacing:.12em}.cap-grid h3{margin:auto 0 12px;font-size:24px;letter-spacing:-.045em}.cap-grid p{max-width:330px;margin:0;color:#827e77;font-size:12px;line-height:1.65}

/* CTA / FOOTER */
.cta-section{position:relative;min-height:760px;padding:100px 20px;display:grid;place-items:center;text-align:center;overflow:hidden;background:#030303}.cta-section>.micro,.cta-section>h2,.cta-section>.cta-button{position:relative;z-index:2}.cta-section h2{margin:24px 0 48px;font-size:clamp(70px,10.5vw,165px);line-height:.8;letter-spacing:-.073em;font-weight:600}.cta-section h2 span{font-family:var(--serif);font-weight:400;color:var(--champagne);letter-spacing:-.04em}.cta-button{border:1px solid rgba(244,241,234,.22);border-radius:999px;background:#ede7dd;color:#0b0a08;padding:16px 24px;font-size:9px;letter-spacing:.12em;font-weight:700;cursor:pointer;transition:transform .3s}.cta-button:hover{transform:translateY(-3px)}.cta-button b{margin-left:8px}
.cta-orbit{position:absolute;width:620px;height:620px;border:1px solid rgba(215,195,160,.08);border-radius:50%}.cta-orbit:before,.cta-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(215,195,160,.055);border-radius:50%}.cta-orbit:after{inset:27%}.cta-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--champagne);box-shadow:0 0 25px rgba(215,195,160,.5)}.cta-orbit i:nth-child(1){left:50%;top:-3px}.cta-orbit i:nth-child(2){right:4%;top:30%}.cta-orbit i:nth-child(3){left:10%;bottom:20%}
.footer{padding:38px clamp(20px,5vw,78px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;background:#020202;border-top:1px solid var(--line)}.footer img{width:118px;height:34px;object-fit:cover}.footer>div{display:flex;gap:18px;align-items:center}.footer a,.footer button{border:0;background:none;padding:0;color:#77736c;text-decoration:none;font-size:8px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.footer p{justify-self:end;margin:0;color:#625e58;font-size:8px;letter-spacing:.08em}

/* MODALS */
.modal{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.76);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:.28s}.modal.open{opacity:1;visibility:visible}.modal-card{position:relative;width:min(620px,100%);max-height:min(800px,90vh);overflow:auto;padding:42px;border-radius:24px;background:#ece8df;color:#0b0a08;box-shadow:0 35px 110px rgba(0,0,0,.45)}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;color:#111;font-size:28px;cursor:pointer}.modal-micro{color:#81786b}.modal-card h2{margin:10px 0 28px;font-size:clamp(36px,5vw,58px);line-height:.95;letter-spacing:-.055em}.modal-card form{display:grid;gap:15px}.modal-card label{display:grid;gap:7px;color:#575149;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid rgba(0,0,0,.16);border-radius:12px;background:rgba(255,255,255,.55);padding:13px;color:#111;outline:none}.modal-card textarea{min-height:130px;resize:vertical}.modal-card form>button{border:0;border-radius:999px;background:#0b0a08;color:#fff;padding:14px 18px;font-size:9px;letter-spacing:.1em;font-weight:700;cursor:pointer}.form-notice{display:none;margin:2px 0 0;color:#676058;font-size:11px;line-height:1.55}.legal p{color:#4f4a43;line-height:1.7}

/* REVEALS */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1180px){
  .nav-links{gap:18px}
  .hero{min-height:max(900px,112vh)}
  .showcase-shell{height:min(64vh,700px)}
  .orbit-rig{transform:translate(-50%,-50%) rotateX(-4deg) scale(.88)}
  .featured-stage{min-height:520px}
}
@media(max-width:900px){
  .nav-links a:nth-child(3){display:none}
  .hero{min-height:1080px;padding-top:118px}
  .hero h1{font-size:clamp(56px,10vw,96px)}
  .hero h1 span:nth-child(2){margin-left:0}
  .hero-copy-bottom{margin-left:0}
  .showcase-shell{height:610px}
  .showcase-viewport{width:108vw;perspective:1500px}
  .orbit-rig{top:45%;transform:translate(-50%,-50%) rotateX(-4deg) scale(.73)}
  .proof-intro{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid article:nth-child(2){border-right:0}
  .proof-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .featured-head{grid-template-columns:1fr;grid-template-areas:"micro" "title" "para";gap:0}.featured-head>p:last-child{margin-top:30px}
  .featured-stage{height:690px}.device-desktop{width:86vw;height:52vw;min-height:430px;transform:translateX(-52%) rotateX(3deg) rotateY(-4deg)}.device-phone{right:2%}
  .work-title{display:block}.work-title h2{text-align:left;margin-top:18px}.work-panel{width:76vw;height:49vw;min-height:410px}
  .cap-head{grid-template-columns:1fr}.cap-grid{grid-template-columns:repeat(2,1fr)}
  .footer{grid-template-columns:1fr auto}.footer p{grid-column:1/-1;justify-self:start}
}
@media(max-width:700px){
  .site-nav{height:70px;padding:0 16px}.brand{width:114px}.brand img{height:34px}.nav-links{gap:10px}.nav-links a{display:none}.nav-cta{padding:10px 14px}
  .hero{min-height:940px;padding:105px 16px 0;background:radial-gradient(ellipse at 50% 46%,rgba(151,126,91,.07),transparent 31%),linear-gradient(180deg,#010101,#040404 55%,#020202)}
  .hero h1{font-size:clamp(48px,14.5vw,76px);line-height:.86}.hero h1 span{white-space:normal}.hero h1 span:nth-child(2){margin-top:3px}.hero-copy-bottom{grid-template-columns:1fr;margin-top:24px}.hero-copy-bottom>p{max-width:430px;font-size:13px}.hero-index{display:none}
  .showcase-shell{height:535px}.showcase-viewport{width:100%;perspective:1120px;bottom:0}.stage-floor{width:650px;height:180px;bottom:55px}.stage-light{width:650px;height:290px}
  .orbit-rig{top:44%;transform:translate(-50%,-50%) rotateX(-3deg) scale(.52)}
  .scene-hud{left:16px;right:16px;bottom:14px}.drag-label{font-size:6px}.scene-controls{gap:8px}.scene-controls button{width:28px;height:28px}
  .proof,.featured,.work-showcase,.capabilities{padding-left:16px;padding-right:16px}.proof{padding-top:88px;padding-bottom:95px}.proof-grid{margin-top:55px}.proof-grid article{padding:25px 15px}.proof-grid article:nth-child(odd){padding-left:0}
  .featured{padding-top:95px;padding-bottom:105px}.featured-head h2{font-size:clamp(72px,22vw,118px)}.featured-stage{height:560px;min-height:0;margin-top:50px}.device-desktop{width:94vw;height:58vw;min-height:330px;top:30px;transform:translateX(-50%) rotateX(2deg)}.device-phone{width:170px;height:350px;right:-7px;bottom:20px;border-width:5px;border-radius:27px}.mini-banner{height:78px}.mini-products span{height:105px}.float-label{font-size:6px}.float-label.one{left:2%}.float-label.two{right:7%}.float-label.three{left:7%;bottom:6%}.featured-foot{align-items:flex-start;gap:20px}.featured-foot span{max-width:50%}
  .manifesto{min-height:780px;padding:100px 16px}.manifesto-title{font-size:clamp(58px,17vw,92px);line-height:.82}.manifesto-title span:nth-child(2){margin-left:0}.manifesto-title .outline{font-size:.72em;line-height:.9}.manifesto-note{width:100%;margin-top:65px}
  .work-showcase{padding-top:95px}.work-carousel{margin-top:60px}.work-stage{height:480px;min-height:0}.work-panel{width:86vw;height:440px;min-height:0}.work-panel.before{transform:translate(-50%,-50%) rotateY(-42deg) translateX(-45%)}.work-panel.after{transform:translate(-50%,-50%) rotateY(42deg) translateX(45%)}.carousel-arrow{width:46px;height:46px}.carousel-arrow.prev{left:-5px}.carousel-arrow.next{right:-5px}.work-meta{grid-template-columns:80px 1fr;gap:25px}.work-meta>a{grid-column:2}.work-meta>div:first-child span{font-size:42px}
  .capabilities{padding-top:100px;padding-bottom:110px}.cap-grid{grid-template-columns:1fr;margin-top:65px}.cap-grid article{min-height:220px}.cap-head h2{font-size:clamp(58px,16vw,86px)}
  .cta-section{min-height:650px}.cta-section h2{font-size:clamp(60px,16vw,90px)}.cta-orbit{width:440px;height:440px}
  .footer{grid-template-columns:1fr}.footer>div{flex-wrap:wrap}.footer p{grid-column:auto}
  .modal-card{padding:34px 22px;border-radius:18px}
}
@media(max-width:430px){
  .hero{min-height:900px}
  .showcase-shell{height:500px}
  .orbit-rig{top:43%;transform:translate(-50%,-50%) rotateX(-3deg) scale(.46)}
  .scene-hud{bottom:10px}
  .proof-grid b{font-size:40px}
  .device-desktop{height:61vw;min-height:290px}.device-phone{width:150px;height:315px}.mini-products span{height:90px}
  .work-panel{height:400px}
  .crece-phone-card{right:6%;transform:rotate(5deg) scale(.82);transform-origin:top right}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .pointer-light{display:none}
  .project-ring{transform:rotateX(-4deg) rotateY(0deg)!important}
}
