@import url('fonts.css');
:root{--paper:#f1f1f2;--white:#fff;--ink:#29292c;--muted:#66666b;--accent:#c93a41;--soft:#e5e5e7;--body:Manrope,sans-serif;--display:'Barlow Condensed',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}img{display:block;max-width:100%}::selection{background:var(--accent);color:white}.shell{max-width:1360px;margin-inline:auto;padding-inline:64px}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h2{font:600 clamp(45px,5.3vw,72px)/1.02 var(--display);letter-spacing:-.025em;margin-bottom:30px}.label{text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:800;line-height:1.8;margin-bottom:26px}.direction{flex:none;transition:transform .25s}.action{display:inline-flex;align-items:center;gap:18px;min-height:44px;border:0;border-radius:0;padding:6px 0;background:transparent;font-weight:800;font-size:13px;line-height:1.5;text-align:inherit}.action .direction{color:var(--accent);width:31px;height:31px}.action:hover .direction{transform:translateX(5px)}.action:hover span{color:var(--accent)}.jump:hover .direction{transform:translateY(4px)}.action:active{transform:translateY(1px)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;height:94px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:43px;height:51px;object-fit:contain}.brand strong{display:block;font-size:19px;line-height:1.2;letter-spacing:-.04em}.brand small{font-size:9px;display:block;color:var(--muted)}.main-nav{display:flex;gap:29px;align-items:center}.main-nav>a{font-size:11px;font-weight:700}.main-nav>a:hover{color:var(--accent)}.main-nav .action{margin-left:14px;font-size:11px}.main-nav .direction{width:24px}.menu-toggle{display:none;border:0;background:none;padding:12px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:5px 0}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
/* ALM: institutional name and original emblem form the opening composition. */
.identity-hero{overflow:hidden}.identity-stage{position:relative;min-height:650px;display:grid;grid-template-columns:.92fr 1.28fr .8fr;align-items:center;gap:35px;padding-top:34px;padding-bottom:95px}.identity-name{z-index:2;align-self:center}.identity-name .label{color:var(--accent)}.identity-name h1{font:600 clamp(48px,5vw,73px)/.97 var(--display);letter-spacing:-.025em;margin:0}.period{color:var(--accent)}.identity-art{position:relative;min-width:0;display:grid;place-items:center;height:455px}.hero-initials{position:absolute;left:50%;top:50%;transform:translate(-50%,-51%);font:700 clamp(250px,36vw,470px)/1 var(--display);color:#e1e1e4;letter-spacing:-.035em;pointer-events:none}.hero-emblem{position:relative;width:100%;object-fit:contain}.identity-art .hero-emblem{width:clamp(250px,27vw,354px);filter:drop-shadow(0 25px 20px #28282b0a)}.identity-purpose{position:relative;z-index:2;align-self:end;padding-bottom:40px}.hero-message{font:600 40px/1.04 var(--display);letter-spacing:-.025em;margin-bottom:22px}.hero-message em{font-style:normal;color:var(--accent)}.identity-purpose>p:not(.hero-message){font-size:12px;line-height:1.9;max-width:220px;color:var(--muted);margin-bottom:18px}.identity-purpose .action{font-size:12px;gap:12px}.hero-foot{position:absolute;bottom:27px;left:64px;right:64px;display:flex;justify-content:space-between;align-items:center}.hero-foot>span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.hero-foot .action{font-size:11px}
/* Shared content is composed as chapters, never a grid of bordered cards. */
.story{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding-top:110px;padding-bottom:110px}.story-heading .label{color:var(--accent)}.story-copy{padding-top:40px;max-width:490px}.story-copy .lead{font-size:24px;line-height:1.5;letter-spacing:-.04em;color:var(--ink);font-weight:600}.story-copy p{font-size:13px;color:var(--muted);margin-bottom:22px}.story-copy .action{margin-top:6px}.territory{background:var(--ink);color:var(--paper);padding-block:90px;overflow:hidden}.territory-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:35px 100px}.territory .label{color:#e5a4a8}.territory h2{margin:0;font-size:59px}.places{margin:0;padding:4px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;align-content:center;align-items:baseline}.places li{font:500 clamp(25px,2.9vw,42px)/1.3 var(--body);letter-spacing:-.05em}.places li:nth-child(3n+2){color:#e3a6a9}.territory-note{grid-column:2;font-size:11px;max-width:350px;color:#bcbcc1;margin:0}.questions{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.questions-heading .label{color:var(--accent)}.questions-heading p:last-child{font-size:13px;color:var(--muted)}.question-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:15px 27px;margin-bottom:44px}.question-tabs button{border:0;background:none;padding:9px 0;min-height:44px;font-size:11px;font-weight:700;color:var(--muted);position:relative}.question-tabs button[aria-selected=true]{color:var(--accent)}.question-tabs button[aria-selected=true]:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);left:50%;bottom:0;transform:translateX(-50%)}.answer{position:relative;padding-top:12px;animation:answer-in .25s ease;min-height:285px}.answer[hidden]{display:none}.answer-word{display:block;font:600 26px/1.3 var(--display);letter-spacing:-.01em;color:var(--accent);margin-bottom:15px}.answer h3{font-size:30px;letter-spacing:-.045em;line-height:1.2;margin-bottom:22px;font-weight:600}.answer p{font-size:13px;max-width:450px;color:var(--muted);line-height:1.9;margin-bottom:20px}.answer .action{font-size:12px}.dispatch{background:#e7e7e9;padding-block:80px}.dispatch-layout{display:grid;grid-template-columns:.5fr 1fr 1fr;gap:50px;align-items:center}.dispatch .label{color:var(--accent);align-self:start;margin-top:7px}.dispatch h2{font-size:52px;margin:0}.dispatch p:not(.label){font-size:13px;max-width:350px;margin-bottom:16px;color:var(--muted)}.dispatch .quiet{font-size:10px!important}.dispatch .action{font-size:11px}.contact-section{padding-block:105px;background:var(--paper)}.contact-layout{display:flex;justify-content:space-between;align-items:center;gap:60px}.contact-layout h2{font-size:clamp(80px,10vw,145px);margin:0;line-height:.85}.contact-layout h2 span{color:var(--accent)}.contact-layout .label{margin-bottom:23px}.contact-layout>div:last-child{padding-top:24px}.contact-layout p:not(.label){font-size:13px;color:var(--muted);line-height:1.9}.email-action{border:0;background:none;padding:12px 0;display:flex;align-items:center;gap:20px;font-size:19px;letter-spacing:-.035em;font-weight:600}.email-action .direction{color:var(--accent)}.email-action:hover .direction{transform:translateX(5px)}.footer{padding-top:30px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:9px;color:var(--muted)}.footer-brand{display:flex;align-items:center;gap:15px;max-width:290px}.footer-brand img{width:36px;height:46px;object-fit:contain}.footer .action{font-size:10px;color:var(--ink)}.footer .direction{width:20px}.demo-note{padding:12px 24px;font-size:9px;text-align:center;color:#777;background:#e8e8ea}.demo-note button{border:0;background:none;font:inherit;font-weight:700;padding:4px 10px;color:var(--ink)}
/* UTPEC: a full-bleed flag-like field; the emblem is not confined to a card. */
.utpec{--accent:#154b3a;--soft:#e5eae7;--display:'Archivo Black',sans-serif}.utpec h2{font-size:clamp(36px,4.2vw,54px);font-weight:400;letter-spacing:-.065em;line-height:1.1}.utpec .brand img{width:33px}.union-hero{background:var(--accent);color:#fff;position:relative;overflow:hidden}.union-hero:before{content:'';position:absolute;inset:0;background:var(--paper);clip-path:polygon(68% 0,100% 0,100% 100%,46% 100%)}.union-stage{position:relative;min-height:655px;padding-top:56px;padding-bottom:58px;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto 1fr auto;gap:20px 45px}.union-label{grid-column:1;margin-bottom:15px;color:#b4d0bf;font-size:9px}.union-stage h1{grid-column:1;font:400 clamp(45px,5.7vw,79px)/1.07 var(--display);letter-spacing:-.065em;margin:0;position:relative;z-index:2;align-self:center}.union-stage h1 span{color:#b3dbbc}.union-bottom{grid-column:1;display:flex;align-items:end;gap:35px;padding-top:24px}.union-bottom>p{font-size:12px;line-height:1.8;color:#d1e2d7;margin:0}.union-bottom .action{font-size:12px;white-space:nowrap}.union-bottom .direction{color:#b3dbbc}.union-bottom .action:hover span{color:#b3dbbc}.union-art{position:relative;grid-column:2;grid-row:1/4;align-self:center;display:grid;place-items:center;padding-top:30px}.union-art .hero-emblem{width:265px;height:380px}.union-initials{position:absolute;font:400 clamp(75px,10vw,140px)/1 var(--display);letter-spacing:-.08em;color:#dce1dd;bottom:-34px;left:50%;transform:translateX(-50%)}.utpec .story{padding-top:115px}.utpec .territory{background:#dfe9e2;color:var(--accent)}.utpec .territory .label{color:#4e6e59}.utpec .territory h2{font-size:47px}.utpec .places{gap:18px 30px}.utpec .places li{font-size:41px;font-weight:600}.utpec .places li:nth-child(3n+2){color:#477b59}.utpec .territory-note{color:#547060}.utpec .answer-word{font-family:var(--body);font-size:19px;font-weight:600}.utpec .dispatch{background:#dfe9e2}.utpec .dispatch h2{font-size:38px}.utpec .contact-layout h2{font-size:clamp(64px,7.9vw,114px)}.utpec .demo-note{background:#e4e8e4}
.site-modal{border:0;background:var(--paper);max-width:510px;width:calc(100% - 36px);padding:0;color:var(--ink)}.site-modal::backdrop{background:#202326bb;backdrop-filter:blur(7px)}.modal-inner{padding:55px 40px 40px}.modal-close{position:absolute;right:17px;top:12px;font-size:28px;padding:0 8px;border:0;background:none}.modal-inner h2,.utpec .modal-inner h2{font-family:var(--body);font-size:31px;letter-spacing:-.045em;line-height:1.16;font-weight:600}.modal-inner p{font-size:13px;color:var(--muted)}.modal-inner .label{color:var(--accent);font-size:10px}.modal-inner .email-box{font-size:20px;letter-spacing:-.04em;color:var(--ink);margin-top:25px;overflow-wrap:anywhere}.copy-status{min-height:26px;font-size:11px;color:var(--accent);margin-top:10px}.modal-inner .preview-note{font-size:10px;margin-bottom:0}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.brand-intro{display:none}.js .brand-intro{display:grid;place-items:center;position:fixed;inset:0;z-index:80;background:var(--paper);pointer-events:none;animation:intro-away 1.55s ease both}.brand-intro img{width:clamp(145px,22vw,220px);height:clamp(170px,25vw,265px);object-fit:contain;animation:mark-dissolve 1.45s cubic-bezier(.2,.6,.3,1) both}.js main{animation:page-enter .65s .8s both}
@keyframes mark-dissolve{0%{opacity:0;filter:blur(5px);transform:scale(.97)}24%,57%{opacity:1;filter:blur(0);transform:scale(1)}100%{opacity:0;filter:blur(12px);transform:scale(1.035)}}@keyframes intro-away{0%,55%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes answer-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1150px) and (min-width:851px){.shell{padding-inline:36px}.identity-stage{gap:20px;grid-template-columns:.9fr 1.1fr .85fr;min-height:570px}.identity-name h1{font-size:55px}.identity-art .hero-emblem{width:270px}.hero-message{font-size:35px}.hero-foot{left:36px;right:36px}.story,.questions{gap:65px}.territory-content{gap:30px 55px}.main-nav{gap:20px}.union-stage{min-height:610px}.union-bottom{display:block}.union-bottom .action{margin-top:18px}.union-art .hero-emblem{width:230px}.dispatch-layout{gap:28px}.contact-layout h2{font-size:110px}.email-action{font-size:17px}}
/* Mobile keeps one deliberate central axis, not the desktop layout compressed. */
@media(max-width:850px){
 html{scroll-padding-top:103px}body{text-align:center}.shell{padding-inline:26px}.header-inner{height:91px;justify-content:center;position:relative;padding-inline:55px}.brand{flex-direction:column;gap:3px}.brand img{display:none}.brand strong{font-size:22px}.brand small{font-size:9px}.menu-toggle{display:block;position:absolute;right:14px;top:23px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:10px;background:var(--paper);padding:17px 24px 28px;box-shadow:0 18px 25px #2525290c}.main-nav.open{display:flex}.main-nav>a{font-size:14px;padding:8px;min-height:44px}.main-nav .action{margin:0;font-size:13px}.action{justify-content:center;font-size:13px}.action .direction{width:28px}.label{font-size:9px;margin-bottom:20px}h2{font-size:48px}.utpec h2{font-size:36px}.identity-stage{min-height:0;display:flex;flex-direction:column;padding-top:22px;padding-bottom:30px;gap:0}.identity-name{align-self:auto}.identity-name .label{margin-bottom:13px;line-height:1.5}.identity-name .label br{display:none}.identity-name h1{font-size:46px;line-height:1.02}.identity-art{height:272px;width:100%;margin-block:12px 4px}.identity-art .hero-emblem{width:228px}.hero-initials{font-size:310px;letter-spacing:-.04em;color:#e0e0e3}.identity-purpose{align-self:auto;padding:0;max-width:390px}.hero-message{font-size:35px;margin-bottom:14px}.hero-message br{display:none}.hero-message em{margin-left:5px}.identity-purpose>p:not(.hero-message){max-width:310px;margin:0 auto 14px;font-size:12px}.identity-purpose .action{font-size:13px}.hero-foot{position:static;flex-direction:column;gap:12px;margin-top:26px;width:100%}.hero-foot>span{display:none}.hero-foot .action{font-size:10px;color:var(--muted)}
 .story{grid-template-columns:1fr;padding-block:72px;gap:0}.story-heading h2{margin-bottom:25px}.story-copy{padding:0;max-width:510px;margin:auto}.story-copy .lead{font-size:20px;max-width:440px;margin-inline:auto}.story-copy p{font-size:13px;margin-bottom:20px}.story-copy .action{margin-top:0}.territory{padding-block:65px}.territory-content{grid-template-columns:1fr;gap:33px}.territory h2,.utpec .territory h2{font-size:43px}.places{justify-content:center;gap:12px 23px;max-width:540px;margin:auto}.places li{font-size:28px;letter-spacing:-.045em}.territory-note{grid-column:auto;margin-inline:auto;max-width:290px;font-size:11px}.questions{grid-template-columns:1fr;padding-block:75px;gap:22px}.questions-heading h2{margin-bottom:20px}.questions-heading p:last-child{font-size:12px}.consultation{max-width:560px;width:100%;margin:auto}.question-tabs{justify-content:center;gap:8px 22px;margin-bottom:28px}.question-tabs button{font-size:11px;padding:10px 3px}.answer{min-height:270px}.answer-word{font-size:24px;margin-bottom:13px}.answer h3{font-size:28px;max-width:390px;margin:0 auto 19px}.answer p{font-size:13px;max-width:430px;margin-inline:auto}.answer .action{font-size:12px}.dispatch{padding-block:65px}.dispatch-layout{grid-template-columns:1fr;gap:0}.dispatch .label{margin-top:0;margin-bottom:20px}.dispatch h2{font-size:46px;margin-bottom:25px}.dispatch p:not(.label){margin-inline:auto;max-width:400px}.dispatch .action{font-size:12px}.contact-section{padding-block:74px}.contact-layout{flex-direction:column;gap:28px}.contact-layout h2{font-size:88px}.contact-layout>div:last-child{padding:0}.contact-layout p:not(.label){font-size:12px;margin-bottom:12px}.email-action{font-size:clamp(14px,4.4vw,21px);justify-content:center;gap:12px;max-width:100%;text-align:center;overflow-wrap:anywhere}.footer{flex-direction:column;gap:20px;padding-block:24px 30px}.footer-brand{flex-direction:column;gap:13px;max-width:280px;font-size:10px}.footer-brand img{width:46px;height:52px}.footer .action{font-size:10px}.demo-note{font-size:8px}.modal-inner{padding:48px 24px 32px;text-align:center}.modal-inner h2,.utpec .modal-inner h2{font-size:28px}.modal-inner .email-box{font-size:17px}.modal-inner .action{justify-content:center}
 .union-hero:before{clip-path:polygon(0 49%,100% 42%,100% 100%,0 100%)}.union-stage{display:flex;flex-direction:column;padding-top:30px;padding-bottom:49px;gap:0;min-height:0}.union-label{font-size:8px;margin-bottom:22px;line-height:1.8}.union-stage h1{font-size:clamp(39px,9.9vw,67px);line-height:1.08;letter-spacing:-.065em;max-width:540px}.union-stage h1 span{display:block}.union-bottom{padding:23px 0 0;display:flex;align-items:center;flex-direction:column;gap:13px}.union-bottom>p{font-size:11px;max-width:330px}.union-bottom>p br{display:none}.union-bottom .action{font-size:12px;margin:0}.union-art{order:4;margin-top:45px;padding-top:10px;min-height:337px;width:100%;align-self:auto}.union-art .hero-emblem{height:291px;width:210px}.union-initials{font-size:90px;bottom:-25px;letter-spacing:-.07em}.utpec .story{padding-top:72px}.utpec .territory h2{font-size:34px}.utpec .places{gap:18px 30px}.utpec .places li{font-size:30px}.utpec .answer-word{font-size:18px}.utpec .dispatch h2{font-size:35px}.utpec .contact-layout h2{font-size:66px}
}
@media(max-width:360px){.shell{padding-inline:22px}.identity-name h1{font-size:41px}.identity-name .label{font-size:8px}.identity-art{height:247px}.identity-art .hero-emblem{width:204px}.hero-initials{font-size:280px}.hero-message{font-size:31px}.question-tabs{gap:0 16px}.question-tabs button{font-size:10px}.union-stage h1{font-size:37px}.union-art .hero-emblem{height:270px;width:194px}.union-initials{font-size:81px}.contact-layout h2{font-size:78px}.utpec .contact-layout h2{font-size:60px}.email-action{font-size:14px;gap:8px}.email-action .direction{width:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .brand-intro{display:none}}

html:not(.js) .question-tabs{display:none}html:not(.js) .answer[hidden]{display:block}html:not(.js) .answer{margin-bottom:35px}

/* Approved semantic symbols — same stroke and proportions as the preview. */
.action-symbol{width:22px;height:22px;flex:none;color:var(--accent);transition:transform .2s}
.action{gap:11px}.action:hover .action-symbol,.email-action:hover .action-symbol{transform:translateY(-2px)}
.nav-organization{display:inline-flex;align-items:center;gap:8px}.nav-organization .action-symbol{width:18px;height:18px}
.union-bottom .action-symbol{color:#b3dbbc}.email-action{gap:11px}
@media(max-width:850px){.nav-organization{justify-content:center}.hero-foot .action-symbol{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.action-symbol{transition:none!important}}

/* Client-supplied content follows the existing open, centered mobile layout. */
.requirements,.benefits{list-style:none;padding:0;margin:20px 0 25px;max-width:460px}
.requirements li{font-size:13px;line-height:1.7;margin-bottom:12px;color:var(--ink)}
.benefits li{font-size:19px;font-weight:600;line-height:1.55;letter-spacing:-.025em;margin-bottom:23px;color:var(--ink)}
@media(max-width:850px){.requirements,.benefits{margin-inline:auto;text-align:center}.requirements li{font-size:13px}.benefits li{font-size:18px}.email-action span{min-width:0;overflow-wrap:anywhere}}

.email-action{text-decoration:none}.site-modal .action{margin:8px 20px 8px 0}.measurement-note{text-align:center;font-size:12px;color:#68686d;padding:0 24px 28px}.measurement-note a{color:inherit;text-underline-offset:3px}
@media(max-width:850px){.site-modal .action{margin:8px 12px}.email-action{justify-content:center}}

.phone-contact{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px}.phone-contact .action{min-height:44px;margin:0;text-decoration:none;font-size:14px}.phone-contact .whatsapp-link{color:var(--accent)}.phone-contact .action:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.site-modal .phone-contact{margin-block:22px 12px}.site-modal .phone-contact .action{margin:0}@media(max-width:850px){.phone-contact{align-items:center;text-align:center}.phone-contact .action{justify-content:center;flex-wrap:wrap}}
