@font-face{font-family:Montserrat;src:url('assets/Montserrat-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--forest:#082b24;--forest2:#123b32;--coral:#ff6543;--paper:#f5efe5;--white:#fffaf3;--mint:#cde9d8;--lemon:#f2d678;--line:rgba(8,43,36,.18);--sans:'Montserrat',Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--forest);font:400 16px/1.5 var(--sans);overflow-x:hidden}a{color:inherit}button{font:inherit}img{max-width:100%}::selection{background:var(--coral);color:var(--forest)}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:.95;letter-spacing:-.068em}h1{font-size:clamp(4.4rem,9vw,10rem)}h2{font-size:clamp(3rem,6vw,6.6rem)}h3{font-size:clamp(1.7rem,2.8vw,3rem)}.eyebrow{font:500 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}.eyebrow.dark{color:var(--forest)}.eyebrow span{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:8px}.wrap{width:min(1440px,calc(100% - 10vw));margin-inline:auto}.section{padding:clamp(5rem,9vw,10rem) 0}.section-small{padding:clamp(4rem,6vw,7rem) 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;min-height:52px;padding:.8rem 1.3rem;border:1px solid currentColor;border-radius:100px;text-decoration:none;font-weight:800;font-size:.92rem;cursor:pointer;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button .arrow{font-size:1.25rem;font-weight:400}.button.coral{background:var(--coral);border-color:var(--coral);color:var(--forest)}.button.forest{background:var(--forest);border-color:var(--forest);color:var(--paper)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--forest)}.button.outline{background:transparent}.link-arrow{font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:.6rem;border-bottom:1px solid currentColor;padding-bottom:.35rem}.link-arrow:hover{gap:1rem}.link-arrow b{color:var(--coral)}
.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:sticky;top:0;z-index:50;background:rgba(245,239,229,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.logo-link{display:flex;align-items:center;flex:none;height:100%;padding:14px 0}.logo-link img{display:block;width:153px;height:52px;object-fit:contain;object-position:center}.nav-links{display:flex;gap:clamp(1rem,2.2vw,2.3rem);align-items:center}.nav-links a{font-size:.84rem;font-weight:700;text-decoration:none;white-space:nowrap;position:relative}.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--coral);transition:right .25s}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{right:0}.nav-toggle{display:none;background:none;border:0;font:800 .8rem var(--mono);color:var(--forest);cursor:pointer}.header-button{padding:.65rem 1rem;min-height:42px;font-size:.75rem;white-space:nowrap}
.site-footer{background:var(--forest);color:var(--paper);padding:3.5rem 5vw 2rem}.footer-top{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:3rem;padding-bottom:4rem}.footer-top img{width:190px;display:block;margin-bottom:1.5rem}.footer-top p{max-width:300px;font-size:1rem;color:rgba(245,239,229,.72)}.footer-top h4{font:500 .7rem var(--mono);color:var(--coral);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.footer-top a{display:block;text-decoration:none;margin:.5rem 0;font-weight:600}.footer-top a:hover{color:var(--coral)}.footer-bottom{border-top:1px solid rgba(245,239,229,.25);display:flex;justify-content:space-between;gap:2rem;padding-top:1.4rem;font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:rgba(245,239,229,.72)}
.home-hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2vw;padding:5vw;position:relative;overflow:hidden}.home-hero::before{content:'';position:absolute;right:-12%;top:-25%;width:65vw;height:65vw;max-width:920px;max-height:920px;border-radius:50%;background:#e1eddf;z-index:0}.hero-copy,.hero-scene{position:relative;z-index:1}.home-hero h1{margin:1.5rem 0 2rem;max-width:970px}.home-hero h1 em{font-style:normal;color:var(--coral)}.home-hero .lead{font-size:clamp(1.1rem,1.5vw,1.45rem);max-width:560px}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.hero-scene{height:min(640px,55vw);min-height:480px;display:grid;place-items:center}.hero-orbit{position:absolute;width:82%;height:54%;border:1px solid var(--coral);border-radius:50%;transform:rotate(-26deg);animation:orbitFloat 9s ease-in-out infinite}.hero-orbit:nth-child(2){width:64%;height:84%;border-color:var(--forest);animation-delay:-3s}.hero-tile{width:min(310px,55%);aspect-ratio:.83;border-radius:46% 46% 20px 20px;background:var(--coral);box-shadow:18px 18px 0 var(--forest);transform:rotate(7deg);display:grid;place-items:center;position:relative}.hero-tile img{width:48%}.hero-tile small{position:absolute;bottom:12%;font:500 .67rem var(--mono);letter-spacing:.07em;text-align:center;text-transform:uppercase}.hero-stamp{position:absolute;right:1%;top:8%;width:132px;aspect-ratio:1;border-radius:50%;background:var(--forest);color:var(--paper);display:grid;place-items:center;text-align:center;padding:1rem;transform:rotate(12deg);font:500 .7rem var(--mono);box-shadow:8px 8px 0 var(--mint)}.hero-note{position:absolute;left:0;bottom:3%;background:var(--white);padding:.8rem 1rem;font:500 .68rem var(--mono);transform:rotate(-5deg);box-shadow:5px 5px 0 var(--lemon)}@keyframes orbitFloat{50%{transform:rotate(-21deg) translateY(-12px)}}
.ticker{background:var(--coral);overflow:hidden;display:flex;white-space:nowrap;padding:1rem 0;font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.ticker span{animation:scrollX 22s linear infinite;flex:none}@keyframes scrollX{to{transform:translateX(-100%)}}
.home-route-head{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:end;margin-bottom:3rem}.home-route-head p:last-child{font-size:1.2rem;max-width:490px}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.route-card{min-height:375px;padding:2rem;background:var(--forest);color:var(--paper);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.route-card:hover{transform:translateY(-9px);box-shadow:10px 10px 0 var(--coral)}.route-card:nth-child(2){background:var(--coral);color:var(--forest)}.route-card:nth-child(3){background:var(--mint);color:var(--forest)}.route-card .num{font:500 .7rem var(--mono)}.route-card h3{max-width:300px;margin:0;position:relative;z-index:1}.route-card .bottom{display:flex;align-items:end;justify-content:space-between;font:500 .7rem var(--mono);text-transform:uppercase;z-index:1}.route-card .bottom b{font:400 2rem var(--sans)}.route-card .shape{position:absolute;right:-60px;top:45px;width:190px;height:190px;border:2px solid currentColor;border-radius:50%;opacity:.35;transform:rotate(30deg)}.route-card:nth-child(2) .shape{border-radius:40% 40% 3% 3%;transform:rotate(20deg)}
.home-story{background:var(--forest);color:var(--paper);overflow:hidden}.home-story .story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.quote-stage{background:var(--coral);aspect-ratio:1;display:grid;place-items:center;position:relative;transform:rotate(-4deg);box-shadow:16px 16px 0 var(--mint)}.quote-stage::after{content:'CÓRDOBA, EN CADA PALABRA';position:absolute;bottom:20px;left:20px;font:500 .66rem var(--mono);color:var(--forest)}.quote-stage img{width:48%}.home-story h2{max-width:740px}.home-story p:not(.eyebrow){font-size:1.24rem;max-width:650px;color:rgba(245,239,229,.8)}.home-story .link-arrow{margin-top:1.3rem}
.diag-teaser{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.diag-teaser p:not(.eyebrow){font-size:1.25rem;max-width:550px}.chat-demo{background:var(--forest);color:var(--paper);border-radius:22px;padding:1.7rem;min-height:410px;box-shadow:18px 18px 0 var(--coral);display:flex;flex-direction:column;gap:1rem}.chat-demo .bar{display:flex;gap:.35rem;border-bottom:1px solid rgba(245,239,229,.2);padding-bottom:1rem;margin-bottom:.3rem}.chat-demo .bar i{width:9px;height:9px;border-radius:50%;background:var(--coral)}.chat-demo .bar span{font:500 .67rem var(--mono);margin-left:auto}.bubble-demo{border-radius:16px 16px 16px 3px;background:var(--paper);color:var(--forest);padding:.85rem 1rem;max-width:80%;font-weight:600}.bubble-demo.right{background:var(--coral);align-self:flex-end;border-radius:16px 16px 3px 16px}.bubble-demo:nth-of-type(3){margin-top:1rem}.diag-teaser .button{margin-top:1.5rem}
.page-intro{padding:clamp(6rem,11vw,11rem) 0 clamp(4rem,7vw,7rem);position:relative;overflow:hidden}.page-intro .wrap{position:relative;z-index:1}.page-intro h1{max-width:1150px;margin:1rem 0 2rem}.page-intro h1 em{font-style:normal;color:var(--coral)}.page-intro .lead{font-size:clamp(1.2rem,1.8vw,1.55rem);max-width:720px}.page-intro::after{content:'✳';position:absolute;right:3vw;top:2rem;font-size:clamp(9rem,27vw,28rem);color:rgba(255,101,67,.12);line-height:1;transform:rotate(-15deg);pointer-events:none}.page-intro.dark{background:var(--forest);color:var(--paper)}.page-intro.dark::after{color:rgba(255,101,67,.22)}.page-intro.coral{background:var(--coral)}.page-intro.coral h1 em{color:var(--forest)}
.manifesto{display:grid;grid-template-columns:.62fr 1.38fr;gap:9vw;align-items:start}.manifesto aside{position:sticky;top:120px}.manifesto aside img{width:100%;max-width:250px;display:block;margin-top:2rem}.manifesto .manifesto-body p{font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.35;margin-bottom:2rem}.manifesto .manifesto-body p:last-child{margin-bottom:0}.manifesto .manifesto-body strong{color:var(--coral)}.statement-strip{background:var(--coral);color:var(--forest);padding:4rem 0;overflow:hidden}.statement-strip p{font-size:clamp(2.5rem,5vw,5.6rem);font-weight:800;letter-spacing:-.07em;line-height:1;margin:0;max-width:1100px}.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.origin-art{aspect-ratio:.95;background:var(--forest);position:relative;overflow:hidden;display:grid;place-items:center}.origin-art::before,.origin-art::after{content:'';border:1px solid var(--coral);border-radius:50%;position:absolute;width:90%;height:48%;transform:rotate(-26deg)}.origin-art::after{width:58%;height:84%;border-color:var(--mint);transform:rotate(20deg)}.origin-art .big-word{font-size:clamp(4rem,7vw,8rem);font-weight:800;letter-spacing:-.1em;color:var(--paper);transform:rotate(-7deg);position:relative;z-index:1}.origin-art small{position:absolute;bottom:1.5rem;color:var(--coral);font:500 .72rem var(--mono);z-index:2}.origin-grid p{font-size:1.2rem}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.voice-card{background:var(--paper);padding:2rem;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.voice-card:nth-child(2){background:var(--mint)}.voice-card:nth-child(3){background:var(--lemon)}.voice-card span{font:500 .7rem var(--mono);text-transform:uppercase}.voice-card p{font-size:clamp(1.2rem,1.7vw,1.6rem);font-weight:700;line-height:1.2;margin:0}.about-band{background:var(--forest);color:var(--paper)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.about-monogram{aspect-ratio:1;background:var(--coral);display:grid;place-items:center;position:relative;overflow:hidden}.about-monogram span{font-weight:800;letter-spacing:-.13em;font-size:clamp(7rem,16vw,16rem);transform:rotate(-13deg)}.about-monogram small{position:absolute;bottom:1.5rem;left:1.5rem;font:500 .7rem var(--mono)}.about-grid p:not(.eyebrow){font-size:1.25rem;color:rgba(245,239,229,.83)}
.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}.process-copy{position:sticky;top:120px}.process-copy p:not(.eyebrow){font-size:1.17rem;max-width:470px}.process-stack{display:grid;gap:1rem}.process-card{border:1px solid var(--forest);background:var(--white);padding:2rem;min-height:320px;cursor:pointer;text-align:left;display:grid;grid-template-columns:1fr auto;gap:1rem;transition:background .3s,transform .3s}.process-card:hover,.process-card.active{background:var(--mint);transform:translateX(-7px)}.process-card:nth-child(2).active{background:var(--coral)}.process-card:nth-child(3).active{background:var(--lemon)}.process-card small{font:500 .7rem var(--mono);text-transform:uppercase}.process-card h3{margin:.6rem 0 1.5rem}.process-card p{max-width:450px;font-size:1.07rem;margin-bottom:0}.process-card .process-icon{font-size:3.7rem;line-height:1;align-self:start}.process-card .process-extra{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem;font-size:.92rem;display:none}.process-card.active .process-extra{display:block}.example-board{background:var(--forest);color:var(--paper)}.example-board .board-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;align-items:center}.example-board h2{max-width:640px}.example-board p{font-size:1.2rem}.example-lines{display:grid;gap:.7rem}.example-lines div{border:1px solid var(--line-light);padding:1.2rem 1.5rem;font-size:1.05rem}.example-lines div:nth-child(2){background:var(--coral);color:var(--forest);border-color:var(--coral);transform:rotate(-2deg);font-weight:800}.example-lines span{font:500 .7rem var(--mono);color:var(--coral);display:block;margin-bottom:.5rem}.example-lines div:nth-child(2) span{color:var(--forest)}.deliverables{background:var(--mint)}.deliver-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.deliver-grid article{border-top:2px solid var(--forest);padding-top:1.5rem}.deliver-grid span{font:500 .7rem var(--mono)}.deliver-grid h3{margin:2rem 0 1rem}.deliver-grid p{font-size:1.05rem}
.solutions-intro{background:var(--forest);color:var(--paper)}.solutions-intro h1 em{color:var(--coral)}.filter-row{display:flex;gap:.65rem;flex-wrap:wrap;margin:2rem 0 3rem}.filter-row button{background:transparent;color:var(--forest);border:1px solid var(--forest);border-radius:50px;padding:.65rem 1rem;font-weight:700;cursor:pointer}.filter-row button.active,.filter-row button:hover{background:var(--forest);color:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.service-card{border:1px solid var(--forest);background:var(--white);min-height:330px;display:flex;flex-direction:column;padding:1.8rem;position:relative;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:8px 8px 0 var(--coral)}.service-card:nth-child(4n+2){background:var(--mint)}.service-card:nth-child(4n+3){background:#ffe2d8}.service-card:nth-child(4n+4){background:var(--lemon)}.service-card .top{display:flex;justify-content:space-between;gap:1rem;font:500 .67rem var(--mono);text-transform:uppercase}.service-card h3{margin:2.5rem 0 .7rem;max-width:560px}.service-card .service-name{font:500 .68rem var(--mono);text-transform:uppercase;color:var(--forest2);letter-spacing:.04em;margin-bottom:1rem}.service-card>p{max-width:550px;margin-bottom:1.8rem}.service-card .bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.service-card .price{font-size:1.6rem;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.service-card details{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.service-card summary{cursor:pointer;font-size:.8rem;font-weight:800}.service-card details p{font-size:.88rem;margin:.7rem 0 0}.service-card[hidden]{display:none}.service-notes{font-size:.82rem;color:rgba(8,43,36,.7);max-width:850px;margin:2rem 0}.solution-cta{background:var(--coral);padding:5rem 0}.solution-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:3rem}.solution-cta h2{max-width:780px;margin:0}
.diagnostic-page{min-height:calc(100vh - 82px);display:grid;grid-template-columns:.42fr .58fr;background:var(--forest);color:var(--paper)}.diag-aside{padding:7vw 4vw 5vw 5vw;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.diag-aside::before{content:'';position:absolute;width:35vw;height:35vw;border-radius:50%;border:1px solid var(--coral);right:-15vw;top:10vw;transform:rotate(-25deg)}.diag-aside::after{content:'';position:absolute;width:30vw;height:14vw;border-radius:50%;border:1px solid var(--mint);right:-8vw;top:20vw;transform:rotate(35deg)}.diag-aside>*{position:relative;z-index:1}.diag-aside h1{font-size:clamp(4rem,6.3vw,7.2rem);margin:1.2rem 0 1.7rem}.diag-aside h1 em{font-style:normal;color:var(--coral)}.diag-aside p:not(.eyebrow){max-width:430px;font-size:1.16rem;color:rgba(245,239,229,.82)}.diag-aside img{width:105px;display:block;margin-bottom:1rem}.diag-aside small{font:500 .7rem var(--mono);color:var(--coral)}.chat-shell{background:var(--paper);color:var(--forest);display:flex;flex-direction:column;min-height:calc(100vh - 82px);max-height:calc(100vh - 82px);box-shadow:-15px 0 0 var(--coral)}.chat-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.7rem;border-bottom:1px solid var(--line)}.chat-top strong{font:500 .72rem var(--mono);text-transform:uppercase}.chat-top button,.chat-actions button{background:transparent;border:0;color:var(--forest);font:500 .72rem var(--mono);text-decoration:underline;cursor:pointer}.chat-progress{height:5px;background:rgba(8,43,36,.12)}.chat-progress span{display:block;height:100%;width:0;background:var(--coral);transition:width .35s}.chat-thread{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:2rem clamp(1.2rem,3vw,3rem);scroll-behavior:smooth}.msg{display:flex;gap:.65rem;align-items:flex-end;max-width:80%;animation:popIn .35s ease}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg .avatar{width:32px;height:32px;flex:none;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-weight:800;font-size:.7rem}.msg.user .avatar{background:var(--forest);color:var(--paper)}.msg .bubble{padding:1rem 1.15rem;background:var(--white);border:1px solid var(--line);border-radius:18px 18px 18px 4px;line-height:1.4}.msg.user .bubble{background:var(--mint);border-color:var(--mint);border-radius:18px 18px 4px 18px}.chat-options{padding:1.3rem clamp(1.2rem,3vw,3rem) 2rem;border-top:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.chat-options button{border:1px solid var(--forest);padding:.85rem 1rem;background:transparent;color:var(--forest);text-align:left;font-weight:700;cursor:pointer;min-height:58px;transition:background .2s,transform .2s}.chat-options button:hover{background:var(--coral);transform:translateY(-2px)}.chat-options[hidden]{display:none}.chat-result{padding:1rem clamp(1.2rem,3vw,3rem) 2rem;border-top:1px solid var(--line);background:var(--paper);max-height:56vh;overflow:auto}.chat-result[hidden]{display:none}.result-card{background:var(--forest);color:var(--paper);padding:1.5rem;margin-top:.75rem}.result-card.secondary{background:var(--mint);color:var(--forest)}.result-card h3{margin:.5rem 0}.result-card .price{font-size:1.1rem;font-weight:800;margin-top:1rem}.chat-result>p{font-size:.88rem;margin:.8rem 0}.chat-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.chat-actions .button{font-size:.8rem}.chat-actions button{padding:.7rem}.typing{display:inline-flex;gap:4px;align-items:center;padding:1rem!important}.typing i{width:5px;height:5px;background:var(--coral);border-radius:50%;animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:.2}}@keyframes popIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.contact-page{min-height:calc(100vh - 82px);background:var(--forest);color:var(--paper);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7vw;padding:7vw 5vw}.contact-page h1{font-size:clamp(4.2rem,8vw,9rem);max-width:870px}.contact-page h1 em{font-style:normal;color:var(--coral)}.contact-page p:not(.eyebrow){font-size:1.2rem;max-width:580px;color:rgba(245,239,229,.78)}.contact-card{background:var(--coral);color:var(--forest);padding:2.2rem;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(3deg);box-shadow:13px 13px 0 var(--mint)}.contact-card img{width:115px}.contact-card h2{font-size:clamp(2.6rem,4vw,4.5rem);margin:0}.contact-card p{color:var(--forest)!important;font-size:1rem!important}.contact-card .note{font:500 .72rem var(--mono)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.nav-links{gap:1rem}.nav-links a{font-size:.76rem}.home-hero h1{font-size:clamp(4.4rem,8vw,8rem)}}
@media(max-width:800px){.site-header{height:72px}.logo-link img{width:130px;height:45px}.nav-toggle{display:block}.header-button{display:none}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:1.5rem 5vw 2rem;box-shadow:0 14px 20px rgba(8,43,36,.12);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{font-size:1.3rem;padding:.8rem 0}.wrap{width:min(100% - 12vw,1440px)}.section{padding:5.5rem 0}.home-hero{grid-template-columns:1fr;padding:5rem 6vw 3rem;min-height:auto}.home-hero h1{font-size:clamp(4.5rem,15vw,7rem)}.home-hero::before{width:95vw;height:95vw;top:auto;bottom:-10%;right:-25%}.hero-scene{min-height:380px;height:450px}.hero-tile{width:230px}.hero-stamp{right:4%;width:100px;font-size:.6rem}.home-route-head,.route-grid,.home-story .story-grid,.diag-teaser,.manifesto,.origin-grid,.about-grid,.process-layout,.example-board .board-grid,.service-grid,.solution-cta .wrap,.diagnostic-page,.contact-page{grid-template-columns:1fr}.route-card{min-height:300px}.quote-stage{width:min(100%,420px)}.diag-teaser{gap:4rem}.manifesto aside,.process-copy{position:static}.manifesto aside img{max-width:110px}.voice-grid,.deliver-grid{grid-template-columns:1fr}.about-monogram{max-width:420px}.diagnostic-page{min-height:0}.diag-aside{padding:4rem 6vw 3rem;min-height:360px}.diag-aside h1{font-size:clamp(4rem,12vw,6rem)}.diag-aside img{display:none}.chat-shell{min-height:650px;max-height:none;box-shadow:0 -12px 0 var(--coral)}.chat-thread{min-height:350px;max-height:60vh}.chat-result{max-height:none}.contact-page{padding:5rem 6vw;gap:4rem}.contact-card{max-width:470px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.4rem}.solution-cta .wrap{display:grid}}
@media(max-width:520px){h1{font-size:4.5rem}h2{font-size:3.2rem}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.hero-scene{height:390px;min-height:350px}.hero-tile{width:190px}.hero-stamp{right:0;top:5%}.hero-note{bottom:0}.chat-options{grid-template-columns:1fr}.msg{max-width:93%}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.service-card{min-height:0}.service-card .bottom{align-items:flex-start;flex-direction:column}.contact-card{min-height:330px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.home-hero h1{font-size:clamp(4.2rem,7.2vw,8rem)}
@media(max-width:520px){.home-hero{padding-top:3.7rem}.home-hero h1{font-size:clamp(3.3rem,11vw,4.4rem)}.hero-copy::after{content:'';position:absolute;right:0;top:-2.7rem;width:75px;height:70px;background:url('assets/chachi-isotipo.png') center/contain no-repeat;opacity:.18;transform:rotate(-12deg);pointer-events:none}.diag-aside{padding:2.2rem 6vw 1.7rem;min-height:0}.diag-aside h1{font-size:3.5rem;margin:.4rem 0}.diag-aside p:not(.eyebrow),.diag-aside>div:last-child{display:none}}

/* Identidad digital: el logo es siempre un archivo aprobado, nunca tipografía reconstruida. */
:root{--paper:#f7f4ee;--white:#fff;--mint:#dce9df;--ink:#17211e;--line-light:rgba(247,244,238,.28)}
body{background:var(--paper);overflow-x:clip}
main{padding-top:94px}
.skip-link{position:fixed;z-index:200;top:-100px;left:1rem;background:var(--forest);color:white;padding:.8rem 1rem}
.skip-link:focus{top:1rem}
.site-header{position:fixed;top:14px;left:3vw;width:94vw;height:68px;padding:0 1.5rem;border-radius:100px;background:rgba(247,244,238,.96);border:1px solid rgba(8,43,36,.15);box-shadow:0 10px 32px rgba(8,43,36,.09);gap:clamp(.5rem,1.5vw,2rem)}
.logo-link{padding:0;height:auto;min-width:0}
.logo-link img{width:148px;height:auto;aspect-ratio:1754/683;object-fit:contain}
.site-header .header-button{font-size:.72rem;gap:.5rem;min-width:0}
.nav-links{gap:clamp(.8rem,1.4vw,1.5rem)}
.nav-links a{font-size:.77rem}
.eyebrow{color:var(--forest);font-weight:800}
.home-origin .eyebrow,.thinking-section .eyebrow,.page-intro.dark .eyebrow,.diagnostic-page .eyebrow{color:var(--mint)}
.home-page h1,.home-page h2,.home-page h3{overflow-wrap:normal}
.home-page h2{line-height:1;letter-spacing:-.065em}
.home-page h2 em{font-style:normal;color:var(--forest)}
.home-page .section{padding-block:clamp(5rem,8vw,8rem)}
.home-page .section-heading{display:grid;grid-template-columns:1.2fr .8fr;column-gap:8vw;align-items:end;margin-bottom:2.7rem}
.section-heading .eyebrow{grid-column:1/-1}
.section-heading h2{margin-bottom:0}
.section-heading>p:last-child{font-size:clamp(1rem,1.4vw,1.2rem);max-width:490px;margin:0 0 .25rem}
.micro-label{font:800 .65rem/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.home-hero{min-height:calc(100svh - 94px);padding:clamp(3rem,5vw,5rem) 5vw 4rem;grid-template-columns:1.08fr .92fr;gap:3vw;background:var(--paper);isolation:isolate}
.home-hero::before{width:58vw;height:58vw;top:1%;right:-15%;background:var(--mint);opacity:.7;filter:blur(60px);z-index:-1}
.home-hero h1{font-size:clamp(4.6rem,7.5vw,8.5rem);line-height:.92;margin:1.8rem 0 1.7rem;letter-spacing:-.085em;max-width:850px}
.home-hero h1 em{color:var(--forest);font-style:normal;position:relative;white-space:nowrap}
.home-hero h1 em::after{content:'';position:absolute;left:0;right:0;bottom:-.06em;height:.09em;background:var(--coral);transform:rotate(-2deg);z-index:-1}
.home-page .hero-copy::after{display:none}
.home-hero .lead{font-size:clamp(1.06rem,1.45vw,1.33rem);line-height:1.48;max-width:560px}
.hero-footnote{margin-top:3rem;font:700 .67rem var(--mono);letter-spacing:.05em;text-transform:uppercase}
.hero-composition{height:min(620px,47vw);min-height:480px;position:relative;perspective:900px}
.composition-ring{position:absolute;inset:11% 2% 9% 8%;border:1px solid rgba(8,43,36,.25);border-radius:50%;transform:rotate(-26deg)}
.composition-card{position:absolute;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;box-shadow:0 22px 44px rgba(8,43,36,.15);transition:transform .55s cubic-bezier(.2,.8,.2,1);border:1px solid rgba(8,43,36,.1)}
.composition-problem{left:0;top:9%;width:54%;min-height:43%;background:var(--forest);color:var(--paper);transform:rotate(-8deg)}
.composition-problem strong{font-size:clamp(1.6rem,2.7vw,3.2rem);line-height:1.05;letter-spacing:-.06em}
.composition-problem .card-bottom{font-size:.8rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem}
.composition-question{right:1%;top:31%;width:56%;min-height:39%;background:var(--coral);color:var(--forest);transform:rotate(7deg)}
.composition-question p{font-weight:800;font-size:clamp(1.3rem,2.1vw,2.5rem);line-height:1.12;letter-spacing:-.055em;margin:.8rem 0}
.composition-dots{display:flex;gap:.4rem}.composition-dots i{width:.55rem;height:.55rem;border:1px solid currentColor;border-radius:50%}.composition-dots i:first-child{background:currentColor}
.composition-answer{left:15%;bottom:1%;width:62%;min-height:30%;background:var(--white);color:var(--forest);transform:rotate(-3deg)}
.composition-answer strong{font-size:clamp(1.2rem,1.75vw,2.15rem);line-height:1.08;letter-spacing:-.05em}
.composition-answer img{position:absolute;right:1rem;bottom:1rem;width:17%;height:auto}
.composition-seal{position:absolute;right:0;top:1%;width:104px;aspect-ratio:1;border-radius:50%;background:var(--forest);color:var(--paper);display:grid;place-items:center;text-align:center;font:800 .61rem/1.35 var(--mono);transform:rotate(12deg);z-index:5}
.hero-composition:hover .composition-problem{transform:rotate(-5deg) translate(-6px,-6px)}
.hero-composition:hover .composition-question{transform:rotate(4deg) translate(5px,-8px)}
.hero-composition:hover .composition-answer{transform:rotate(-1deg) translateY(7px)}
.home-problems{background:var(--white)}
.problem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.problem-card{min-height:365px;padding:1.35rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--mint);color:var(--forest);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.problem-card:nth-child(2){background:var(--forest);color:var(--paper)}.problem-card:nth-child(3){background:#ffe1d7}.problem-card:nth-child(4){background:var(--paper)}
.problem-card::after{content:'↗';position:absolute;right:-.7rem;top:1rem;font-size:10rem;line-height:1;opacity:.09;transform:rotate(-15deg);pointer-events:none}
.problem-card strong{font-size:clamp(1.45rem,2vw,2.25rem);line-height:1.08;letter-spacing:-.055em;z-index:1}
.problem-card>span:last-child{font-weight:800;font-size:.78rem;line-height:1.3;display:flex;gap:.6rem;justify-content:space-between;align-items:end;z-index:1}
.problem-card b{font-size:1.6rem;line-height:1}
.problem-card:hover,.problem-card:focus-visible{transform:translateY(-8px);box-shadow:7px 7px 0 var(--coral)}
.thinking-section{background:var(--forest);color:var(--paper)}
.thinking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.thinking-copy h2{font-size:clamp(2.6rem,4.6vw,5.5rem)}
.thinking-copy p:not(.eyebrow){font-size:1.1rem;line-height:1.6;max-width:550px;color:rgba(247,244,238,.83)}
.thinking-copy .link-arrow{margin-top:1rem}
.thinking-demo{background:var(--paper);color:var(--forest);padding:1.4rem;min-height:430px;display:flex;flex-direction:column;box-shadow:16px 16px 0 var(--coral)}
.demo-top{display:flex;justify-content:space-between;gap:1rem;font:800 .66rem var(--mono);letter-spacing:.04em;border-bottom:1px solid var(--line);padding-bottom:1rem}
.demo-stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;min-height:280px}
.demo-kicker{font:800 .7rem var(--mono);text-transform:uppercase;color:var(--forest)}
.demo-stage p{font-size:clamp(2.2rem,4.2vw,5rem);font-weight:800;line-height:1;letter-spacing:-.07em;margin:1rem 0}
.demo-stage small{max-width:480px;font-size:1rem;line-height:1.5}
.demo-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem}
.demo-controls button{width:44px;height:44px;border-radius:50%;border:1px solid var(--forest);background:transparent;color:var(--forest);font-size:1.25rem;cursor:pointer}
.demo-controls button:disabled{opacity:.3;cursor:not-allowed}
.demo-controls button:not(:disabled):hover{background:var(--forest);color:var(--paper)}
.demo-progress{display:flex;gap:.4rem}.demo-progress i{width:24px;height:4px;background:rgba(8,43,36,.18)}.demo-progress i.active{background:var(--coral)}
.home-solutions{background:var(--mint)}
.solution-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2.5rem}
.preview-card{min-height:360px;padding:1.5rem;text-decoration:none;background:var(--white);display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:transform .3s,box-shadow .3s}
.preview-card:nth-child(2){background:var(--coral)}.preview-card:nth-child(3){background:var(--forest);color:var(--paper)}
.preview-card>span:first-child,.preview-card>span:last-child{font:800 .69rem/1.4 var(--mono)}
.preview-card>span:last-child{display:flex;justify-content:space-between;gap:1rem}
.preview-card b{font:400 1.5rem var(--sans)}
.preview-card strong{font-size:clamp(1.65rem,2.5vw,3rem);line-height:1.07;letter-spacing:-.055em;max-width:390px}
.preview-card:hover,.preview-card:focus-visible{transform:translateY(-7px);box-shadow:8px 8px 0 var(--forest)}
.home-origin{background:var(--forest);color:var(--paper)}
.origin-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:8vw;align-items:center}
.origin-layout h2{font-size:clamp(3rem,5vw,6rem)}
.origin-layout p:not(.eyebrow){font-size:1.15rem;line-height:1.6;max-width:630px;color:rgba(247,244,238,.83)}
.origin-layout .link-arrow{margin-top:1rem}
.origin-symbol{min-height:440px;position:relative;background:var(--coral);display:grid;place-items:center;transform:rotate(-3deg);box-shadow:13px 13px 0 var(--mint)}
.origin-symbol img{width:60%;height:auto;transform:rotate(3deg)}
.origin-symbol span{position:absolute;left:1.2rem;bottom:1rem;font:800 .66rem var(--mono)}
.home-last{text-align:center;background:var(--paper)}
.home-last h2{max-width:1000px;margin:0 auto 1.4rem}
.home-last h2 em{color:var(--forest)}
.home-last p:not(.eyebrow){font-size:1.2rem}.home-last .button{margin-top:1rem}
.home-page .site-footer{padding-top:4rem}
.home-page .footer-top{padding-bottom:2rem}
.footer-wordmark{display:block;margin:0 auto 2.5rem;width:min(100%,1500px)}
.footer-wordmark img{display:block;width:100%;height:auto}
.reveal{opacity:1;transform:none}
.js-motion .reveal:not(.visible){opacity:0;transform:translateY(26px)}
.js-motion .reveal.visible{opacity:1;transform:none}
.home-intro[hidden]{display:none}
.home-intro{position:fixed;inset:0;z-index:150;color:var(--forest);display:grid;place-items:center;overflow:hidden}
.intro-panel{position:absolute;left:0;right:0;height:50%;background:var(--paper);transition:transform .7s cubic-bezier(.76,0,.24,1)}
.intro-panel-top{top:0}.intro-panel-bottom{bottom:0}
.home-intro.opening .intro-panel-top{transform:translateY(-101%)}
.home-intro.opening .intro-panel-bottom{transform:translateY(101%)}
.intro-center{position:relative;z-index:1;text-align:center;padding:2rem;transition:opacity .25s,transform .45s}
.intro-center img{width:70px;height:auto;display:block;margin:0 auto 1.5rem}
.intro-center p{font-size:clamp(1.2rem,2.4vw,2rem);font-weight:800;letter-spacing:-.05em}
.home-intro.opening .intro-center{opacity:0;transform:translateY(-16px)}
.intro-skip{position:absolute;z-index:2;right:4vw;bottom:3rem;border:0;background:transparent;color:var(--forest);font-weight:800;text-decoration:underline;cursor:pointer}
.home-intro.opening .intro-skip{display:none}
.page-intro{padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(3rem,6vw,5rem)}
.page-intro h1{font-size:clamp(3.5rem,7vw,7.5rem)}
.page-intro h1 em,.diag-aside h1 em,.contact-page h1 em{color:var(--mint)}
.page-intro:not(.dark) h1 em{color:var(--forest);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:.08em;text-underline-offset:.08em}
.solutions-intro h1 em{color:var(--paper)!important;text-decoration-color:var(--coral)!important}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card{min-width:0}
.service-card .price{white-space:normal}
.service-card .top{flex-wrap:wrap}
.service-card .top span{min-width:0}
@media(max-width:800px){.service-grid{grid-template-columns:minmax(0,1fr)}}
.contact-page{min-height:calc(100vh - 94px)}
.diagnostic-page{min-height:calc(100vh - 94px)}
@media(max-width:1180px){.site-header .nav-toggle{display:block;margin-left:auto}.site-header .nav-links{display:none;position:absolute;top:78px;left:0;right:0;padding:1.2rem 1.5rem;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 24px rgba(8,43,36,.15);flex-direction:column;align-items:stretch;gap:0}.site-header .nav-links.open{display:flex}.site-header .nav-links a{font-size:1rem;padding:.8rem 0}.site-header .header-button{display:none}}
@media(max-width:900px){.home-hero{grid-template-columns:1fr;padding:3rem 6vw 4rem}.home-hero h1{font-size:clamp(4rem,10vw,7rem)}.hero-composition{width:min(100%,660px);height:530px;min-height:0;margin-inline:auto}.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thinking-layout,.origin-layout{grid-template-columns:1fr}.thinking-copy h2{max-width:800px}.origin-symbol{width:min(100%,500px)}.section-heading{grid-template-columns:1fr!important}.section-heading>p:last-child{margin-top:1.5rem}.solution-preview{grid-template-columns:1fr 1fr}.solution-preview .preview-card:last-child{grid-column:1/-1;min-height:260px}}
@media(max-width:600px){main{padding-top:84px}.site-header{top:10px;left:4vw;width:92vw;height:62px;padding:0 1rem}.logo-link img{width:126px}.site-header .nav-links{top:70px}.home-hero{padding:2.3rem 6vw 3rem}.home-hero h1{font-size:clamp(3.3rem,11.5vw,5rem);margin:1.2rem 0}.home-hero .lead{font-size:1.05rem}.hero-footnote{margin-top:2rem}.hero-composition{height:380px;width:100%;margin-top:1.3rem}.composition-card{padding:1rem}.composition-problem{width:55%;min-height:43%}.composition-question{width:58%;min-height:39%}.composition-answer{width:67%;min-height:32%;left:10%}.composition-problem strong{font-size:clamp(1.4rem,6vw,2rem)}.composition-question p{font-size:clamp(1.15rem,5vw,1.8rem)}.composition-answer strong{font-size:clamp(1.1rem,4.6vw,1.6rem)}.composition-seal{width:74px;font-size:.46rem}.micro-label{font-size:.55rem}.home-page .section{padding-block:4.5rem}.home-page h2{font-size:clamp(2.8rem,9vw,4rem)}.problem-grid,.solution-preview{grid-template-columns:1fr}.problem-card{min-height:245px}.preview-card,.solution-preview .preview-card:last-child{min-height:260px;grid-column:auto}.thinking-demo{min-height:380px;box-shadow:8px 8px 0 var(--coral);padding:1rem}.demo-stage{min-height:250px;padding:1.3rem .3rem}.demo-stage p{font-size:clamp(2.1rem,8vw,3.4rem)}.origin-symbol{min-height:310px}.footer-wordmark{margin-bottom:1.5rem}.page-intro{padding-top:3.2rem;padding-bottom:3.2rem}.page-intro h1{font-size:clamp(3.1rem,10vw,4.5rem)}.diag-aside h1{font-size:clamp(2.9rem,10vw,4rem)}.contact-page h1{font-size:clamp(3.2rem,11vw,5rem)}.contact-card{transform:none;box-shadow:8px 8px 0 var(--mint)}}
@media(max-width:360px){.home-hero h1{font-size:3.15rem}.hero-composition{height:340px}.composition-seal{width:64px}.composition-card{padding:.75rem}.composition-card strong{font-size:1.17rem}.composition-question p{font-size:1.05rem}.composition-answer img{width:15%}.home-page h2{font-size:2.65rem}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal:not(.visible){opacity:1;transform:none}.hero-composition:hover .composition-card,.problem-card:hover,.preview-card:hover{transform:none}.home-intro{display:none!important}}
.service-pricing-note{max-width:930px;padding:1rem 1.25rem;border-left:4px solid var(--coral);background:var(--mint);font-size:.9rem;line-height:1.5;margin:0 0 2rem}
.chat-result h2{font-size:clamp(2rem,3vw,3.2rem);margin:.2rem 0 1rem}
.chat-result h2:focus{outline:none}
.chat-result .eyebrow{color:var(--mint)}
.chat-result .result-card.secondary .eyebrow{color:var(--forest)}
.chat-actions .button{font:800 .77rem var(--sans);text-decoration:none;min-height:46px;padding:.7rem 1rem}
.chat-actions .button.coral{background:var(--coral);color:var(--forest);border:1px solid var(--coral)}
.chat-actions .button.outline{background:transparent;color:var(--forest);border:1px solid var(--forest)}
.page-intro h1,.contact-page h1,.diag-aside h1{overflow-wrap:break-word}
@media(max-width:800px){.chat-shell{min-height:0}.chat-thread{min-height:180px;max-height:38svh}.chat-options{padding-bottom:1.4rem}.chat-result{max-height:none}.process-card{min-height:250px}}
@media(max-width:520px){.chat-top{padding:.85rem 1rem;align-items:flex-start}.chat-top>div{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.chat-thread{padding:1.2rem}.chat-options{padding:1rem}.msg .bubble{padding:.8rem}.chat-result{padding:1.2rem}.service-card{padding:1.3rem}.service-card h3{margin-top:1.5rem}}
@media(max-width:800px){.process-layout{grid-template-columns:minmax(0,1fr)}.process-copy,.process-stack{min-width:0}.process-card{grid-template-columns:minmax(0,1fr) auto;min-width:0;width:100%}.process-card h3{overflow-wrap:anywhere}.contact-page{grid-template-columns:minmax(0,1fr)}.contact-page>div{min-width:0}}
@media(max-width:800px){.solution-cta .wrap{grid-template-columns:minmax(0,1fr)}.solution-cta h2{font-size:clamp(2.4rem,8vw,4rem);overflow-wrap:anywhere}.solution-cta .button{width:max-content;max-width:100%;white-space:normal}}
@media(max-width:600px){.page-intro{padding-top:2.5rem;padding-bottom:2.8rem}.page-intro h1{font-size:clamp(2.6rem,9vw,4.2rem);line-height:.98}.page-intro .lead{font-size:1.05rem}.contact-page h1{font-size:clamp(2.9rem,10vw,4.5rem)}}

/* Compact, progressively enhanced solutions catalogue. */
#catalogo{scroll-margin-top:110px}
.service-grid{grid-template-columns:minmax(0,1fr);gap:.7rem}
.service-card.service-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1.5rem;row-gap:.25rem;min-height:0;padding:1.15rem 1.35rem;background:var(--white);box-shadow:none;transform:none}
.service-card.service-compact:hover{transform:none;box-shadow:none;border-color:var(--coral)}
.service-card.service-compact.expanded{background:var(--mint);border-color:var(--forest)}
.service-card.service-compact[hidden]{display:none}
.service-card.service-compact .top{grid-column:1/-1;gap:.5rem 1.5rem;margin:0;color:var(--forest2)}
.service-card.service-compact h3{grid-column:1;grid-row:2;max-width:none;margin:.5rem 0 .1rem;font-size:clamp(1.25rem,2vw,1.85rem);line-height:1.15}
.service-card.service-compact .service-name{grid-column:1;grid-row:3;margin:0;font-size:.68rem}
.service-card.service-compact>.price{grid-column:2;grid-row:2;justify-self:end;text-align:right;font-size:1.25rem}
.service-expand{grid-column:2;grid-row:3;justify-self:end;border:0;background:transparent;color:var(--forest);font:800 .75rem var(--sans);text-decoration:underline;text-underline-offset:.22em;cursor:pointer;padding:.45rem 0}
.service-expand:hover{color:var(--forest2)}
.service-expand:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.service-extra{grid-column:1/-1;border-top:1px solid var(--line);margin-top:.9rem;padding-top:1rem;display:grid;gap:1rem}
.service-extra[hidden]{display:none}
.service-extra>p{max-width:780px;margin:0;line-height:1.55}
.service-card.service-compact .service-extra .bottom{margin:0;display:block}
.service-card.service-compact .service-extra details{margin:0;max-width:800px;padding-top:.8rem}
@media(max-width:600px){.service-card.service-compact{padding:1rem;column-gap:.7rem}.service-card.service-compact h3{grid-column:1/-1;margin:.6rem 0 .2rem;font-size:1.35rem}.service-card.service-compact .service-name{grid-column:1/-1}.service-card.service-compact>.price{grid-column:1;grid-row:4;justify-self:start;text-align:left;font-size:1.15rem;margin-top:.55rem}.service-expand{grid-column:2;grid-row:4;white-space:nowrap}.service-card.service-compact .top{font-size:.62rem}}
/* Contact, keyboard focus and catalogue feedback. */
.manifesto .manifesto-body strong{color:var(--forest);text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:.15em}
.service-card{scroll-margin-top:110px}.service-filter-status{font-size:.85rem;font-weight:700;margin:0 0 1rem;color:var(--forest)}
.contact-context{font-weight:800;color:var(--mint);overflow-wrap:anywhere}.contact-page a[href^="mailto:"]{overflow-wrap:anywhere}
.summary-fallback{display:block;width:100%;margin-top:1rem;padding:1rem;background:var(--white);color:var(--forest);border:1px solid var(--forest);border-radius:8px;font:inherit;resize:vertical}
.button:focus-visible,.service-expand:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--forest);outline-offset:4px;box-shadow:0 0 0 4px var(--paper)}
.composition-answer strong{padding-right:24%}
/* Keep section labels readable on dark backgrounds. */
.solutions-intro .eyebrow,.example-board .eyebrow,.about-band .eyebrow,.contact-page .eyebrow{color:var(--mint)}
.contact-card .eyebrow{color:var(--forest)}

/* Clear first step and quieter service choices. */
.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:0;padding-top:3.5rem;padding-bottom:4rem}
.home-hero h1{font-size:clamp(3.6rem,7.1vw,7.6rem);line-height:.96}
.home-orientation{min-width:0;padding:clamp(1.4rem,3vw,2.5rem);background:var(--white);color:var(--forest);border:1px solid var(--forest);border-radius:24px;box-shadow:8px 8px 0 var(--coral)}
.orientation-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;font:800 .65rem var(--sans);letter-spacing:.08em}
.orientation-top img{width:42px;height:42px;object-fit:contain}
.home-orientation h2{font-size:clamp(2.2rem,3.5vw,3.5rem);line-height:1.02;margin:0 0 1.5rem}
.home-orientation p{font-size:1rem;line-height:1.6}
.home-orientation .orientation-bubble{background:var(--mint);padding:1rem 1.2rem;border-radius:16px 16px 16px 2px;font-weight:700}
.home-orientation .button{width:100%;justify-content:space-between;margin-top:.7rem}
.home-orientation small{display:block;font-size:.7rem;line-height:1.6;margin-top:1rem}
.home-choice-list{gap:0 2rem}
.home-choice-list .problem-card{min-height:0;color:var(--forest);background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--forest);border-radius:0;padding:1.5rem 0;transform:none}
.home-choice-list .problem-card:hover{transform:none;background:transparent}
.home-choice-list .problem-card strong{font-size:clamp(1.3rem,2.2vw,1.9rem);margin:.7rem 0}
.service-grid[hidden]{display:none}
.diag-aside{isolation:isolate}.diag-aside>div{position:relative;z-index:1}.diag-aside::before,.diag-aside::after{z-index:-1;pointer-events:none}
.contact-page h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:1.02}
@media(max-width:900px){.home-hero{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2rem}.home-hero h1{font-size:clamp(3.4rem,10vw,6rem)}.home-orientation{max-width:none}.home-choice-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.home-orientation{padding:1.25rem;border-radius:18px;box-shadow:5px 5px 0 var(--coral)}.home-orientation h2{font-size:2.25rem}.home-hero h1{font-size:clamp(3.1rem,12vw,4.5rem)}.contact-page h1{font-size:2.8rem}}

.home-choice-list .problem-card span,.home-choice-list .problem-card strong{color:var(--forest)}
.site-header .logo-link{display:flex;align-items:center;padding-block:6px}.site-header .logo-link img{height:44px;width:auto;max-width:145px;object-fit:contain}
