/* ALTHA / MOBILE FIRST V2 — diseño industrial cálido, búsqueda tipo tienda, contacto táctil. */
:root{--ink:#161B1F;--paper:#F4F1EB;--muted:#AEB4B6;--copper:#F48C54;--accent:#F48C54;--petrol:#252C30;--steel:#323A3E;--concrete:#E9E4DC;--hairline:#D4D0C8;--line:rgba(255,255,255,.18);--pad:clamp(1rem,4.5vw,5.75rem);--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:85px;-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--paper);overflow-x:clip}body,button,input,textarea,select{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}a,button,select,summary{touch-action:manipulation}input,textarea,select{font-size:16px!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.header{min-height:78px;padding-block:1rem;background:var(--ink)}.header.scrolled{background:rgba(22,27,31,.975)}.altha-wordmark{letter-spacing:.09em}.altha-wordmark small{letter-spacing:.18em}.header a:hover{color:var(--copper)}
.hero{background:radial-gradient(ellipse 60% 75% at 87% 14%,rgba(109,119,124,.16) 0%,transparent 70%),linear-gradient(132deg,#21282C 0%,#15191C 70%)}.hero-light{opacity:.6;animation-duration:18s}.hero h1,.page-intro h1{font-weight:560}.hero em,.page-intro em,.contact em{color:var(--copper)}.button{min-height:52px;border-radius:4px;font-weight:660;letter-spacing:-.01em;transition:background .28s,color .28s,transform .35s var(--ease)}.button.light{background:var(--copper);color:#161B1F}.button.light:hover{background:#FFAE83}.button.dark{background:#20282D;color:#fff}.button.dark:hover{background:#384146}.text-link{min-height:44px;display:inline-flex;align-items:center}.hero-bottom p{color:#D6D8D6}.eyebrow{font-size:.75rem;font-weight:740;letter-spacing:.15em}.marquee{border-block:1px solid rgba(255,255,255,.09)}.marquee-group{letter-spacing:.12em}
.category-showcase{background:var(--concrete);color:var(--ink)}.category-grid{gap:12px;background:transparent;border:0}.category-card,.category-card:nth-child(3n+2),.category-card:nth-child(3n){background:#FAF8F4;border:1px solid #D6D0C6;border-radius:3px}.category-card::before{background:linear-gradient(130deg,#2A3236,#171D20)}.category-card:hover,.category-card:focus-visible{color:#fff}.category-card:hover .category-subtitle,.category-card:focus-visible .category-subtitle{color:#E2CEBA}.category-index{color:#696E70}.category-card:hover .category-index{color:var(--copper)}.category-card:hover .category-arrow,.category-card:focus-visible .category-arrow{background:var(--copper);color:var(--ink);border-color:var(--copper)}.category-subtitle{color:#61686A}.category-arrow{border-color:#B3B2AD}
.projects{background:#F4F1EB}.project-visual{background:#30383B}.project-visual .placeholder{background:repeating-linear-gradient(135deg,rgba(255,255,255,.024) 0px,rgba(255,255,255,.024) 1px,transparent 1px,transparent 23px),linear-gradient(125deg,#485154,#232A2E 74%)}.placeholder{background:#343D40}.placeholder .number{color:#E3D7C030}.project-plus{border-radius:5px}.project-card:hover .project-plus{background:var(--copper)}.sample-label{background:#171D20ed}.story-mark{background:radial-gradient(circle at 50% 40%,#444C4E,#242B2E 77%)}.story-mark .large-monogram{color:#A1A9AA}.story-copy p{color:#C5C9C9}.signature{color:var(--copper)}.services .section-heading>p,.services .demo-note{color:#D0D1CF}.service p{color:#CACFCC}.contact{background:var(--copper);color:var(--ink)}.contact .button.dark{background:var(--ink)}.category-intro{background:linear-gradient(145deg,#30383D,#181D20)}.category-contact-panel{background:#E5DED4}.filter-button[aria-pressed="true"],.filter-button:hover{background:#272E32;color:#fff}
footer{border-top:1px solid rgba(255,255,255,.08)}.footer-legal{display:flex;gap:.6rem 1.5rem;flex-wrap:wrap;width:100%;padding-top:1.5rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#BEC3C2}.footer-legal a:hover{color:var(--copper)}.footer-top{width:100%}
.mobile-bottom-nav{display:none}.drawer-search-link{width:100%;text-align:left;background:#E8E2D8;color:#20272B;border:0;padding:1rem 1.1rem;border-radius:4px;margin:1.3rem 0 .65rem;font-size:1rem;font-weight:650;min-height:54px}.drawer-search-link:hover{background:#DCD3C5}.mobile-drawer{background:#F4F1EB;color:#202629}.drawer-scroll{padding-top:.6rem}.drawer-main{margin-top:.65rem}.drawer-main a{color:#1D2529}.drawer-main a:hover{color:#B9542A}.drawer-footer{padding-bottom:max(1.2rem,env(safe-area-inset-bottom))}.drawer-cta{background:#262F33;border-radius:4px;min-height:52px}.drawer-cta:hover{background:#AF4F2B}
/* BUSCADOR: encabezado con campo siempre visible, resultados predictivos divididos por tipo, CTA final. */
#search-dialog.search-overlay{inset:0;margin:0 auto auto;width:min(850px,100%);height:min(92dvh,850px);max-height:100dvh;max-width:none;padding:0;border:1px solid #DBD5CA;background:#F9F7F3;color:#1E262A;box-shadow:0 32px 90px rgba(0,0,0,.32);overflow:hidden;display:none;flex-direction:column;border-radius:0 0 14px 14px}
#search-dialog.search-overlay[open]{display:flex;animation:search-from-top .3s var(--ease) both}
@keyframes search-from-top{from{opacity:.5;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
#search-dialog::backdrop{background:rgba(9,13,15,.7);backdrop-filter:blur(3px)}
.shop-search-top{flex:0 0 auto;background:#F9F7F3;border-bottom:1px solid #DFD9D0;padding:1.1rem clamp(1rem,4vw,2.2rem) 1.4rem;z-index:2}.shop-search-heading{display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-bottom:.8rem;gap:.6rem}.shop-search-brand{font-size:.85rem;font-weight:850;letter-spacing:.14em}.shop-search-brand span{font-weight:650;letter-spacing:.07em;color:#687075}.shop-search-heading .dialog-close{border:1px solid #D6D0C8;background:white;color:#21292D;border-radius:50%;display:grid;place-items:center;min-width:44px;height:44px;font-size:1rem}
.shop-search-form{display:flex;align-items:center;min-height:60px;background:#fff;border:1.5px solid #BBC0BF;border-radius:4px;padding:0 .42rem 0 .95rem;gap:.6rem;transition:border-color .2s,box-shadow .2s}.shop-search-form:focus-within{border-color:#B45730;box-shadow:0 0 0 3px rgba(244,140,84,.2)}.shop-search-icon{color:#343E42;flex:0 0 auto}.shop-search-form input{appearance:none;-webkit-appearance:none;min-width:0;flex:1;width:100%;outline:0!important;border:0!important;box-shadow:none!important;background:none;padding:.95rem .1rem;font-size:16px!important;color:#182024;border-radius:0;line-height:1.2}.shop-search-form input::-webkit-search-cancel-button{-webkit-appearance:none}.shop-clear-search{min-height:44px;min-width:38px;border:0;background:transparent;color:#687074;font-size:1rem;padding:0}.shop-clear-search[hidden]{display:none!important}.shop-search-submit{min-height:44px;min-width:44px;border:0;background:#262F33;color:#fff;border-radius:3px;font-size:1.5rem;line-height:1;padding:0}.shop-search-submit:hover{background:#A84A28}
.shop-search-content{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:1.2rem clamp(1rem,4vw,2.2rem) 2.5rem}.shop-search-intro{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.shop-search-caption{font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#646B6E}.shop-results-count{font-size:.8rem;color:#6C7375}.shop-search-content .popular-searches{margin:.7rem 0 1.5rem;display:flex;gap:.5rem}.shop-search-content .popular-tag{background:#EEEAE4;border:1px solid #DBD3CB;border-radius:3px;color:#2C3538;min-height:42px;padding:.55rem .85rem;font-size:.82rem}.shop-search-content .popular-tag:hover{background:#F9D3BE}.shop-search-content .search-results.quick-grid{display:block!important}.shop-results-heading{font-size:.7rem;font-weight:850;letter-spacing:.13em;margin:1.2rem 0 .25rem;color:#7C4C35;border-bottom:1px solid #DCD7CE;padding-bottom:.6rem}.shop-results-group{display:grid;grid-template-columns:1fr 1fr;column-gap:1.4rem}.shop-results-group .search-result{display:grid;grid-template-columns:38px 1fr 18px;gap:.75rem;align-items:center;border-bottom:1px solid #E2DED8;min-height:70px;padding:.65rem 0!important;color:#232B2F;transition:background .2s!important}.shop-results-group .search-result:hover,.shop-results-group .search-result:focus-visible{background:#EFE9E0;padding-left:0!important}.shop-result-icon{display:grid;place-items:center;width:38px;height:38px;background:#E6E2DB;border-radius:3px;color:#B4582E;font-size:1.2rem}.shop-result-copy{min-width:0}.shop-result-copy h3{font-size:1rem!important;font-weight:700!important;line-height:1.25;margin:0 0 .2rem!important;letter-spacing:-.02em}.shop-result-copy p{margin:0;font-size:.74rem!important;color:#6C7375!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-result-arrow{font-size:1.1rem;color:#A95B36}.shop-no-results{padding:1.6rem 0;color:#343A3E}.shop-no-results strong{display:block;margin-bottom:.5rem}.shop-search-bottom{flex-shrink:0;border-top:1px solid #D6D1C9;background:#F9F7F3;padding:.9rem clamp(1rem,4vw,2.2rem) max(.9rem,env(safe-area-inset-bottom))}.shop-search-bottom a{display:flex;align-items:center;justify-content:space-between;background:#252D31;color:#fff;text-decoration:none;min-height:50px;padding:.65rem 1rem;font-weight:750;border-radius:3px}.shop-search-bottom a:hover{background:#AC512E}.shop-search-bottom a span{font-size:1.2rem}
/* Formulario y lectura de datos */
.contact-page{gap:clamp(1.6rem,4vw,4rem)}.inquiry-panel{background:#F7F4EF;border:1px solid #DED8CC;border-radius:5px;box-shadow:0 16px 40px rgba(0,0,0,.08)}.form-intro{font-size:.96rem;color:#445056;line-height:1.55;margin:.75rem 0 1.4rem}.inquiry-panel form label{display:block;font-weight:750;font-size:.9rem;letter-spacing:.01em;margin:.8rem 0 .45rem}.inquiry-panel input,.inquiry-panel select,.inquiry-panel textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:56px;line-height:1.45;padding:1rem .95rem;border:1.5px solid #C4C2BD;background:#fff;color:#1D282D;border-radius:4px;font-size:16px!important;box-shadow:none;transition:background .2s,border-color .2s,box-shadow .2s}.inquiry-panel input:focus,.inquiry-panel select:focus,.inquiry-panel textarea:focus{outline:0!important;border-color:#AE582E;box-shadow:0 0 0 3px rgba(244,140,84,.22);background:#fff}.inquiry-panel textarea{min-height:165px;resize:vertical}.inquiry-panel input::placeholder,.inquiry-panel textarea::placeholder{color:#787F82;opacity:1}.inquiry-panel select{appearance:none;-webkit-appearance:none;padding-right:3.2rem;background:#fff url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23283034" stroke-width="2"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E') no-repeat right 1rem center}.inquiry-panel .form-row{gap:1.2rem}.form-helper{font-size:.8rem;color:#586369;line-height:1.55;margin:.45rem 0 .8rem}.inquiry-panel .privacy-note{font-size:.82rem;line-height:1.6;color:#596367}.inquiry-panel .privacy-note a{text-decoration:underline;text-underline-offset:3px;font-weight:700}.inquiry-panel .form-bottom{gap:1rem}.inquiry-panel .form-bottom button{min-height:56px;background:#252D31;color:#fff;padding:1rem 1.2rem;white-space:normal;text-align:center}.inquiry-panel .form-bottom button:hover{background:#AB4D28}#message-count{font-size:.8rem;font-variant-numeric:tabular-nums;color:#667073}.contact-aside h2{overflow-wrap:anywhere}.contact-actions .button{max-width:100%}
/* Legal copy */
.legal-hero{background:linear-gradient(125deg,#252D31,#161B1F);padding-bottom:4.5rem}.legal-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);margin:1rem 0;letter-spacing:-.055em;line-height:1.04;max-width:900px}.legal-hero>p{font-size:1.05rem;color:#BDC6C7;max-width:640px}.legal-hero .breadcrumb{display:block;margin-bottom:2rem}.legal-body{background:#F4F1EB;color:#20292C}.legal-body>section{max-width:850px;padding:2rem 0;border-bottom:1px solid #D8D2CB}.legal-body h2{font-size:clamp(1.35rem,3vw,1.95rem);line-height:1.2;margin-bottom:.9rem;font-weight:730;letter-spacing:-.03em}.legal-body p{font-size:1rem;line-height:1.85;color:#495154}.legal-body a{text-decoration:underline;text-underline-offset:3px}.legal-notice{background:#FFF0E4;border-left:4px solid #D36D3B;padding:1rem 1.2rem;max-width:850px;font-size:.9rem}.legal-last{margin-top:2rem}.legal-last .button{text-decoration:none}.legal-body strong{font-weight:750}
/* Motion: little movement, deliberate velocity, all reduced motion respected */
.project-card:not(.pending):hover{transform:translateY(-4px)}.category-card:hover::before{transition-duration:.42s}.category-arrow{transition:transform .3s var(--ease)}.reveal.pending{transform:translateY(22px)}
@media(max-width:900px){
 .mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:64;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(249,247,243,.98);border-top:1px solid #D8D4CC;box-shadow:0 -7px 26px rgba(9,13,15,.09);padding-bottom:env(safe-area-inset-bottom);gap:0;color:#232C30;min-height:65px;backdrop-filter:blur(10px)}
 .mobile-bottom-nav .bottom-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.08rem;min-height:62px;border:0;background:transparent;color:#414A4E;padding:.35rem .1rem;font-size:.67rem;font-weight:740;text-align:center;line-height:1.2}
 .mobile-bottom-nav .bottom-icon{display:block;font-size:1.5rem;font-weight:450;line-height:1.16;min-height:28px}
 .mobile-bottom-nav .bottom-contact,.mobile-bottom-nav [aria-current="page"]{color:#AD4E27}.mobile-bottom-nav [aria-current="page"] .bottom-icon{font-weight:850}
 body:has(dialog[open]) .mobile-bottom-nav,body.drawer-open .mobile-bottom-nav{display:none}
 body:not(:has(dialog[open])):has(#inquiry-form :focus) .mobile-bottom-nav{display:none}
 body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
 body:has(dialog[open]),body.drawer-open{overflow:hidden}
 .section{padding:clamp(3.25rem,9vw,5.5rem) var(--pad)}
 .header{min-height:68px;padding-block:.8rem}
 .menu-toggle{min-width:47px;min-height:47px}.nav-wrap .search-trigger{min-width:47px;min-height:47px}
 .mobile-drawer{width:min(375px,93vw)}
 .drawer-main a{min-height:55px}.drawer-secondary a{min-height:44px;display:flex;align-items:center}
 .drawer-accordion summary{min-height:50px}.drawer-accordion #drawer-categories a{min-height:44px;display:flex;align-items:center}
 .footer-legal{margin-top:1.2rem}
}
@media(max-width:640px){
 :root{--pad:1.1rem}
 .hero{min-height:min(720px,calc(91svh - 64px));padding-top:1.5rem;padding-bottom:1.45rem;gap:2rem}
 .hero h1{font-size:clamp(3.1rem,12.4vw,5.3rem);line-height:1.035;letter-spacing:-.068em;padding:.5rem 0}
 .hero-top{flex-direction:column;gap:.35rem}.hero-note{font-size:.8rem}.hero-bottom{flex-direction:column;align-items:stretch;gap:1.5rem}.hero-bottom p{max-width:36ch;font-size:1rem;line-height:1.65}.hero-bottom .button{width:100%;min-height:58px}.hero-footer{font-size:.66rem;gap:1rem}.hero-footer a{white-space:nowrap;font-size:.75rem}
 .section-heading{flex-direction:column;align-items:stretch;gap:1.1rem;margin-bottom:1.8rem}.section-heading h2{font-size:clamp(2.2rem,9.2vw,3.6rem);margin-top:.85rem}.section-heading .text-link{align-self:flex-start}.category-lead{font-size:.93rem;margin-bottom:1.4rem;line-height:1.65}
 .category-grid{grid-template-columns:1fr 1fr;gap:9px}.category-card{min-height:188px;padding:1rem}.category-card h3{font-size:clamp(1.18rem,5.5vw,1.75rem);line-height:1.14}.category-card .category-subtitle{font-size:.62rem;letter-spacing:.06em}.category-card .category-arrow{width:40px;height:40px}.category-card .category-card-bottom{position:relative}.category-count{font-size:.9rem}
 .carousel-track{scroll-padding-left:var(--pad)}.project-grid{grid-template-columns:1fr;gap:1.9rem}.project-card:first-child{grid-column:auto}.project-card:first-child .project-visual{aspect-ratio:4/3}.project-visual .placeholder{min-height:220px;padding:1.2rem}.project-caption{display:block;padding-top:.8rem}.project-caption h3{font-size:1.3rem;line-height:1.25}.project-caption>span{display:block;font-size:.8rem;margin-top:.3rem}.project-card:hover{transform:none!important}.project-visual{transform:none!important}
 .story{grid-template-columns:1fr;gap:2rem}.story-mark{min-height:310px;max-height:450px}.story-copy h2{margin:1rem 0 1.3rem;font-size:clamp(2.3rem,10vw,3.8rem)}.story-copy p{font-size:.98rem}.story-copy .text-link{margin-top:1rem}
 .services{padding-top:2rem}.service summary{padding:1.2rem 0;gap:1rem;min-height:76px}.service summary h3{font-size:1.4rem}.service p{padding:0 .4rem 1.5rem 1.7rem;font-size:.93rem}
 .contact h2{font-size:clamp(3.05rem,12vw,5.1rem)}.contact-layout{flex-direction:column;align-items:stretch}.contact-layout .button{min-height:58px}
 .page-intro{padding-top:2.4rem;padding-bottom:2.5rem}.page-intro h1{font-size:clamp(2.75rem,11vw,4.4rem)}
 .contact-page{display:flex;flex-direction:column;gap:1.3rem;padding-top:1rem}.contact-aside{order:2}.inquiry-panel{order:1;padding:1.35rem 1.05rem;margin:0;box-shadow:none}
 .inquiry-panel .form-row{display:grid;grid-template-columns:1fr;gap:0}.inquiry-panel form label{margin:1rem 0 .45rem;font-size:.94rem}.inquiry-panel form input,.inquiry-panel form select,.inquiry-panel form textarea{min-height:58px;font-size:16px!important}.inquiry-panel form textarea{min-height:180px}.inquiry-panel .form-bottom{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;margin-top:.6rem}.inquiry-panel .form-bottom button{width:100%;min-height:60px;justify-content:center;gap:1rem;font-size:1rem}.inquiry-panel .form-bottom #message-count{order:2;text-align:right}.inquiry-panel .privacy-note{margin-top:1rem}.contact-aside h2{font-size:2rem}.contact-actions>a.button{width:100%;max-width:100%}.contact-tip{margin-top:1.5rem}
 #site-search-form{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.55rem}#site-search-form input{flex:1;min-width:0;min-height:56px;font-size:16px!important}#site-search-form .button{flex:0 0 auto;min-height:56px;min-width:66px;gap:.4rem;padding:.8rem .85rem}
 .collection-tools{display:flex;flex-direction:column;gap:1.5rem}.collection-tools input{height:56px}.filter-wrap .filters{flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:.6rem;scroll-snap-type:x proximity}.filter-wrap .filter-button{min-height:45px;flex:0 0 auto;scroll-snap-align:start}
 #search-dialog.search-overlay{inset:0;margin:0;width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border:0}
 .shop-search-top{padding:calc(.55rem + env(safe-area-inset-top)) .85rem .8rem}.shop-search-heading{margin-bottom:.5rem;min-height:38px}.shop-search-brand{font-size:.85rem}.shop-search-brand span{font-size:.66rem;letter-spacing:.025em}.shop-search-form{min-height:58px;padding-left:.75rem}.shop-search-form input{font-size:16px!important;min-width:0}.shop-search-content{padding:1rem .95rem 2.5rem}.shop-search-content .popular-searches{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none;margin-bottom:1.35rem;padding-bottom:.35rem}.shop-search-content .popular-searches::-webkit-scrollbar{display:none}.shop-search-content .popular-tag{flex-shrink:0;min-height:46px;font-size:.84rem}
 .shop-results-group{grid-template-columns:1fr}.shop-results-group .search-result{min-height:72px}.shop-search-bottom{padding:.6rem .95rem max(.75rem,env(safe-area-inset-bottom))}.shop-search-bottom a{min-height:53px}
 .footer-bottom nav{align-items:stretch}.footer-bottom nav a{min-height:38px;display:inline-flex;align-items:center}.footer-legal a{min-height:42px;display:inline-flex;align-items:center}
 .legal-body{padding-top:2rem}.legal-body>section{padding:1.65rem 0}.legal-body p{font-size:.97rem;line-height:1.72}.legal-hero{padding-block:3rem}.legal-hero h1{font-size:clamp(2.5rem,10vw,3.75rem)}
}
@media(max-width:355px){.shop-search-brand span{display:none}.hero h1{font-size:2.95rem}.category-card{padding:.75rem}.category-card h3{font-size:1.18rem}.brand .altha-wordmark{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal.pending{opacity:1!important;transform:none!important}}
/* Fijar altura explícita para evitar diferencias de posicionamiento de elementos grid fixed en Chromium móvil. */
@media(max-width:900px){.mobile-bottom-nav{height:calc(65px + env(safe-area-inset-bottom));min-height:0;top:auto;bottom:0}}
/* Tarjeta editorial: preservar anchura del móvil pequeño aun con aspect-ratio. */
@media(max-width:640px){.story .story-mark{width:100%;max-width:100%;min-width:0;height:auto;max-height:none;min-height:0;aspect-ratio:4/5}.story .story-copy{min-width:0}}
