@font-face{font-family:Staatliches;src:url('assets/fonts/staatliches-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}

@font-face{font-family:Lusitana;src:url('assets/fonts/lusitana-400-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}

@font-face{font-family:Lusitana;src:url('assets/fonts/lusitana-700-latin.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:700}

:root{--navy:#1D2D44;--navy-2:#3E5C76;--blue:#3E5C76;--electric:#8AA9C4;--paper:#EAF2F8;--ivory:#FFFFFF;--white:#FFFFFF;--ink:#1D2D44;--muted:#5D7184;--line:rgba(29,45,68,.16);--light-line:rgba(255,255,255,.24);--cyan:#C9DCE8;--magenta:#3E5C76;--yellow:#8AA9C4;--error:#9d2748;--serif:Staatliches,Impact,sans-serif;--sans:Lusitana,Georgia,serif;--wrap:1240px;--pad:clamp(1.25rem,4vw,3.5rem);--section:clamp(3.5rem,6vw,5.75rem);--header:80px;--button-radius:16px;--ease:cubic-bezier(.22,.61,.21,1)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 10px)}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0;text-wrap:pretty}
h1,h2,h3{line-height:.98}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:.005em}
h2{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:0}
h1 em,h2 em,h3 em{font-family:var(--serif);font-weight:400;font-style:normal}
.wrap{width:min(var(--wrap),calc(100% - (var(--pad) * 2)));margin-inline:auto}
.section{position:relative;padding:var(--section) 0}
.skip-link{position:fixed;z-index:1000;left:1rem;top:1rem;transform:translateY(-150%);padding:.75rem 1rem;background:var(--white);color:var(--navy)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--electric);outline-offset:4px}
.tag{margin:0 0 1.4rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:750;color:var(--blue)}
.tag-light{color:#cbdcf4}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.45rem;border:1px solid transparent;border-radius:var(--button-radius);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:760;cursor:pointer;transition:background .25s,color .25s,border .25s,transform .25s}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--ivory);color:var(--navy)}
.button-light:hover{background:var(--white)}
.button-solid{background:var(--navy);color:var(--white)}
.button-solid:hover{background:var(--blue)}
.button-outline-light{color:var(--white);border-color:var(--light-line);background:transparent}
.button-outline-light:hover{border-color:var(--white)}
.text-link{position:relative;display:inline-flex;padding:.35rem 0;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:760;text-decoration:none}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .25s}
.text-link:hover::after{transform:scaleX(.4)}
.text-link-light{color:var(--white)}

.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);color:var(--white);transition:background .35s,color .35s,box-shadow .35s}
.site-header::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,16,30,.62),transparent);pointer-events:none}
.site-header.scrolled{color:var(--navy);background:rgba(250,248,242,.96);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(15px)}
.site-header.scrolled::before{opacity:0}
.header-inner{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:2rem}
.brand{display:flex;align-items:center;min-width:210px;text-decoration:none}
.brand-logo{width:210px;height:auto;object-fit:contain}
.brand-logo,.hero-brand,.footer-logo img,.catalog-logo img,.info-header img{filter:drop-shadow(0 0 5px rgba(255,255,255,.98)) drop-shadow(0 0 16px rgba(255,255,255,.72));}
.desktop-nav{flex:1;display:flex;justify-content:center;gap:clamp(1.1rem,2.4vw,2.6rem)}
.desktop-nav a{position:relative;padding:.5rem 0;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:720}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .2s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.button-nav{color:var(--white);border-color:rgba(255,255,255,.48);background:rgba(7,26,52,.25)}
.site-header.scrolled .button-nav{background:var(--navy);color:var(--white);border-color:var(--navy)}
.menu-toggle{display:none;width:50px;height:50px;padding:12px;border:0;background:transparent;color:inherit}
.menu-toggle span{display:block;width:26px;height:1px;margin:7px auto;background:currentColor;transition:transform .25s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:90;inset:0;display:flex;flex-direction:column;padding:calc(var(--header) + 2rem) var(--pad) 2.5rem;background:var(--navy);color:var(--white);visibility:hidden;opacity:0;transform:translateY(-2%);transition:.3s var(--ease)}
.mobile-menu.open{visibility:visible;opacity:1;transform:none}
.mobile-menu nav{display:grid}
.mobile-menu nav a{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--light-line);font-family:var(--serif);font-size:clamp(2rem,8vw,3.4rem);text-decoration:none}
.mobile-menu nav em{font-family:var(--sans);font-size:.65rem;font-style:normal;letter-spacing:.15em}
.mobile-menu-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:2rem}
.mobile-menu-foot p{margin:0;color:#b9c7dc;font-size:.8rem;text-align:right}

.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:var(--navy);color:var(--white)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,36,.5),rgba(5,18,36,.2) 35%,rgba(5,18,36,.72))}
.hero-media span{position:absolute;inset:0;z-index:1;background:rgba(4,43,82,.23);mix-blend-mode:multiply}
.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding-top:var(--header);text-align:center}
.hero-brand{width:clamp(230px,31vw,440px);height:auto;margin-bottom:clamp(1.5rem,3vw,2.8rem);filter:drop-shadow(0 0 7px rgba(255,255,255,1)) drop-shadow(0 0 24px rgba(255,255,255,.8));}
.hero h1{max-width:1180px;margin:0;font-size:clamp(4rem,10.5vw,9.8rem);line-height:.81;color:var(--white)}
.hero h1 em{color:var(--cyan);font-style:normal}
.hero-kicker{margin:clamp(1.5rem,3vw,2.5rem) 0 .8rem;font-family:var(--serif);font-size:clamp(1.2rem,2.1vw,1.75rem);letter-spacing:.05em}
.hero-text{max-width:660px;margin:0;color:rgba(255,255,255,.84);font-size:clamp(.94rem,1.4vw,1.08rem)}
.hero-actions{display:flex;align-items:center;gap:2.2rem;margin-top:2.2rem}
.hero-foot{position:absolute;z-index:2;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:end}
.hero-scroll{display:flex;align-items:center;gap:1rem;color:var(--white);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.63rem}
.hero-scroll i{display:block;width:58px;height:1px;background:rgba(255,255,255,.65)}
.concept-note{color:rgba(255,255,255,.58);font-size:.62rem;letter-spacing:.08em}

.intro{overflow:hidden;background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(3rem,8vw,8rem);align-items:end}
.intro-heading h2{max-width:850px}
.intro-heading h2 em{display:block;color:var(--blue)}
.intro-copy{max-width:470px;padding-bottom:.8rem}
.intro-copy p{color:var(--muted);font-size:1.08rem}
.intro-copy .text-link{margin-top:1rem}
.print-registration{position:absolute;right:6vw;top:4rem;display:flex}
.print-registration i{width:38px;height:38px;margin-left:-10px;border-radius:50%;mix-blend-mode:multiply}
.print-registration i:nth-child(1){background:var(--cyan)}
.print-registration i:nth-child(2){background:var(--magenta)}
.print-registration i:nth-child(3){background:#c7b9a4}
.print-registration i:nth-child(4){background:#111}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--ivory);color:var(--navy)}
.marquee-track{width:max-content;display:flex;align-items:center;gap:1.6rem;flex-shrink:0;white-space:nowrap;padding:1.25rem 0;animation:marquee 46s linear infinite}
.marquee span{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.7rem)}
.marquee i{color:var(--magenta);font-size:2rem}
@keyframes marquee{to{transform:translateX(-25%)}
}

.section-dark{background:var(--navy);color:var(--white)}
.section-head{margin-bottom:clamp(3.5rem,7vw,6rem)}
.split-head{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,8rem);align-items:end}
.split-head h2{max-width:800px}
.split-head h2 em{color:#bcd2ed}
.split-head>p{max-width:430px;margin-bottom:.5rem;color:#b6c2d2}
.featured-services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--light-line);border-left:1px solid var(--light-line)}
.service-card{position:relative;min-height:470px;display:flex;flex-direction:column;padding:2rem;border-right:1px solid var(--light-line);border-bottom:1px solid var(--light-line);color:var(--white);background:transparent;transition:background .3s}
.service-card:hover{background:var(--navy-2)}
.service-card-num{font-size:.65rem;letter-spacing:.15em;color:#aabbd2}
.service-art{position:relative;height:180px;margin:2rem 0;overflow:hidden}
.service-art::before,.service-art::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.45)}
.art-large::before{width:70%;height:75%;left:5%;top:8%;transform:rotate(-5deg);background:linear-gradient(135deg,transparent 68%,var(--cyan) 68%)}
.art-large::after{width:55%;height:65%;right:2%;bottom:2%;transform:rotate(6deg);background:linear-gradient(135deg,transparent 68%,var(--blue) 68%)}
.art-stickers::before{width:120px;height:120px;left:15%;top:15%;border-radius:50%;background:var(--magenta)}
.art-stickers::after{width:90px;height:90px;right:15%;bottom:8%;border-radius:50%;background:var(--cyan)}
.art-forms::before{width:60%;height:80%;left:12%;top:4%;transform:rotate(-5deg);background:repeating-linear-gradient(transparent 0 26px,rgba(255,255,255,.3) 27px,transparent 28px)}
.art-forms::after{width:60%;height:80%;right:5%;bottom:0;transform:rotate(5deg);background:repeating-linear-gradient(transparent 0 26px,rgba(255,255,255,.3) 27px,transparent 28px)}
.service-card h3{margin:0 0 1rem;font-family:var(--serif);font-size:2rem;font-weight:420}
.service-card p{margin:0 0 2rem;color:#b8c4d4;font-size:.9rem}
.service-card button{align-self:flex-start;margin-top:auto;color:var(--white);border:0;border-bottom:1px solid var(--white);background:transparent;padding:.5rem 0;text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;cursor:pointer}
.service-index{display:grid;grid-template-columns:.52fr 1.48fr;gap:5rem;padding:5rem 0}
.service-index h3{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:400}
.service-list{display:grid;grid-template-columns:repeat(2,1fr)}
.service-item{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--light-line);color:#d7e0ed;font-size:.84rem}
.service-item em{color:#8092aa;font-style:normal;font-size:.66rem}
.business-module{display:grid;grid-template-columns:.55fr 1.45fr;background:var(--paper);color:var(--ink)}
.business-copy{padding:clamp(2rem,5vw,4.5rem);background:#e8e4dc}
.business-copy h3{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.7rem);font-weight:380}
.business-copy p:last-child{color:var(--muted)}
.business-interactive{min-width:0;padding:clamp(2rem,5vw,4.5rem)}
.solution-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line)}
.solution-tab{flex:0 0 auto;min-height:48px;padding:.8rem 1rem;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;cursor:pointer}
.solution-tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}
.solution-panel{padding-top:2.5rem}
.solution-panel h4{margin:0 0 .8rem;font-family:var(--serif);font-size:2rem;font-weight:430}
.solution-panel>p{color:var(--muted)}
.solution-products{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.solution-products span{padding:.7rem 1rem;border:1px solid var(--line);font-size:.8rem}

.catalog-entry{overflow:hidden;background:var(--paper);color:var(--navy)}
.catalog-entry::before{content:"";position:absolute;width:36vw;aspect-ratio:1;right:-10vw;top:-18vw;border:1px solid rgba(7,26,52,.18);border-radius:50%}
.catalog-entry-copy{max-width:840px}
.catalog-entry-copy h2{font-size:clamp(3.6rem,8vw,7.5rem)}
.catalog-entry-copy h2 em{display:block;color:var(--blue)}
.catalog-entry-copy>p:not(.tag){max-width:640px;margin:2rem 0;color:rgba(7,26,52,.76);font-size:1.05rem}
.catalog-entry-copy .button span{margin-left:2.2rem;font-size:1.1rem}

.catalog{background:var(--ivory)}
.catalog-filters{flex:1;display:flex;flex-wrap:wrap;gap:.45rem}
.filter-button{flex:0 0 auto;min-height:44px;padding:.65rem 1rem;border:1px solid var(--line);background:transparent;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;cursor:pointer}
.filter-button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}
#result-count{flex:0 0 auto;margin:0;color:var(--muted);font-size:.72rem}
.applications{padding-top:1rem;border-top:1px solid var(--line)}

.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(3rem,9vw,9rem);align-items:center}
.about-media{position:relative;margin:0}
.about-media img{width:100%;max-height:820px;object-fit:cover}
.about-media figcaption{position:absolute;right:0;bottom:0;padding:.7rem 1rem;background:rgba(250,248,242,.92);text-transform:uppercase;letter-spacing:.1em;font-size:.58rem}
.about-copy h2{font-size:clamp(3rem,6vw,5.8rem)}
.about-copy h2 em{display:block;color:var(--blue)}
.about-copy .lead{margin-top:2.5rem;color:var(--ink);font-size:1.25rem}
.about-copy>p:not(.tag):not(.lead){color:var(--muted);font-size:1.02rem}
.values-list{margin:2.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.values-list li{display:grid;grid-template-columns:60px 1fr;padding:1rem 0;border-bottom:1px solid var(--line)}
.values-list span{color:var(--blue);font-size:.67rem}
.values-list strong{font-size:.9rem}
.statement{padding:clamp(3rem,7vw,6rem) 0;background:var(--electric);color:var(--white)}
.statement-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.statement p{margin:0;font-family:var(--serif);font-size:clamp(2.5rem,6vw,5.4rem);line-height:.95}
.statement p em{color:#dcedfb}

.contact{background:var(--ivory)}
.contact-head{max-width:1000px}
.contact-head h2 em{color:var(--blue)}
.testimonials{display:grid;grid-template-columns:1.45fr .55fr;min-height:560px;background:var(--navy);color:var(--white)}
.testimonial-stage{display:flex;flex-direction:column;padding:clamp(2.5rem,6vw,5.5rem)}
.testimonial-stage h3{margin:0;font-family:var(--serif);font-size:clamp(2.7rem,5vw,4.8rem);font-weight:380}
.testimonial-card{min-height:250px;padding:2.5rem 0 1.5rem;transition:opacity .16s}
.testimonial-card.is-changing{opacity:0}
.stars{color:var(--yellow);letter-spacing:.13em}
.testimonial-quote{margin:1.2rem 0 1.5rem;max-width:800px;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.45}
.testimonial-person{display:flex;align-items:center;gap:.8rem}
.avatar{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--light-line);border-radius:50%;font-size:.7rem}
.testimonial-person strong{font-size:.8rem}
.testimonial-controls{display:flex;align-items:center;gap:1rem;margin-top:auto}
.testimonial-controls button{width:46px;height:46px;border:1px solid var(--light-line);border-radius:50%;color:var(--white);background:transparent;cursor:pointer}
.testimonial-controls p{margin:0;font-size:.7rem}
.testimonial-list{display:grid;align-content:center;padding:1.5rem;background:var(--navy-2)}
.testimonial-select{min-height:84px;display:grid;grid-template-columns:44px 1fr 20px;gap:.8rem;align-items:center;padding:.8rem;border:1px solid transparent;color:#cbd6e6;background:transparent;text-align:left;cursor:pointer}
.testimonial-select[aria-current=true]{background:var(--ivory);color:var(--navy)}
.testimonial-select small{opacity:.68}
.quote-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:end;margin:clamp(5rem,10vw,9rem) 0 2.5rem}
.quote-intro h3{margin:0;font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.8rem);font-weight:380}
.quote-intro>p{max-width:400px;margin:0;color:var(--muted)}
.quote-shell{display:grid;grid-template-columns:1.42fr .58fr;align-items:start}
.quote-shell form{padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--line);background:var(--white)}
.form-head{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.form-head h3{margin:0;font-family:var(--serif);font-size:2.5rem;font-weight:400}
.form-head p{max-width:220px;margin:0;color:var(--muted);font-size:.75rem}
.form-head span,.field label span,.field label b{color:var(--error)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1rem}
.field{min-width:0}
.field.full,.field-help.full{grid-column:1/-1}
.field label{display:block;margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.08em;font-size:.63rem;font-weight:750}
.field label small{color:var(--muted);font-weight:400}
.field input:not([type=checkbox]),.field select,.field textarea{width:100%;min-height:50px;padding:.75rem .8rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--blue);box-shadow:0 2px 0 var(--blue)}
.field input[aria-invalid=true],.field select[aria-invalid=true]{border-bottom-color:var(--error)}
.field-help{margin:-.8rem 0 0;color:var(--muted);font-size:.7rem}
.error{display:block;min-height:17px;margin-top:.3rem;color:var(--error);font-size:.68rem}
.file-field{padding:1rem;border:1px dashed var(--line)}
.file-field input{border:0!important}
.file-field p{margin:.5rem 0 0;color:var(--muted);font-size:.7rem}
.consent-field label{display:flex;gap:.7rem;align-items:start;text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:400}
.consent-field input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--blue)}
.form-actions{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.form-actions p{margin:0;color:var(--muted);font-size:.72rem}
.quote-summary{position:sticky;top:calc(var(--header) + 1rem);min-height:440px;padding:clamp(2rem,4vw,3.5rem);background:var(--navy);color:var(--white)}
.summary-empty{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}
.summary-empty>span{margin-bottom:auto;color:var(--yellow);font-size:.7rem}
.summary-empty h3,.summary-ready h3{font-family:var(--serif);font-size:2.5rem;font-weight:380}
.summary-empty p,.summary-ready p{color:#b9c7d9}
.summary-ready pre{max-height:420px;overflow:auto;padding:1rem;border:1px solid var(--light-line);color:#e8eef6;background:rgba(255,255,255,.04);white-space:pre-wrap;word-break:break-word;font-family:var(--sans);font-size:.75rem}
.summary-actions{display:grid;gap:.5rem}
.summary-note{font-size:.68rem}
.contact-directory{display:grid;grid-template-columns:.75fr 1fr 1fr;margin-top:6rem;border-top:1px solid var(--line)}
.directory-title{padding:2rem 2rem 2rem 0}
.directory-title h3{font-family:var(--serif);font-size:2.4rem;font-weight:400}
.contact-directory>a{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.4rem;min-width:0;padding:2rem;border-left:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}
.contact-directory>a span{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-size:.62rem}
.contact-directory>a strong{overflow-wrap:anywhere}
.contact-directory>a i{position:absolute;right:1.5rem;top:1.5rem;font-style:normal}
.location{display:grid;grid-template-columns:.62fr 1.38fr;gap:5rem;align-items:center;padding-top:6rem}
.location h3{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:380}
.location>div:first-child>p:last-child{color:var(--muted)}

.footer{overflow:hidden;padding:0;background:var(--navy);color:var(--white)}
.footer-top{display:grid;grid-template-columns:1.35fr repeat(3,minmax(130px,.7fr));gap:clamp(2rem,5vw,5rem);padding:4rem 0 3.5rem}
.footer-brand-panel{display:flex;flex-direction:column;align-items:flex-start}
.footer-logo{display:block;width:min(285px,100%)}
.footer-logo img{width:100%;height:auto}
.footer-brand-panel>p{max-width:340px;margin:1.35rem 0;color:var(--cyan);font-size:.88rem}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding-top:.75rem}
.footer-column .footer-heading{margin:0 0 .45rem;font-family:var(--serif);font-size:1.28rem;font-weight:400;letter-spacing:.05em;line-height:.98}
.footer-column a{position:relative;color:rgba(234,242,248,.76);font-size:.79rem;text-decoration:none;transition:color .18s,transform .18s}
.footer-column a:hover{color:var(--white);transform:translateX(3px)}
.footer-wordmark{height:clamp(105px,12vw,165px);overflow:visible;color:rgba(201,220,232,.035);font-family:var(--serif);font-size:clamp(8.5rem,16.6vw,13.5rem);font-weight:400;line-height:.78;letter-spacing:.055em;white-space:nowrap;-webkit-text-stroke:1px rgba(201,220,232,.43);user-select:none}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0 1.5rem;border-top:1px solid var(--light-line)}
.footer-bottom p{margin:0;color:var(--electric);font-size:.68rem}
.footer-bottom>div{display:flex;align-items:center;gap:1.4rem}
.footer-bottom a{color:var(--electric);font-size:.68rem;text-decoration:none;transition:color .18s}
.footer-bottom a:hover{color:var(--white)}
.icon{width:1em;height:1em;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.footer-back-link{display:inline-flex;align-items:center;gap:.38rem}
.toast{position:fixed;z-index:300;left:50%;bottom:1.5rem;max-width:calc(100% - 2rem);padding:.75rem 1.2rem;background:var(--ink);color:var(--white);transform:translate(-50%,1rem);opacity:0;pointer-events:none;transition:.2s}
.toast.visible{transform:translate(-50%,0);opacity:1}
.reveal{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.reveal-pending:not(.visible){opacity:0;transform:translateY(26px)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1100px){:root{--header:76px}
.desktop-nav,.button-nav{display:none}
.menu-toggle{display:block;margin-left:auto}
.site-header.menu-active{color:var(--white);background:var(--navy)}
.site-header.menu-active::before{opacity:0}
.featured-services{grid-template-columns:1fr 1fr}
.service-card:last-child{grid-column:1/-1}
.quote-shell{grid-template-columns:1fr}
.quote-summary{position:static}
.contact-directory{grid-template-columns:1fr 1fr}
.directory-title{grid-column:1/-1}
.footer-main{grid-template-columns:1fr 1fr}
.footer .button{justify-self:start}
}

@media(max-width:760px){.wrap{width:min(var(--wrap),calc(100% - 2.5rem))}
.section{padding:5.5rem 0}
.hero{min-height:800px}
.hero-content{padding-top:4.5rem}
.hero h1{font-size:clamp(3.8rem,17vw,6rem)}
.hero-brand{font-size:1.25rem}
.hero-actions{display:grid;width:100%;max-width:330px;gap:1rem}
.hero-actions .button{width:100%}
.hero-actions .text-link{justify-self:center}
.hero-foot{bottom:1rem}
.concept-note{max-width:170px;text-align:right}
.intro-grid,.split-head,.service-index,.business-module,.catalog-entry-grid,.about-grid,.quote-intro,.location{grid-template-columns:1fr}
.intro-grid{gap:2.5rem}
.print-registration{top:2rem;right:1rem}
.print-registration i{width:28px;height:28px}
.featured-services{grid-template-columns:1fr}
.service-card:last-child{grid-column:auto}
.service-card{min-height:410px}
.service-index{gap:2rem;padding:4rem 0}
.service-list{grid-template-columns:1fr}
.business-copy,.business-interactive{padding:2rem 1.25rem}
.about-media{order:2}
.statement-inner{display:grid}
.statement .button{justify-self:start}
.testimonials{grid-template-columns:1fr}
.testimonial-stage{padding:2.2rem 1.5rem}
.testimonial-card{min-height:320px}
.testimonial-list{grid-template-columns:repeat(3,minmax(215px,1fr));overflow-x:auto}
.quote-intro{gap:1rem}
.form-head{display:block}
.form-head p{margin-top:1rem}
.form-grid{grid-template-columns:1fr}
.field.full,.field-help.full{grid-column:auto}
.contact-directory{grid-template-columns:1fr}
.directory-title{grid-column:auto}
.contact-directory>a{border-left:0;border-top:1px solid var(--line)}
.location{gap:2rem}
.footer-main{grid-template-columns:1fr}
.footer .button{justify-self:start}
.footer-bottom{display:grid}
}

@media(max-width:480px){.brand{min-width:0}
.brand-logo{width:178px}
.hero{min-height:760px}
.hero-kicker{font-size:1.05rem}
.hero-text{font-size:.86rem}
.hero-scroll i{width:30px}
.form-actions{display:grid}
.form-actions .button{width:100%}
.quote-shell form,.quote-summary{padding:1.5rem}
.summary-actions .button{width:100%}
.mobile-menu-foot{display:grid}
.mobile-menu-foot p{text-align:left}
.footer-bottom{padding-bottom:1rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.marquee-track{animation:none}
.reveal,.reveal.reveal-pending:not(.visible){opacity:1;transform:none}
*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Ajuste de escala, ritmo y paleta — agosto 2026 */
.section-head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.tag{margin-bottom:.9rem}
.hero h1{font-size:clamp(3.5rem,7.6vw,7rem);line-height:.84}
.hero-brand{width:clamp(210px,25vw,360px);margin-bottom:clamp(1rem,2vw,1.8rem)}
.hero-kicker{margin:clamp(1rem,2vw,1.6rem) 0 .55rem}
.hero-actions{margin-top:1.5rem}
.intro-grid{gap:clamp(2.5rem,6vw,6rem)}
.print-registration i{width:28px;height:28px}
.marquee-track{padding:.8rem 0}
.marquee span{font-size:clamp(1.3rem,2.3vw,2rem)}
.featured-services{max-width:1120px;margin-inline:auto}
.service-card{min-height:350px;padding:1.5rem}
.service-art{height:112px;margin:1.25rem 0}
.service-card h3{font-size:1.7rem}
.service-card p{margin-bottom:1.25rem;font-size:.84rem}
.service-index{grid-template-columns:.42fr .58fr;gap:clamp(2rem,5vw,4rem);padding:3rem 0 2.5rem}
.service-index h3{font-size:clamp(1.9rem,3vw,2.8rem)}
.service-list{gap:0 1.5rem}
.service-item{display:grid;grid-template-columns:minmax(0,1fr) 2.25rem;align-items:start;gap:.75rem;min-width:0;padding:.8rem 0}
.service-item strong{min-width:0;line-height:1.25;overflow-wrap:anywhere}
.service-item em{position:static;justify-self:end;white-space:nowrap;text-align:right}
.business-module{grid-template-columns:.4fr .6fr;max-width:1120px;margin-inline:auto}
.business-copy,.business-interactive{padding:clamp(1.5rem,3vw,2.5rem)}
.business-copy h3{font-size:clamp(2rem,3.4vw,3rem)}
.business-copy p:last-child{margin-bottom:0}
.solution-tabs{flex-wrap:wrap;overflow:visible}
.solution-tab{min-height:40px;padding:.55rem .75rem;font-size:.75rem}
.solution-panel{padding-top:1.25rem}
.solution-panel h4{font-size:1.65rem}
.solution-panel>p{max-width:680px;margin-bottom:0;font-size:.88rem}
.solution-products{gap:.45rem;margin-top:1rem}
.solution-products span{padding:.5rem .7rem;font-size:.72rem}
.catalog-entry{background:var(--paper)}
.catalog-entry::before{border-color:rgba(10,30,54,.1)}
.catalog-entry-copy h2{font-size:clamp(2.8rem,5.5vw,5rem)}
.catalog-entry-copy>p:not(.tag){margin:1.25rem 0 1.6rem;font-size:.98rem}
.about-grid{gap:clamp(2.5rem,6vw,6rem)}
.about-media img{max-height:570px}
.about-copy h2{font-size:clamp(2.7rem,4.8vw,4.5rem)}
.about-copy .lead{margin-top:1.5rem;font-size:1.1rem}
.values-list{margin-top:1.5rem}
.values-list li{padding:.7rem 0}
.statement{padding:clamp(2.5rem,4vw,3.75rem) 0;background:var(--magenta)}
.statement p{font-size:clamp(2.3rem,4.5vw,4rem)}
.statement p em{color:var(--white)}

.contact{background:#09111b;color:var(--white)}
.contact-head{max-width:820px;margin-inline:auto;margin-bottom:2.5rem;text-align:center}
.contact-head h2{font-size:clamp(2.8rem,5.3vw,4.8rem)}
.contact-head h2 em{color:#c9d1c4}
.contact-head>p:last-child{max-width:650px;margin:1rem auto 0;color:#aab5c2;font-size:.95rem}
.contact .tag{color:#b8c3b2}
.testimonials{max-width:1040px;min-height:340px;margin:3rem auto 0;background:#101c2a;border:1px solid var(--light-line)}
.testimonial-stage{padding:2rem 2.25rem}
.testimonial-stage h3{font-size:clamp(2.2rem,3.7vw,3.4rem)}
.testimonial-card{min-height:150px;padding:1.25rem 0 .75rem}
.testimonial-quote{margin:.8rem 0 1rem;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.4}
.testimonial-list{padding:1rem;background:#142334}
.testimonial-select{min-height:70px}
.stars{color:#c7a26a}
.quote-intro{display:none}
.quote-shell{display:block;max-width:860px;margin:3rem auto 0}
.quote-shell form{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--light-line);border-radius:16px;background:#111c28;box-shadow:0 22px 60px rgba(0,0,0,.18)}
.form-head{margin-bottom:1.6rem}
.form-head h3{font-size:2.15rem}
.contact .form-grid{gap:.8rem}
.form-head p,.field-help,.file-field p,.form-actions p{color:#9eabba}
.field label{color:#dfe6ed}
.field label small{color:#8996a6}
.field input:not([type=checkbox]),.field select,.field textarea{min-height:46px;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(255,255,255,.045);color:var(--white)}
.field input::placeholder,.field textarea::placeholder{color:#788595}
.field select option{color:var(--ink);background:var(--white)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#b8c3b2;box-shadow:0 0 0 2px rgba(184,195,178,.16)}
.file-field{padding:.8rem;border-color:rgba(255,255,255,.16);border-radius:8px}
.consent-field label{color:#c5ced8}
.optional-fields{grid-column:1/-1;margin:.2rem 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
.optional-fields summary{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;color:#dfe6ed;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700;list-style:none}
.optional-fields summary::-webkit-details-marker{display:none}
.optional-fields summary::after{content:"+";font-size:1rem;line-height:1}
.optional-fields[open] summary::after{content:"−"}
.optional-fields summary span{margin-left:auto;color:#7f8c9b;text-transform:none;letter-spacing:0;font-weight:400}
.optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:0 0 1rem}
.optional-grid .full{grid-column:1/-1}
.form-actions{margin-top:1.4rem}
.quote-summary{display:none;position:static;min-height:0;margin-top:1rem;padding:1.5rem;border:1px solid var(--light-line);border-radius:12px;background:#15263a}
.quote-summary.has-summary{display:block}
.summary-ready h3{font-size:2rem}
.contact-directory{max-width:1040px;grid-template-columns:.75fr 1fr 1fr;margin:3rem auto 0;border-color:var(--light-line)}
.directory-title{padding:1.5rem 1.5rem 1.5rem 0}
.directory-title h3{font-size:2rem}
.contact-directory>a{padding:1.5rem;border-color:var(--light-line)}
.contact-directory>a span{color:#b8c3b2}
.location{max-width:1040px;grid-template-columns:.75fr 1.25fr;gap:2.5rem;margin-inline:auto;padding-top:3rem}
.location h3{font-size:clamp(2.1rem,3.5vw,3.2rem)}
.location>div:first-child>p:last-child{color:#9eabba}

@media(max-width:760px){
  :root{--section:3.75rem}
  .hero{min-height:720px}
  .hero h1{font-size:clamp(3.2rem,15vw,5rem)}
  .service-index,.business-module,.catalog-entry-grid{grid-template-columns:1fr}
  .service-index{padding:2.5rem 0 2rem}
  .service-list{grid-template-columns:1fr}
  .business-copy,.business-interactive{padding:1.4rem}
  .catalog-entry-mark{min-height:190px}
  .testimonials{grid-template-columns:1fr;min-height:0}
  .testimonial-card{min-height:170px}
  .testimonial-list{grid-template-columns:repeat(3,minmax(180px,1fr))}
  .form-grid{grid-template-columns:1fr}
  .optional-grid{grid-template-columns:1fr}
  .optional-grid .full{grid-column:auto}
  .optional-fields summary span{display:none}
  .contact-directory,.location{grid-template-columns:1fr}
  .directory-title{padding-right:0}
  .location{gap:1.5rem;padding-top:2.5rem}
}

@media(max-width:480px){
  .section{padding:3.75rem 0}
  .service-card{min-height:320px}
  .catalog-entry-copy h2{font-size:2.75rem}
  .catalog-entry-mark span{font-size:7rem}
  .contact-head h2{font-size:3rem}
  .quote-shell form{padding:1.25rem}
}

/* Dirección visual azul: blanco predominante, escala compacta y transiciones propias */
html{overflow-x:clip}
body{background:var(--white);color:var(--ink);overflow-x:clip}
.section{padding:clamp(3.25rem,5vw,4.75rem) 0}
.tag{margin-bottom:1rem;color:var(--blue)}
.tag-light{color:var(--blue)}
h2{font-size:clamp(2.65rem,4.6vw,4.35rem)}

/* Navegación de línea fina con indicador móvil */
.site-header{border-bottom:1px solid rgba(255,255,255,.22)}
.site-header::before{background:linear-gradient(180deg,rgba(29,45,68,.62),transparent)}
.site-header.scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--line);box-shadow:none}
.header-inner{gap:clamp(1.25rem,2.3vw,2rem)}
.brand,.brand-logo{width:190px;min-width:190px}
.desktop-nav{position:relative;align-self:stretch;align-items:center;gap:clamp(1rem,2vw,2.15rem)}
.desktop-nav a{z-index:1;padding:.55rem 0;font-size:.65rem}
.desktop-nav a::after{display:none}
.nav-indicator{position:absolute;left:0;bottom:13px;height:1px;background:currentColor;opacity:0;transition:width .32s var(--ease),transform .32s var(--ease),opacity .2s}
.button-nav{min-height:43px;padding:.65rem 1rem;border-radius:var(--button-radius);background:rgba(29,45,68,.28)}
.site-header.scrolled .button-nav{background:var(--navy)}
.mobile-menu{left:auto;width:min(88vw,430px);opacity:1;transform:translateX(100%);box-shadow:-24px 0 70px rgba(29,45,68,.2);transition:visibility .34s,transform .34s var(--ease)}
.mobile-menu.open{transform:translateX(0)}

/* Superficies claras */
.intro,.section-dark,.catalog-entry,.about,.contact{background:var(--white);color:var(--ink)}
.intro-heading h2 em,.split-head h2 em,.catalog-entry-copy h2 em,.about-heading h2 em,.contact-head h2 em{color:var(--blue)}
.intro-copy p,.split-head>p,.service-card p,.about-copy>p,.contact-head>p:last-child{color:var(--muted)}
.marquee{background:var(--paper)}
.marquee i{color:var(--electric)}
.print-registration i:nth-child(1){background:var(--cyan)}
.print-registration i:nth-child(2){background:var(--electric)}
.print-registration i:nth-child(3){background:var(--blue)}
.print-registration i:nth-child(4){background:var(--navy)}

/* Marcadores para las imágenes todavía no suministradas */
.media-placeholder{position:relative;display:grid;place-content:center;gap:.35rem;min-width:0;border:1px dashed var(--electric);background-color:var(--paper);background-image:linear-gradient(rgba(138,169,196,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(138,169,196,.13) 1px,transparent 1px);background-size:22px 22px;color:var(--navy);text-align:center}
.media-placeholder::before,.media-placeholder::after{content:"";position:absolute;width:22px;height:22px;border-color:var(--blue)}
.media-placeholder::before{left:12px;top:12px;border-left:1px solid;border-top:1px solid}
.media-placeholder::after{right:12px;bottom:12px;border-right:1px solid;border-bottom:1px solid}
.media-placeholder span{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:.04em}
.media-placeholder small{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.56rem}

/* Servicios compactos */
.split-head{margin-bottom:2.5rem}
.featured-services{border-color:var(--line)}
.service-card{min-height:390px;padding:1.5rem;border-color:var(--line);color:var(--ink);background:var(--white)}
.service-card:hover{background:var(--paper)}
.service-card-num{color:var(--blue)}
.service-art{height:130px;margin:1.25rem 0}
.service-art::before,.service-art::after{content:none}
.service-card h3{font-size:1.85rem}
.service-card p{margin-bottom:1.25rem}
.service-card button{color:var(--navy);border-bottom-color:var(--navy)}
.service-index{grid-template-columns:.42fr 1.58fr;gap:clamp(2rem,5vw,4rem);padding:3.25rem 0}
.service-index h3{font-size:clamp(2rem,3.4vw,3rem)}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:0 clamp(1.5rem,4vw,3.5rem)}
.service-item{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.75rem 0;border-color:var(--line);color:var(--ink)}
.service-item strong{grid-column:2;overflow-wrap:anywhere;font-size:.82rem}
.service-item em{grid-column:1;grid-row:1;color:var(--blue);font-variant-numeric:tabular-nums}
.business-module{grid-template-columns:.4fr .6fr;background:var(--paper);border:1px solid var(--line)}
.business-copy{padding:clamp(1.5rem,3vw,2.35rem);background:var(--paper)}
.business-interactive{padding:clamp(1.5rem,3vw,2.35rem);background:var(--white)}
.solution-tabs{overflow:visible;flex-wrap:wrap}
.solution-panel{padding-top:1.15rem}
.solution-products{margin-top:1.15rem}

/* CTA del catálogo: composición centrada, retícula y marcas técnicas */
.catalog-entry{overflow:hidden}
.catalog-entry::before{content:none}
.catalog-blueprint{position:relative;min-height:480px;display:grid;place-items:center;padding:clamp(2.5rem,7vw,5rem);overflow:hidden;border:1px solid var(--line);background-color:var(--paper);background-image:linear-gradient(rgba(62,92,118,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(62,92,118,.11) 1px,transparent 1px);background-size:32px 32px;text-align:center}
.catalog-blueprint::before{content:"// CATÁLOGO  /  20 SOLUCIONES";position:absolute;left:1.25rem;top:1rem;padding:.2rem .4rem;background:var(--paper);color:var(--blue);font-size:.57rem;letter-spacing:.13em}
.blueprint-corner{position:absolute;width:34px;height:34px;border-color:var(--blue)}
.corner-a{left:1.25rem;bottom:1.25rem;border-left:1px solid;border-bottom:1px solid}
.corner-b{right:1.25rem;top:1.25rem;border-right:1px solid;border-top:1px solid}
.catalog-entry-copy{position:relative;z-index:1;max-width:850px}
.catalog-entry-copy h2{font-size:clamp(3.5rem,7vw,6.6rem);line-height:.88}
.catalog-entry-copy h2 em{display:block}
.catalog-entry-copy>p:not(.tag){max-width:610px;margin:1.25rem auto;color:var(--muted);font-size:1rem}
.catalog-entry-actions{display:flex;justify-content:center;align-items:center;gap:1.75rem;margin-top:1.5rem}
.catalog-entry-copy .button span{margin-left:1.5rem}
.catalog-terminal{position:absolute;left:50%;bottom:1rem;display:flex;align-items:center;gap:.65rem;transform:translateX(-50%);padding:.38rem .75rem;background:var(--navy);color:var(--white);font-size:.62rem;letter-spacing:.08em}
.catalog-terminal p{margin:0}

/* Nosotros: gran titular y dos módulos editoriales */
.about{padding:2.5rem 0}
.about-heading{display:grid;grid-template-columns:.25fr .75fr;gap:2rem;align-items:start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.about-heading h2{max-width:980px;margin:0;font-size:clamp(3.35rem,5vw,4.35rem);line-height:.88}
.about-heading h2 em{display:inline}
.about-grid{grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}
.about-media{min-height:350px;margin:0;border-radius:14px;overflow:hidden}
.about-copy{padding:clamp(1.35rem,2.5vw,2rem);border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.about-kicker{margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-size:.63rem}
.about-copy .lead{margin-top:0;margin-bottom:.8rem;font-size:1.02rem}
.about-copy>p:not(.lead):not(.about-kicker){margin-bottom:.8rem;font-size:.9rem}
.values-list{margin-top:.75rem}
.values-list li{grid-template-columns:52px 1fr;padding:.48rem 0}

/* Contacto claro y reseñas de altura invariable */
.contact{background:var(--white);color:var(--ink)}
.contact-head>p:last-child{color:var(--muted)}
.contact .tag{color:var(--blue)}
.quote-shell form{border-color:var(--line);background:var(--paper);box-shadow:none}
.form-head p,.field-help,.file-field p,.form-actions p{color:var(--muted)}
.field label,.optional-fields summary{color:var(--ink)}
.field label small,.optional-fields summary span{color:var(--muted)}
.field input:not([type=checkbox]),.field select,.field textarea{border-color:var(--line);background:var(--white);color:var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:#8193a3}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(138,169,196,.22)}
.file-field,.optional-fields{border-color:var(--line)}
.consent-field label{color:var(--ink)}
.quote-summary{border-color:var(--line);background:var(--navy)}
.testimonials{height:auto;min-height:355px;overflow:hidden;background:var(--paper);color:var(--ink);border-color:var(--line)}
.testimonial-stage{min-width:0;padding:1.8rem 2rem}
.testimonial-stage h3{font-size:clamp(2.15rem,3.6vw,3.3rem)}
.testimonial-card{height:210px;min-height:210px;overflow:hidden;padding:.8rem 0 .55rem}
.testimonial-quote{margin:.55rem 0 .7rem;font-family:var(--sans);font-size:clamp(.92rem,1.15vw,1.05rem);line-height:1.42}
.testimonial-controls button{border-color:var(--line);color:var(--navy)}
.testimonial-list{overflow:hidden;padding:1rem;background:var(--white);border-left:1px solid var(--line)}
.testimonial-select{min-height:69px;color:var(--muted)}
.testimonial-select[aria-current=true]{background:var(--navy);color:var(--white)}
.stars{color:var(--blue)}
.avatar{border-color:currentColor}
.contact-directory{max-width:1040px;display:block;margin:3rem auto 0;padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.directory-title{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:1rem 1rem 1.35rem;border-bottom:1px solid var(--line)}
.directory-title>div{min-width:0}
.directory-title .tag{margin-bottom:.8rem}
.directory-title h3{max-width:470px;margin:0;font-family:var(--serif);font-size:clamp(2.45rem,4vw,3.65rem);font-weight:400;line-height:.92}
.directory-title>p{max-width:390px;margin:0;color:var(--muted);font-size:.83rem}
.channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1rem}
.channel-card{position:relative;min-width:0;min-height:170px;display:flex;align-items:flex-end;overflow:hidden;padding:1.35rem;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--white);color:var(--navy);text-decoration:none;transition:background .22s,color .22s,border-color .22s,transform .22s,box-shadow .22s}
.channel-card::after{content:"";position:absolute;right:-55px;bottom:-75px;width:165px;height:165px;border:1px solid var(--line);border-radius:50%;transition:transform .35s var(--ease),border-color .22s}
.channel-number{position:absolute;left:1.35rem;top:1.1rem;color:var(--blue);font-family:var(--serif);font-size:1.05rem;letter-spacing:.1em}
.channel-card>.channel-icon{position:absolute;right:1.35rem;top:1.1rem;width:1.05rem;height:1.05rem;transition:transform .22s}
.channel-card>div{position:relative;z-index:1;display:grid;gap:.25rem}
.channel-card small{text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-size:.6rem;transition:color .22s}
.channel-card strong{overflow-wrap:anywhere;font-size:clamp(.95rem,1.5vw,1.15rem)}
.channel-card p{margin:.2rem 0 0;color:var(--muted);font-size:.75rem;transition:color .22s}
.channel-card:hover{border-color:var(--navy);background:var(--navy);color:var(--white);transform:translateY(-3px);box-shadow:0 16px 32px rgba(29,45,68,.12)}
.channel-card:hover::after{border-color:rgba(201,220,232,.26);transform:scale(1.08)}
.channel-card:hover small,.channel-card:hover p{color:var(--cyan)}
.channel-card:hover>.channel-icon{transform:translate(3px,-3px)}
.location>div:first-child>p:last-child{color:var(--muted)}
.location-details{display:grid;gap:1rem;margin-top:1.2rem}
.location-address,.location-hours{margin:0;color:var(--muted)}
.location-hours strong{display:block;margin-bottom:.35rem;color:var(--ink);font-family:var(--sans);font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:700;line-height:1.2}
.map-embed{min-height:300px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.map-embed iframe{width:100%;height:100%;min-height:300px;display:block;border:0}
.statement{background:var(--blue)}
.footer-main>p{color:var(--cyan)}
.footer-bottom p,.footer-bottom a{color:var(--electric)}

/* Botones de esquinas suaves, inspirados en la forma de la referencia */
.menu-toggle,.filter-button,.solution-tab,.testimonial-select,.testimonial-controls button{border-radius:var(--button-radius)}
.service-card .quote-product,.catalog-body .quote-product{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--paper);color:var(--navy);text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.service-card .quote-product:hover,.catalog-body .quote-product:hover{border-color:var(--blue);background:var(--navy);color:var(--white);transform:translateY(-2px)}
.solution-tabs{gap:.5rem;border-bottom:0}
.solution-tab{border:1px solid var(--line);background:var(--white)}
.solution-tab[aria-selected=true]{border-color:var(--navy);background:var(--navy);color:var(--white)}
.testimonial-controls button{width:52px;height:46px}
.testimonial-select{border-color:transparent}

/* Centrado y ritmo tipográfico consistente en todos los controles */
.button{
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
}
.solution-tab,.filter-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.2;
  text-align:center;
}
.service-card .quote-product,.catalog-body .quote-product{
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
}
.catalog-entry-copy .button span{margin-left:0}
.testimonial-controls button{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
  text-align:center;
}
.testimonial-select{
  height:76px;
  min-height:76px;
  padding:.65rem .75rem;
  line-height:1.2;
}
.testimonial-select strong,.testimonial-select small{line-height:1.2}
.testimonial-controls .icon{width:18px;height:18px}
.testimonial-select-icon{justify-self:end;width:16px;height:16px}
.testimonial-card{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  row-gap:.5rem;
}
.testimonial-card .testimonial-quote{margin:0}
.testimonial-person{
  min-height:44px;
  align-self:end;
}
.testimonial-person strong{line-height:1.2}
.avatar{flex:0 0 44px}

/* Progressive enhancement: same layout, static readable content and stable controls. */
[hidden]{display:none!important}
.testimonial-slide{display:contents}
.solution-content{display:contents}
.solution-panel>.solution-content>p{max-width:680px;margin-bottom:0;font-size:.88rem;color:var(--muted)}
.service-card a.quote-product{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:1.15;text-align:center}
.privacy-link{display:inline-block;width:max-content;max-width:100%;margin-top:.4rem;font-size:.75rem;color:var(--blue);text-underline-offset:3px}
:root{--muted:#5B6F82}
.quote-summary .tag{color:var(--cyan)}
.field-help,.file-field p{font-size:.75rem}
:focus-visible{outline-color:var(--blue)}
.footer :focus-visible,.section-dark :focus-visible,.hero :focus-visible{outline-color:var(--electric)}
.text-link,.hero-scroll{position:relative}
.text-link::before,.hero-scroll::before{content:"";position:absolute;inset:-8px -3px}
@media(max-width:760px),(pointer:coarse){
  .solution-tab{min-height:44px}
  .field input,.field select,.field textarea{font-size:1rem}
  .footer-column a{min-height:24px}
  .footer-bottom a{position:relative}
  .footer-bottom a::before{content:"";position:absolute;inset:-10px -2px}
}
@media(prefers-reduced-motion:reduce){
  .reveal.reveal-pending:not(.visible){opacity:1;transform:none}
}

@media(max-width:1100px){
  .brand,.brand-logo{width:180px;min-width:180px}
  .nav-indicator{display:none}
  .mobile-menu{width:100%}
  .footer-top{grid-template-columns:1.25fr repeat(3,1fr);gap:2rem}
}

@media(max-width:760px){
  .section{padding:3.5rem 0}
  .service-list{grid-template-rows:none;grid-auto-flow:row;grid-template-columns:1fr;gap:0}
  .business-module,.about-grid,.about-heading{grid-template-columns:1fr}
  .about-heading{gap:.4rem}
  .about-media{min-height:300px}
  .catalog-blueprint{min-height:460px;padding:3rem 1.25rem}
  .catalog-entry-actions{flex-direction:column;gap:1rem}
  .catalog-terminal{width:max-content;max-width:calc(100% - 2rem)}
  .testimonials{height:auto;min-height:0}
  .testimonial-card{height:235px;min-height:235px}
  .testimonial-list{grid-template-columns:1fr;overflow:visible;border-left:0;border-top:1px solid var(--line)}
  .contact-directory{padding:1rem}
  .directory-title{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.75rem .5rem 1.1rem}
  .directory-title>p{max-width:520px}
  .channel-grid{grid-template-columns:1fr}
  .channel-card{min-height:150px}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem 3rem;padding:3rem 0}
  .footer-brand-panel{grid-column:1/-1}
  .footer-brand-panel>p{margin:1rem 0}
  .footer-wordmark{display:none}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .footer-bottom>div{flex-wrap:wrap;gap:.7rem 1.25rem}
}

@media(max-width:480px){
  .brand,.brand-logo{width:165px;min-width:165px}
  .catalog-blueprint{min-height:430px}
  .catalog-entry-copy h2{font-size:3.2rem}
  .about-heading h2{font-size:3.4rem}
  .testimonials{margin-top:2rem}
  .testimonial-stage{padding:1.5rem}
  .testimonial-card{height:235px;min-height:235px}
  .footer-top{grid-template-columns:1fr}
  .footer-brand-panel{grid-column:auto}
}

/* Keep every review readable at the narrowest supported mobile width. */
@media(min-width:761px) and (max-width:1100px){
  .testimonials{height:auto}
  .testimonial-card{height:230px;min-height:230px}
}
@media(max-width:360px){
  .testimonial-card{height:260px;min-height:260px}
}

/* Photographic service and workshop imagery. */
.service-image{border-radius:10px;background:var(--paper)}
.service-image img{width:100%;height:100%;display:block;object-fit:cover}
.about-media img{width:100%;height:100%;display:block;object-fit:cover}
.whatsapp-float{position:fixed;z-index:30;right:clamp(1rem,2vw,1.5rem);bottom:clamp(1rem,2vw,1.5rem);width:64px;height:64px;display:grid;place-items:center;padding:0;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#25d366;box-shadow:0 12px 26px rgba(22,101,52,.28);text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:translateY(-2px);background:#1ebc59;box-shadow:0 16px 30px rgba(22,101,52,.34)}
.whatsapp-float img{width:33px;height:33px;display:block;filter:brightness(0) invert(1)}


