@font-face {
  font-family:"Geist";
  src:url("assets/fonts/geist.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

@font-face {
  font-family:"Geist Mono";
  src:url("assets/fonts/geist-mono.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root { --ink:#070707; --paper:#f4f0ea; --ruby:#d91d36; --ruby-dark:#8e0e22; --line:rgba(255,255,255,.14); --font-geist-sans:"Geist"; --font-geist-mono:"Geist Mono"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#fff; font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif; }
h1,h2,h3,h4,h5,h6,p,blockquote { margin-block-start:0; }
img,svg,video { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; inset:0 0 auto; height:90px; padding:0 clamp(24px,5vw,82px); display:flex; align-items:center; justify-content:flex-start; gap:clamp(42px,5vw,92px); border-bottom:0; }
.brand { display:flex; align-items:center; gap:13px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }
.brand small { display:block; margin-top:4px; color:#aaa; font-size:9px; letter-spacing:.22em; font-weight:500; }
.brand-mark { display:block; flex:0 0 auto; width:50px; height:37px; overflow:hidden; border:0; border-radius:0; color:transparent; background:url('assets/nara-logo.png') center/contain no-repeat; font-size:0; }
nav { display:flex; flex:1; align-items:center; gap:clamp(18px,1.7vw,32px); font-size:12px; letter-spacing:.08em; }
nav a:not(.nav-cta) { color:#bdbdbd; }
.nav-cta { margin-left:auto; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:13px 20px; text-transform:uppercase; font-size:10px; font-weight:700; }
.hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.hero-image { position:absolute; z-index:-3; inset:0; background:url('assets/nara-hero.jpg') center center/cover no-repeat; }
.hero-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(3,3,3,.99) 0%,rgba(3,3,3,.92) 30%,rgba(3,3,3,.27) 61%,rgba(3,3,3,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 42%); }
.hero-copy { width:min(690px,52vw); margin-left:clamp(24px,8vw,154px); padding:150px 0 100px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#d3cbc2; text-transform:uppercase; letter-spacing:.28em; font-size:10px; font-weight:700; }
.eyebrow span { display:block; width:34px; height:1px; background:var(--ruby); box-shadow:0 0 13px var(--ruby); }
h1 { margin:27px 0 18px; max-width:690px; font-size:clamp(52px,5.25vw,91px); line-height:.91; letter-spacing:-.055em; text-wrap:balance; }
h1 em { display:block; color:#ff354e; font-family:Georgia,serif; font-weight:400; }
.hero-lead { margin:0 0 17px; font-size:clamp(20px,1.7vw,29px); font-weight:650; }
.hero-text { max-width:570px; color:#b9b6b2; line-height:1.7; font-size:15px; }
.primary-button { display:inline-flex; align-items:center; gap:30px; margin-top:23px; padding:17px 22px 17px 25px; background:linear-gradient(135deg,#ed2842,#a80e25); border-radius:3px; text-transform:uppercase; letter-spacing:.09em; font-size:11px; font-weight:800; box-shadow:0 14px 50px rgba(196,15,42,.3); }
.primary-button span { font-size:18px; }
.hero-note { max-width:440px; margin-top:18px; color:#8f8c89; line-height:1.55; font-size:11px; }
.scroll-note { position:absolute; right:clamp(24px,5vw,82px); bottom:30px; color:#98938e; text-transform:uppercase; letter-spacing:.22em; font-size:9px; }
.scroll-note span { margin-left:12px; color:#fff; font-size:14px; }
@media (max-width:800px) {
  .site-header { height:94px; padding-inline:20px; justify-content:center; background:#050505; } nav { display:none; }
  .hero { min-height:900px; align-items:flex-end; }
  .hero-image { top:94px; height:52%; background-position:90% top; }
  .hero-shade { background:linear-gradient(0deg,#050505 40%,rgba(5,5,5,.12) 77%,rgba(5,5,5,.28)); }
  .hero-copy { width:100%; margin:0; padding:470px 24px 90px; text-align:center; }
  .hero .eyebrow { justify-content:center; }
  .hero h1 { margin-inline:auto; font-size:clamp(40px,11vw,56px); }
  .hero-text,.hero-note { margin-inline:auto; }
  .scroll-note { display:none; }
}

@media (max-width:1500px) and (min-width:801px) {
  nav a:not(.nav-cta) { display:none; }
}

body { font-family:var(--font-geist-sans), Arial, sans-serif; overflow-x:hidden; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
p, li { text-wrap:pretty; }
h1, h2, h3, blockquote, .hero-lead, .headline-support, .manifesto-line, .identity-lead, .section-intro>p, .final-copy>p { text-wrap:balance; }
.section { position:relative; padding:clamp(90px,9vw,155px) 0; }
.section-shell { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.section-kicker { margin:0 0 24px; color:#df344b; font-size:10px; font-weight:750; letter-spacing:.27em; text-transform:uppercase; }
.section-kicker.dark { color:#9c1024; }
.section-action { display:flex; justify-content:center; margin-top:64px; }
.section-action .primary-button { margin-top:0; }
h2 { margin:0; font-size:clamp(43px,5.35vw,82px); line-height:.98; letter-spacing:-.055em; text-wrap:balance; }
h2 em { color:#d51d36; font-family:Georgia,serif; font-weight:400; }
.headline-support { max-width:620px; margin:30px 0 0; color:#a7a4a0; font-size:clamp(19px,2vw,28px); line-height:1.35; }
.motion-ready [data-reveal] { opacity:0; transform:translateY(30px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1); }
.motion-ready [data-reveal].is-visible { opacity:1; transform:none; }

.diagnosis { background:#090909; border-top:1px solid #1d1d1d; }
.diagnosis-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(70px,9vw,140px); align-items:start; }
.diagnosis h2 { max-width:600px; }
.pain-list { border-top:1px solid #2b2928; }
.pain-item { display:grid; grid-template-columns:55px 1fr; gap:20px; align-items:center; min-height:72px; border-bottom:1px solid #242322; }
.pain-item span { color:#9c9390; font-family:var(--font-geist-mono),monospace; font-size:10px; }
.pain-item p { margin:0; color:#dad7d3; font-size:14px; }
.diagnosis-end { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(70px,9vw,140px); padding-top:90px; margin-top:85px; border-top:1px solid #2a2827; }
.diagnosis-end>p { display:flex; align-items:center; gap:16px; margin:0; color:#a9a39f; font-family:Georgia,serif; font-size:clamp(18px,1.55vw,24px); line-height:1.35; }
.diagnosis-end>p:before { content:""; flex:0 0 42px; height:1px; background:#d91d36; }
.diagnosis-end strong { max-width:650px; font-family:Georgia,serif; font-size:clamp(24px,2.3vw,36px); line-height:1.35; font-weight:400; text-wrap:balance; }
.diagnosis-promise { display:flex; flex-direction:column; align-items:flex-start; }
.diagnosis-promise .primary-button { margin-top:34px; }

.manifesto { min-height:820px; display:flex; align-items:center; overflow:hidden; background:radial-gradient(circle at 50% 40%,#350811 0,#100407 38%,#050505 70%); }
.manifesto:after { content:""; position:absolute; inset:0; opacity:.22; background-image:radial-gradient(#f74358 1px,transparent 1px); background-size:49px 49px; mask-image:linear-gradient(to bottom,transparent,#000,transparent); }
.manifesto-orbit { position:absolute; left:50%; top:50%; width:min(85vw,1080px); aspect-ratio:1.9; border:1px solid rgba(238,38,65,.3); border-radius:50%; transform:translate(-50%,-50%) rotate(-10deg); box-shadow:0 0 100px rgba(190,20,44,.1); }
.orbit-two { width:min(68vw,850px); transform:translate(-50%,-50%) rotate(12deg); }
.manifesto-copy { position:relative; z-index:2; text-align:center; }
.manifesto h2 span { display:block; color:#fff; font-family:Georgia,serif; font-style:italic; font-weight:400; }
.manifesto-line { max-width:800px; margin:30px auto 55px; color:#e32a43; font-size:clamp(20px,2vw,31px); }
.manifesto-text { max-width:760px; margin:auto; padding-top:36px; border-top:1px solid rgba(255,255,255,.14); text-align:center; color:#aaa5a1; line-height:1.75; font-size:15px; }
.manifesto-text p { max-width:700px; margin:0 auto; }
.manifesto-text p+p { margin-top:18px; }

.consultancy { background:#f1ede6; color:#101010; }
.section-intro { display:grid; grid-template-columns:1.4fr .6fr; gap:80px; align-items:end; margin-bottom:85px; }
.section-intro h2 { max-width:800px; }
.section-intro>p { margin:0 0 8px; max-width:350px; font-size:clamp(23px,2.3vw,36px); line-height:1.25; }
.section-intro>p em { color:#af142a; font-family:Georgia,serif; font-weight:400; }
.consultancy-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #d1cbc2; }
.consultancy-card { min-height:310px; padding:38px; border-right:1px solid #d1cbc2; border-bottom:1px solid #d1cbc2; transition:background .3s ease,color .3s ease; }
.consultancy-card:nth-child(even) { border-right:0; }
.consultancy-card:nth-child(n+3) { border-bottom:0; }
.consultancy-card:hover { background:#161313; color:#fff; }
.card-number { color:#ad1429; font-family:var(--font-geist-mono),monospace; font-size:11px; }
.card-line { width:100%; height:1px; margin:28px 0 50px; background:currentColor; opacity:.16; }
.consultancy-card h3 { margin:0 0 18px; font-size:clamp(22px,2vw,31px); letter-spacing:-.035em; }
.consultancy-card p { max-width:460px; margin:0; color:#746f68; line-height:1.7; font-size:14px; }
.consultancy-card:hover p { color:#bcb7b1; }

.direction { background:#080808; }
.direction-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(70px,10vw,160px); align-items:center; }
.direction-quote blockquote { margin:0; color:#fff; font-family:Georgia,serif; font-size:clamp(45px,5vw,78px); line-height:1.06; font-style:italic; }
.direction-quote blockquote>span { display:block; }
.direction-quote blockquote small { display:flex; align-items:center; gap:16px; margin-top:22px; color:#a9a39f; font-family:var(--font-geist-sans),Arial,sans-serif; font-size:clamp(18px,1.55vw,24px); line-height:1.35; font-style:normal; font-weight:500; }
.direction-quote blockquote small:before { content:""; flex:0 0 42px; height:1px; background:#d91d36; }
.direction-result { border-left:1px solid #332f2f; padding-left:60px; }
.direction-result>p { margin:0; padding:20px 0; border-bottom:1px solid #252323; color:#c7c2be; font-size:16px; }
.direction-result strong { display:block; margin:35px 0; color:#ed2943; font-size:25px; }
.text-link { display:inline-flex; gap:24px; align-items:center; padding-bottom:9px; border-bottom:1px solid #d8213a; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:750; }

.audience { background:#d9d1c6; color:#111; }
.audience-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(70px,10vw,160px); align-items:start; }
.audience-heading { position:sticky; top:80px; }
.audience-heading>p:last-of-type { max-width:500px; margin:35px 0 0; color:#68635c; line-height:1.7; }
.audience-cta { margin-top:32px; }
.audience-list { border-top:1px solid #afa79d; }
.audience-list div { display:flex; align-items:center; gap:20px; min-height:72px; border-bottom:1px solid #b7afa5; font-size:16px; }
.audience-list span { display:grid; place-items:center; width:26px; height:26px; border:1px solid #a11428; border-radius:50%; color:#a11428; font-size:11px; }

.results { overflow:hidden; background:#0a0909; }
.results:before { content:"RESULTADOS"; position:absolute; top:30px; left:-20px; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.04); font-size:15vw; font-weight:900; letter-spacing:-.08em; }
.results-heading { position:relative; z-index:1; max-width:800px; }
.results-heading>p:last-child { max-width:530px; color:#98938e; line-height:1.7; }
.proof-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:75px; }
.proof-card { position:relative; min-height:0; overflow:hidden; background:linear-gradient(155deg,#231c1d,#100d0e); border:1px solid #302a2a; }
.proof-card:nth-child(2) { transform:translateY(45px); }
.proof-media { aspect-ratio:1; overflow:hidden; background:#120e0f; }
.proof-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.proof-index { position:absolute; z-index:2; top:18px; left:18px; padding:7px 9px; color:#fff; background:rgba(5,5,5,.76); border:1px solid rgba(255,255,255,.16); font-size:10px; letter-spacing:.18em; backdrop-filter:blur(8px); }
.proof-caption { min-height:86px; padding:18px 20px 20px; border-top:1px solid #302a2a; }
.proof-caption>span { display:block; margin-bottom:7px; color:#b7293e; font-size:9px; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.proof-card h3 { margin:0; color:#d0cbc7; font-size:14px; font-weight:500; }
.proof-action { margin-top:105px; }

.method { background:#f4f0e9; color:#111; }
.method-heading { margin-bottom:80px; }
.method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #bcb5ac; border-bottom:1px solid #bcb5ac; }
.method-step { min-height:330px; padding:30px; border-right:1px solid #bcb5ac; }
.method-step:last-child { border-right:0; }
.step-top { display:flex; justify-content:space-between; align-items:center; color:#a31328; font-family:var(--font-geist-mono),monospace; font-size:11px; }
.step-top i { font-family:Arial,sans-serif; font-size:19px; font-style:normal; }
.method-step h3 { margin:120px 0 17px; font-family:Georgia,serif; font-size:34px; font-weight:400; }
.method-step p { margin:0; color:#6f6a64; line-height:1.6; font-size:13px; }
.method-close { margin:55px 0 0; color:#77716a; font-size:18px; }
.method-close strong { color:#a41429; }

.identity { min-height:780px; display:flex; align-items:center; overflow:hidden; background:#050505; text-align:center; }
.identity-glow { position:absolute; left:50%; top:50%; width:800px; height:800px; border:1px solid rgba(214,25,51,.25); border-radius:50%; transform:translate(-50%,-50%); box-shadow:inset 0 0 180px rgba(202,20,47,.1),0 0 120px rgba(202,20,47,.08); }
.identity-glow:after { content:""; position:absolute; inset:70px; border:1px solid rgba(214,25,51,.12); border-radius:50%; }
.identity-inner { position:relative; }
.identity-mark { display:block; width:126px; height:92px; margin:0 auto 30px; overflow:hidden; border:0; border-radius:0; color:transparent; background:url('assets/nara-logo.png') center/contain no-repeat; font-size:0; }
.identity h2 em { display:block; }
.identity-lead { max-width:730px; margin:30px auto; color:#c4bfba; font-size:clamp(21px,2.2vw,32px); line-height:1.35; }
.identity-words { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 30px; color:#df2941; font-family:Georgia,serif; font-size:19px; font-style:italic; }
.identity-note { margin-top:38px; color:#6e6965; font-size:13px; }

.entry { background:#dfd7cc; color:#111; }
.entry-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(70px,11vw,170px); }
.entry-title h2 { max-width:520px; }
.entry-steps { margin:0; padding:0; list-style:none; border-top:1px solid #afa79d; }
.entry-steps li { display:grid; grid-template-columns:60px 1fr; align-items:center; min-height:95px; border-bottom:1px solid #afa79d; }
.entry-steps span { color:#a7162a; font-family:var(--font-geist-mono),monospace; font-size:10px; }
.entry-steps p { margin:0; font-size:20px; letter-spacing:-.02em; }
.entry-note { margin-top:65px; padding-top:32px; border-top:1px solid #bbb2a7; color:#716a63; font-size:13px; }

.final-cta { background:radial-gradient(circle at 15% 50%,#360912 0,#090607 42%,#050505 70%); }
.final-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(60px,7vw,110px); align-items:center; }
.final-copy h2 { max-width:760px; font-size:clamp(40px,3.65vw,58px); line-height:1.04; }
.final-copy>p:last-child { color:#ec2d46; font-family:Georgia,serif; font-size:clamp(23px,2.3vw,35px); }
.evaluation-form { padding:40px; background:rgba(18,15,15,.86); border:1px solid #332b2c; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.form-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid #332e2e; }
.form-heading span { font-family:Georgia,serif; font-size:28px; }
.form-heading small { color:#7e7773; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.evaluation-form label { display:block; margin-top:18px; color:#aaa39f; font-size:11px; letter-spacing:.05em; }
.evaluation-form input,.evaluation-form select,.evaluation-form textarea { display:block; width:100%; margin-top:8px; padding:14px 0; color:#fff; background:transparent; border:0; border-bottom:1px solid #443c3c; border-radius:0; outline:0; font-size:14px; resize:vertical; }
.evaluation-form select option { color:#111; }
.evaluation-form input:focus,.evaluation-form select:focus,.evaluation-form textarea:focus { border-color:#d82740; }
.evaluation-form button { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:28px; padding:17px 20px; border:0; color:#fff; background:linear-gradient(135deg,#e52740,#9d0c21); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:800; }
.evaluation-form button span { font-size:18px; }
.evaluation-form>p { margin:13px 0 0; color:#6f6966; line-height:1.5; font-size:10px; }

footer { padding:38px 0; background:#030303; border-top:1px solid #211e1e; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-inner>p,.footer-inner>a:last-child { color:#706b67; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }

@media (hover:hover) {
  nav a:not(.nav-cta),.footer-inner>a:last-child { transition:color .25s ease; }
  nav a:not(.nav-cta):hover,.footer-inner>a:last-child:hover { color:#fff; }
  .primary-button,.nav-cta,.evaluation-form button { transition:transform .25s ease,box-shadow .25s ease; }
  .primary-button:hover,.nav-cta:hover,.evaluation-form button:hover { transform:translateY(-2px); box-shadow:0 16px 50px rgba(213,25,52,.3); }
}

@media (max-width:1000px) {
  .diagnosis-grid,.diagnosis-end,.direction-grid,.audience-grid,.entry-grid,.final-grid { grid-template-columns:1fr; gap:60px; }
  .audience-heading { position:static; }
  .proof-grid { grid-template-columns:repeat(2,1fr); }
  .proof-card:last-child { grid-column:auto; }
  .method-grid { grid-template-columns:repeat(2,1fr); }
  .method-step:nth-child(2) { border-right:0; }
  .method-step:nth-child(-n+2) { border-bottom:1px solid #bcb5ac; }
  .direction-result { padding-left:0; border-left:0; }
}

@media (max-width:700px) {
  .section { padding:88px 0; }
  .section-shell { width:min(100% - 40px,1240px); }
  .brand { font-size:10px; }
  .brand-mark { width:42px; height:31px; }
  .site-header .nav-cta { max-width:117px; padding:9px 11px; text-align:center; line-height:1.25; font-size:8px; }
  .hero { min-height:930px; }
  .hero-copy { padding-top:485px; }
  .hero-text { font-size:14px; }
  .primary-button { width:100%; justify-content:space-between; }
  .diagnosis-end { margin-top:60px; padding-top:50px; }
  .manifesto { min-height:900px; }
  .manifesto-orbit { width:150vw; }
  .section-intro { grid-template-columns:1fr; gap:30px; }
  .manifesto-text { padding-top:30px; text-align:center; }
  .manifesto-text p { max-width:560px; margin-inline:auto; }
  .manifesto-line { max-width:560px; margin-inline:auto; }
  .manifesto-line { margin-bottom:45px; }
  .consultancy-grid { grid-template-columns:1fr; }
  .consultancy-card,.consultancy-card:nth-child(even),.consultancy-card:nth-child(n+3) { min-height:270px; border-right:0; border-bottom:1px solid #d1cbc2; }
  .consultancy-card:last-child { border-bottom:0; }
  .card-line { margin-bottom:35px; }
  .proof-grid { grid-template-columns:1fr; }
  .proof-card:nth-child(2) { transform:none; }
  .proof-card:last-child { grid-column:auto; min-height:0; }
  .method-grid { grid-template-columns:1fr; }
  .method-step,.method-step:nth-child(2) { min-height:270px; border-right:0; border-bottom:1px solid #bcb5ac; }
  .method-step:last-child { border-bottom:0; }
  .method-step h3 { margin-top:70px; }
  .identity { min-height:850px; }
  .identity-glow { width:700px; height:700px; }
  .identity-words { flex-direction:column; gap:10px; }
  .evaluation-form { padding:27px 22px; }
  .final-copy h2 { font-size:clamp(36px,10vw,45px); }
  .form-heading { align-items:start; flex-direction:column; gap:7px; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .motion-ready [data-reveal] { opacity:1; transform:none; transition:none; }
}
