/* Galileo: a premium botanical gallery. Preserve all demo operations. */
:root{--paper:#fbfbf8;--soft:#f0f1eb;--line:#d7dcd5;--ink:#034f3b;--forest:#034f3b;background:var(--paper)}
body{background:var(--paper)}
.demo-bar{background:var(--forest);color:#fff;font-size:.75rem;letter-spacing:.1em;min-height:30px;padding:7px 5%}
.header{padding:20px 5%;min-height:108px;border-bottom:1px solid var(--line);gap:30px;background:var(--paper)}
.header nav{gap:35px;font-size:.9375rem}
.header nav a{text-underline-offset:7px}
.header-actions{gap:22px}.admin-link{font-size:.8125rem}.bag{border-radius:3px;padding:11px 15px;border-color:var(--line);background:transparent}
.bag span{background:var(--forest);font-size:.75rem}
.brand-reveal{position:relative;min-width:142px;z-index:25}
.brand-reveal summary{display:flex;align-items:center;gap:13px;width:fit-content;cursor:pointer;list-style:none;outline-offset:7px}
.brand-reveal summary::-webkit-details-marker{display:none}.brand-reveal summary:focus-visible{outline:2px solid var(--forest)}
.monogram{display:block;font-family:Georgia,serif;font-size:3.75rem;line-height:1;letter-spacing:-.1em;font-weight:400}
.monogram>span{font-family:Arial,sans-serif;font-size:2rem;color:var(--accent);display:inline-block;margin-left:4px}
.brand-caption{font-size:.75rem;line-height:1.7;letter-spacing:.17em;font-weight:600}
.brand-sheet{position:absolute;top:calc(100% + 20px);left:-10px;width:260px;padding:22px;background:white;border:1px solid var(--line);box-shadow:0 15px 30px #034f3b15}
.brand-sheet img{display:block;width:100%;height:auto;margin:10px 0 22px}.brand-sheet a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
.gallery-intro.hero{display:grid;grid-template-columns:1fr 230px;align-items:end;gap:50px;background:transparent;color:var(--ink);min-height:0;margin:0;padding:62px 6% 50px;overflow:visible}
.gallery-intro .hero-copy{padding:0;display:block}.gallery-intro .eyebrow{margin-bottom:22px;font-size:.75rem;letter-spacing:.17em}
.gallery-intro h1{font-family:'Manrope',Arial,sans-serif;font-weight:400;font-size:clamp(3.1rem,5.5vw,6rem);letter-spacing:-.065em;line-height:1.03;margin:0}
.gallery-intro h1 em{color:var(--ink);font-family:Georgia,serif;letter-spacing:-.065em}
.intro-note{border-left:1px solid var(--line);padding-left:30px;padding-bottom:3px}.gallery-index{font-size:.75rem;letter-spacing:.15em;color:var(--muted);display:block;margin-bottom:25px}
.intro-note p{font-size:1rem;line-height:1.7;margin-bottom:22px}.gallery-link{font-size:.875rem;text-decoration:underline;text-underline-offset:7px;display:flex;justify-content:space-between;gap:16px;width:fit-content}
.catalog.section{padding:0 6% 80px}.catalog .section-heading{padding-top:28px;border-top:1px solid var(--line);margin-bottom:28px;align-items:center}
.catalog .eyebrow{font-size:.75rem;margin:0 0 9px}.catalog h2{font-family:Georgia,serif;font-size:2.1rem;letter-spacing:-.04em}
.catalog .section-heading>p{font-size:.8125rem;line-height:1.7;text-align:right;margin:0}
.product-grid{gap:30px}.product{background:transparent}.piece-label{display:flex;justify-content:space-between;gap:15px;padding:0 0 12px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.piece-label>span:last-child{letter-spacing:.03em}
.product-image-button{display:block;background:#e8ece7;border-radius:1px}
.product-photo{aspect-ratio:4/4.8;width:100%;height:auto;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.product-image-button:hover img{transform:scale(1.045)}
.piece-discover{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#fffffff0;color:var(--ink);font-size:.875rem;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.product-image-button:hover .piece-discover,.product-image-button:focus-visible .piece-discover{opacity:1;transform:none}
.product-info{padding:20px 0 7px;gap:15px;align-items:baseline}.product-info h3{font-family:Georgia,serif;font-size:1.375rem;font-weight:400;margin-bottom:8px;letter-spacing:-.035em}
.product-info p{font-size:.8125rem;line-height:1.5;max-width:250px}.price{font-size:1rem;font-weight:500;letter-spacing:-.03em}
.product-bottom{padding:10px 0 20px;border-bottom:1px solid var(--line);align-items:center}.product-bottom>span{font-size:.75rem}
.add-product{width:auto;height:42px;min-width:106px;border-radius:2px;padding:0 16px;font-size:.875rem;font-weight:500;background:var(--forest);color:white;border-color:var(--forest);display:flex;align-items:center;justify-content:center;gap:18px}
.add-product>span{font-size:1.1rem}.add-product:hover{background:#07664d;border-color:#07664d}.catalog-note{font-size:.75rem;color:var(--muted);margin:22px 0 0;line-height:1.6}
.future.section{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#f0f1eb;margin:0;padding:70px 6%}
.future h2{font-size:clamp(2.4rem,3.5vw,4.1rem);line-height:1.12}.future-copy>p:not(.eyebrow){line-height:1.8;color:var(--muted);margin:25px 0;max-width:440px}
.future-list{display:flex;flex-direction:column;gap:20px;border-top:1px solid #c8d2c7;padding-top:24px;margin-top:30px}
.future-list span{font-size:.875rem;display:flex;justify-content:space-between;gap:20px}.future-list b{font-size:.75rem;margin:0}
.local-story{margin:0}.local-photo{height:480px;max-height:none;object-fit:cover;object-position:center 62%;border-radius:1px}.local-caption{font-size:.75rem;letter-spacing:.03em;padding:12px 0 0;margin:0}
.allies.section{padding:75px 6%;gap:8%}.allies h2{font-size:clamp(2.5rem,3.5vw,4rem)}.allies .pill{border-radius:2px;font-size:.75rem}
footer{display:block;padding:45px 6% 0;background:var(--forest);overflow:hidden}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;width:100%}.footer-top>p{line-height:1.7;font-size:.875rem}.footer-top>div{display:flex;flex-direction:column;gap:16px;font-size:.8125rem}.footer-top>div>span{color:#c3d4c5}
.footer-signature{font-family:Georgia,serif;font-size:2.2rem;letter-spacing:-.04em;line-height:1.2}.footer-signature span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.75rem;letter-spacing:.12em;margin-top:12px}
.footer-wordmark{font-family:Georgia,serif;font-size:clamp(6rem,20vw,22rem);line-height:.9;letter-spacing:-.055em;color:#fff7;margin-top:45px;white-space:nowrap;padding-bottom:10px;font-weight:400;border:0}
#cart-dialog{margin:0 0 0 auto;max-width:min(500px,100vw);height:100dvh;max-height:100dvh;padding:42px 30px 28px;box-shadow:-10px 0 70px #002a1a20;background:var(--paper)}
#cart-dialog h2{font-family:Georgia,serif;font-size:2.15rem;letter-spacing:-.04em;padding-right:20px}#cart-dialog .notice{font-size:.8125rem;margin-bottom:14px}#cart-dialog .check{font-size:.875rem;margin:18px 0}
#checkout-form>.button{width:100%}.cart-total{font-size:1.125rem}.close-dialog{background:var(--soft)}.button{border-radius:2px}.product-detail h2{font-family:Georgia,serif;line-height:1.1}
.mascot-welcome{right:20px;bottom:20px;gap:11px;padding:10px 24px 10px 10px;border-radius:3px;box-shadow:0 8px 30px #00291e12;background:#fffffff5;max-width:270px}
.mascot-portrait{width:59px;height:90px;border-radius:2px}.mascot-portrait img{width:140px;left:-39px;top:-17px}.mascot-message .eyebrow{font-size:.75rem;letter-spacing:.1em;margin:0 0 10px}.mascot-message p{font-family:Georgia,serif;font-size:1.125rem;line-height:1.2;margin-bottom:10px}.mascot-message a{font-size:.75rem}.mascot-close{width:26px;height:26px;font-size:1rem;background:transparent}
.admin-title{font-family:Georgia,serif}.metrics strong{font-family:Georgia,serif}.admin-tabs button[aria-current=page]{border-bottom-color:var(--forest)}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:22px}.header-actions{gap:16px}.brand-reveal{min-width:110px}.brand-caption{display:none}.gallery-intro.hero{grid-template-columns:1fr 190px;gap:35px;padding-top:52px}.intro-note{padding-left:22px}.product-grid{gap:20px}.product-info{gap:10px}.product-info h3{font-size:1.2rem}.piece-label{font-size:.75rem}.local-photo{height:410px}}
@media(max-width:650px){.demo-bar{flex-direction:row;gap:10px;font-size:.75rem;letter-spacing:.07em;padding:7px 12px;align-items:center;min-height:32px}.demo-bar>span{font-size:.75rem;max-width:200px;line-height:1.5}.header{padding:15px 6%;gap:12px;min-height:100px}.brand-reveal{min-width:60px}.monogram{font-size:3rem}.monogram>span{font-size:1.7rem}.header-actions{font-size:.875rem;gap:15px}.admin-link{font-size:.75rem}.bag{padding:9px 12px}.header nav{padding-top:8px;font-size:.875rem;gap:18px}.brand-sheet{top:calc(100% + 14px);left:0;width:235px}.gallery-intro.hero{grid-template-columns:1fr;gap:25px;padding:35px 6% 30px}.gallery-intro .eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:18px}.gallery-intro h1{font-size:clamp(2.8rem,10.8vw,4rem);letter-spacing:-.055em;line-height:1.06}.intro-note{display:flex;justify-content:space-between;align-items:center;border-left:0;padding:0;gap:20px}.gallery-index{display:none}.intro-note p{font-size:.8125rem;line-height:1.55;margin:0}.gallery-link{font-size:.8125rem;gap:12px;max-width:110px;line-height:1.6}.catalog.section{padding:0 6% 48px}.catalog .section-heading{padding-top:23px;display:flex;gap:18px;align-items:flex-end;margin-bottom:22px}.catalog h2{font-size:1.65rem;line-height:1.1;margin-bottom:0}.catalog .eyebrow{font-size:.75rem;margin-bottom:9px}.catalog .section-heading>p{font-size:.75rem;max-width:130px;line-height:1.55}.product-grid{grid-template-columns:1fr 1fr;gap:26px 16px}.product:last-child{grid-column:auto;max-width:none;margin:0}.piece-label{font-size:.75rem;gap:5px;letter-spacing:.08em;display:block;line-height:1.65;padding-bottom:8px}.piece-label>span:last-child{display:block;letter-spacing:0}.product-photo{aspect-ratio:3/4}.product-info{display:block;padding:14px 0 5px}.product-info h3{font-size:1.1875rem;line-height:1.15;margin-bottom:8px}.product-info p{display:none}.price{font-size:.9375rem}.product-bottom{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:16px}.product-bottom>span{font-size:.75rem;max-width:none;line-height:1.5}.add-product{min-width:0;width:100%;height:41px;padding:0 12px;justify-content:space-between}.piece-discover{display:none}.catalog-note{font-size:.75rem;line-height:1.6;margin-top:20px}.future.section{grid-template-columns:1fr;gap:35px;padding:44px 6%}.future h2{font-size:2.45rem}.future .eyebrow{font-size:.75rem}.future-copy>p:not(.eyebrow){font-size:1rem}.future-list span{font-size:.875rem}.local-photo{height:350px}.allies.section{padding:45px 6%;gap:20px}.allies h2{font-size:2.35rem}.allies .eyebrow{font-size:.75rem;line-height:1.8}.allies p{font-size:1rem}footer{padding:35px 6% 0}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:25px;border:0;padding:0}.footer-top>div{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:15px;font-size:.75rem}.footer-top>p{font-size:.8125rem}.footer-signature{font-size:2rem}.footer-signature span{font-size:.75rem}.footer-wordmark{margin-top:35px;font-size:24vw;padding-bottom:12px;border:0;line-height:1}.mascot-welcome{right:12px;bottom:12px;max-width:206px;padding:8px 23px 8px 8px;gap:9px}.mascot-portrait{width:37px;height:49px}.mascot-portrait img{width:105px;left:-33px;top:-10px}.mascot-message p{display:none}.mascot-message .eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:6px}.mascot-message a{font-size:.75rem}.mascot-close{width:23px;height:23px}#cart-dialog{padding:38px 20px 24px}#cart-dialog h2{font-size:2rem}.cart-line>img{width:55px;height:70px}}
@media(prefers-reduced-motion:reduce){.product-photo,.piece-discover{transition:none}}

/* Identity guide: neutral gallery, original logo, a little character. */
:root{--ink:#202421;--muted:#5d625e;--forest:#034f3b;--soft:#f1f2ee}
.demo-bar{background:var(--forest);color:#fff;border-bottom:1px solid var(--forest);font-size:.75rem;letter-spacing:.06em}
.demo-bar>span{font-size:.75rem}
.monogram{color:var(--forest)}
.admin-link,.product-info p,.intro-note p,.gallery-link,.footer-top>div,.footer-top>p{font-size:.875rem}
.gallery-intro.hero{grid-template-columns:minmax(0,1fr) 125px 180px;gap:26px;align-items:center;padding-top:36px;padding-bottom:36px}
.gallery-intro h1{font-size:clamp(3rem,5.1vw,5.8rem)}
.gallery-intro h1 em{color:var(--ink)}
.intro-note{padding-left:23px}.intro-note p{font-size:1rem}.gallery-link{font-size:.875rem}
.catalog .section-heading>p{font-size:.8125rem}
.product:nth-child(2){padding-top:34px}
.product-info h3{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.045em;font-weight:500}
.add-product{min-height:44px}
.product-bottom>span{font-size:.8125rem}
.footer-top{border:0;padding:0}.footer-top>p,.footer-top>div>span{color:var(--muted)}
footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.footer-signature{font-family:'DM Sans',Arial,sans-serif;font-size:.875rem;letter-spacing:0;white-space:nowrap}
.footer-signature span{display:inline;margin:0 0 0 10px;font-size:1rem;letter-spacing:0;color:var(--ink)}
.footer-wordmark{font-size:inherit;margin-top:50px;padding:0 0 28px;line-height:0;display:block;width:100%}
.footer-wordmark img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}
.mascot-welcome{position:relative;right:auto;bottom:auto;align-self:center;justify-self:center;display:block;width:125px;height:258px;max-width:none;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:1}
.mascot-play{display:block;border:0;padding:0;background:transparent;width:100%;height:100%;color:inherit}
.mascot-portrait{position:relative;display:block;width:125px;height:258px;border:0;border-radius:0;background:transparent;overflow:hidden;transform-origin:50% 97%;animation:galileo-arrive 4.2s ease-out both;mix-blend-mode:multiply}
.mascot-portrait img{position:absolute;max-width:none;width:300px;height:auto;left:-88px;top:-42px;filter:contrast(1.12) brightness(1.12)}
.mascot-close{right:-8px;top:3px;width:30px;height:30px;font-size:1rem;background:transparent;color:var(--muted);opacity:0}
.mascot-welcome:hover .mascot-close,.mascot-welcome:focus-within .mascot-close{opacity:1}
.mascot-portrait.greeting{animation:galileo-greet 2s ease-in-out both}
@keyframes galileo-arrive{0%{opacity:0;transform:translateY(8px) rotate(-3deg)}25%{opacity:1;transform:translateY(0) rotate(1deg)}50%{transform:rotate(-1deg)}75%,100%{opacity:1;transform:rotate(0)}}
@keyframes galileo-greet{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}65%{transform:rotate(2deg)}}
@media(max-width:1000px){.gallery-intro.hero{grid-template-columns:minmax(0,1fr) 110px 145px;gap:16px}.intro-note{padding-left:16px}.gallery-intro h1{font-size:clamp(2.7rem,4.6vw,4rem)}.intro-note p{font-size:.875rem}.mascot-welcome{transform:scale(.88);transform-origin:center}}
@media(max-width:650px){.demo-bar{font-size:.75rem;letter-spacing:.02em}.demo-bar>span{font-size:.75rem;max-width:210px}.admin-link{font-size:.875rem}.gallery-intro.hero{grid-template-columns:minmax(0,1fr) 76px;gap:18px 8px;padding:28px 6%}.gallery-intro .eyebrow{font-size:.75rem;letter-spacing:.08em;max-width:240px;line-height:1.8;margin-bottom:15px}.gallery-intro h1{font-size:clamp(2.25rem,8.5vw,3.5rem);line-height:1.09;letter-spacing:-.05em}.gallery-intro h1 em{letter-spacing:-.05em}.intro-note{grid-column:1/-1;padding:12px 0 0;gap:20px}.intro-note p,.gallery-link{font-size:.875rem}.gallery-link{max-width:125px}.gallery-index{display:none}.mascot-welcome{width:76px;height:190px;transform:none}.mascot-portrait{width:76px;height:190px}.mascot-portrait img{width:219px;left:-66px;top:-31px}.mascot-close{opacity:1;right:-7px;top:-3px;width:26px;height:26px}.catalog .section-heading{gap:14px}.catalog h2{font-size:1.7rem}.catalog .section-heading>p{font-size:.75rem;max-width:130px}.product:nth-child(2){padding-top:24px}.product-info h3{font-size:1.125rem;line-height:1.35;letter-spacing:-.035em}.product-bottom>span{font-size:.75rem}.footer-wordmark{margin-top:30px;padding-bottom:20px}.footer-top>p,.footer-top>div{font-size:.875rem}.footer-top>div{flex-wrap:wrap;line-height:1.6}.brand-sheet{width:min(260px,calc(100vw - 48px))}}
@media(prefers-reduced-motion:reduce){.mascot-portrait,.mascot-portrait.greeting{animation:none!important}}

/* Reveal the supplied artwork itself; no replacement font or redrawn letters. */
.brand-reveal{width:225px;min-width:225px;height:86px;flex-shrink:0}
.brand-reveal summary{display:block;width:55px;height:86px;position:relative;isolation:isolate}
.brand-reveal[open] summary{width:225px}
.brand-art{position:absolute;display:block;top:0;left:0;width:225px;height:86px;pointer-events:none}
.logo-part{position:absolute;inset:0;display:block;background:var(--forest);mask:url('/assets/logo-galileo.png') center/contain no-repeat;-webkit-mask:url('/assets/logo-galileo.png') center/contain no-repeat;opacity:0;transform:translateX(-9px);transition:opacity .24s ease,transform .42s cubic-bezier(.22,.61,.36,1)}
.logo-g{clip-path:polygon(0 14%,19.35% 14%,19.72% 63%,22.57% 100%,0 100%);opacity:1;transform:none}
.logo-a{clip-path:polygon(19.35% 0,35% 0,35% 100%,22.57% 100%,19.72% 63%)}
.logo-l1{clip-path:inset(0 51% 0 35%)}.logo-i{clip-path:inset(0 42.5% 0 49%)}.logo-l2{clip-path:inset(0 30.6% 0 57.5%)}.logo-e{clip-path:inset(0 19% 0 69.4%)}.logo-o{clip-path:inset(0 0 0 81%)}
.brand-reveal[open] .logo-part{opacity:1;transform:none}
.brand-reveal[open] .logo-a{transition-delay:.025s}.brand-reveal[open] .logo-l1{transition-delay:.075s}.brand-reveal[open] .logo-i{transition-delay:.125s}.brand-reveal[open] .logo-l2{transition-delay:.175s}.brand-reveal[open] .logo-e{transition-delay:.225s}.brand-reveal[open] .logo-o{transition-delay:.275s}
@media(max-width:1000px) and (min-width:651px){.brand-reveal{width:180px;min-width:180px;height:69px}.brand-reveal summary{height:69px;width:44px}.brand-reveal[open] summary{width:180px}.brand-art{width:180px;height:69px}.header nav{gap:20px;font-size:.875rem}.header-actions{gap:12px}.header{gap:16px}}
@media(max-width:650px){.brand-reveal{width:59px;min-width:59px;height:77px}.brand-reveal summary{height:77px;width:49px}.brand-art{width:200px;height:77px}.brand-reveal[open]{z-index:30}.brand-reveal[open] summary{width:200px}.brand-reveal[open] summary:before{content:'';position:absolute;inset:-8px -10px;background:var(--paper);z-index:-1;box-shadow:0 6px 20px #0000000d}.header nav{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.logo-part{transition:none!important}}
.mascot-welcome{mix-blend-mode:multiply}
.mascot-portrait{mix-blend-mode:normal}
.footer-logo-art{display:block;width:min(100%,940px);aspect-ratio:1861/714;margin:auto;background:var(--forest);mask:url('/assets/logo-galileo.png') center/contain no-repeat;-webkit-mask:url('/assets/logo-galileo.png') center/contain no-repeat}
.footer-top{flex-direction:row}

/* Floating companion: gentle continuous movement, with pause and dismiss controls. */
.gallery-intro.hero{grid-template-columns:minmax(0,1fr) 200px;padding-top:52px;padding-bottom:48px;gap:42px}
.mascot-welcome{--follow-x:0px;--follow-y:0px;position:fixed;right:20px;bottom:20px;width:96px;height:228px;z-index:15;transform:translate3d(var(--follow-x),var(--follow-y),0);transition:bottom .35s ease,transform .28s cubic-bezier(.2,.75,.25,1);will-change:transform}
.mascot-portrait{width:96px;height:228px;animation:galileo-float 6.5s ease-in-out infinite;transform-origin:50% 96%}
.mascot-portrait img{width:264px;left:-82px;top:-37px}
.mascot-close{top:-5px;right:-8px;width:32px;height:32px;opacity:1;font-size:1rem}
.mascot-welcome.is-paused .mascot-portrait{animation-play-state:paused}
body:has(dialog[open]) .mascot-welcome{visibility:hidden}
@keyframes galileo-float{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.8deg)}}
@media(max-width:650px){.gallery-intro.hero{grid-template-columns:1fr;gap:24px;padding:32px 6%}.intro-note{grid-column:auto;padding:0}.mascot-welcome{right:12px;bottom:14px;width:62px;height:142px;transform:none;will-change:auto}.mascot-portrait{width:62px;height:142px}.mascot-portrait img{width:165px;left:-50px;top:-23px}.mascot-close{width:30px;height:30px;right:-8px;top:-11px}}
@media(prefers-reduced-motion:reduce){.mascot-welcome{transform:none;transition:bottom .35s ease;will-change:auto}.mascot-portrait{animation:none!important}}

/* A more open gallery: staggered exhibits, soft architectural edges, clear buying controls. */
.header{border-bottom:0}
.header .bag{border-radius:999px;padding:12px 18px}
.header nav a{position:relative;padding:9px 0}
.gallery-intro.hero{padding:54px 6% 60px;align-items:center;gap:7%}
.gallery-intro h1{font-size:clamp(3.1rem,5.8vw,6rem);line-height:1.08}
.gallery-intro h1 em{display:inline-block;margin-left:.35em}
.intro-note{border:0;padding:0 0 0 15px}
.gallery-index{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--line);border-radius:50%;margin-bottom:22px;letter-spacing:.06em}
.gallery-link{align-items:center;text-decoration:none;border-bottom:1px solid var(--forest);padding-bottom:7px;color:var(--forest)}
.gallery-link>span{transition:transform .25s ease}
.gallery-link:hover>span{transform:translate(3px,-3px)}
.catalog.section{padding-bottom:100px}
.catalog .section-heading{border:0;padding-top:12px;margin-bottom:38px}
.catalog h2{font-size:clamp(2rem,3.2vw,3rem)}
.product-grid{align-items:start;column-gap:clamp(22px,3.8vw,64px)}
.product:nth-child(2){padding-top:48px}
.product:nth-child(3){padding-top:14px}
.product-image-button{border-radius:30px 30px 76px 30px;isolation:isolate}
.product:nth-child(2) .product-image-button{border-radius:45% 45% 24px 24px / 32% 32% 24px 24px}
.product:nth-child(3) .product-image-button{border-radius:30px 85px 30px 30px}
.product-photo{aspect-ratio:4/4.8}
.product:nth-child(2) .product-photo{aspect-ratio:4/5.2}
.product:nth-child(3) .product-photo{aspect-ratio:4/4.5}
.piece-label{padding-bottom:14px;letter-spacing:.06em}
.piece-label>span:last-child{font-size:.75rem;letter-spacing:0;text-transform:none}
.piece-discover{border-radius:999px;bottom:18px;left:16px;right:16px}
.product-info{padding-top:22px}
.product-info h3{font-size:clamp(1.125rem,1.5vw,1.4rem);line-height:1.4;letter-spacing:-.025em}
.product-bottom{border:0;padding-bottom:0}
.add-product{border-radius:999px;padding:0 18px;min-width:110px;transition:background .2s ease,transform .2s ease}
.add-product:not(:disabled):hover{transform:translateY(-2px)}
.catalog-note{margin-top:34px}
.future.section{margin:28px 3% 0;padding:42px 5.2%;gap:8%;background:#f0f2ed;border-radius:48px 130px 48px 48px}
.future-copy{padding:14px 0}
.future h2{font-size:clamp(2.4rem,3.9vw,4.2rem);line-height:1.18}
.future-copy>p:not(.eyebrow){margin:24px 0;max-width:410px}
.future-list{border:0;padding-top:0;margin-top:28px;gap:12px}
.future-list span{padding:12px 0;border-bottom:1px solid #d7dfd5;line-height:1.5;align-items:baseline}
.future-list span:last-child{border:0}
.future-list b{font-size:.8125rem}
.local-story{align-self:center;margin:-72px 0 -64px}
.local-photo{height:540px;max-height:none;border-radius:46% 46% 26px 26px / 30% 30% 26px 26px}
.local-caption{padding:15px 8px 0;line-height:1.6}
.allies.section{padding:132px 9% 90px 12%;grid-template-columns:1fr 1.05fr;gap:10%;align-items:start}
.allies h2{font-size:clamp(2.5rem,3.6vw,4rem);line-height:1.18}
.allies .eyebrow{max-width:310px;line-height:1.8}
.allies>div:last-child{padding-top:30px}
.allies .pill{border-radius:999px;line-height:1.6}
footer{border:0;padding-top:32px}
.footer-top{border-top:1px solid var(--line);padding-top:34px}
.button{border-radius:999px}
dialog{border-radius:24px}
#cart-dialog{border-radius:28px 0 0 28px}
.product-detail>img{border-radius:20px}
.cart-line>img{border-radius:10px}
.quantity button{border-radius:50%}
#toast{border-radius:18px}
@media(max-width:1000px) and (min-width:651px){
  .gallery-intro.hero{grid-template-columns:minmax(0,1fr) 170px;gap:28px}
  .gallery-intro h1{font-size:clamp(2.8rem,5.7vw,4.8rem)}
  .product-grid{column-gap:24px}
  .product-info{flex-wrap:wrap;gap:5px}
  .product-info p{min-height:2.9em}
  .local-photo{height:500px}
  .local-story{margin:-60px 0 -42px}
  .future.section{gap:6%;border-top-right-radius:90px}
  .allies.section{padding-left:8%;padding-right:8%;gap:7%}
}

@media(max-width:650px){
  .header nav{gap:12px}
  .header .bag{padding:10px 14px}
  .gallery-intro.hero{padding:28px 6% 38px;gap:26px}
  .gallery-intro h1{font-size:clamp(2.6rem,10vw,4rem);line-height:1.12}
  .gallery-intro h1 em{margin-left:.15em}
  .intro-note{padding:0;gap:20px}
  .gallery-index{display:none}
  .gallery-link{max-width:none;white-space:nowrap;gap:12px}
  .intro-note p{font-size:.875rem}
  .catalog.section{padding-bottom:55px}
  .catalog .section-heading{padding-top:10px;margin-bottom:28px;gap:18px}
  .catalog h2{font-size:1.85rem;line-height:1.15}
  .catalog .section-heading>p{font-size:.75rem;flex:0 0 115px}
  .product-grid{gap:30px 18px}
  .product:nth-child(2){padding-top:28px}
  .product:nth-child(3){padding-top:0}
  .product-image-button{border-radius:22px 22px 48px 22px}
  .product:nth-child(2) .product-image-button{border-radius:46% 46% 20px 20px / 26% 26% 20px 20px}
  .product:nth-child(3) .product-image-button{border-radius:22px 58px 22px 22px}
  .product-photo,.product:nth-child(2) .product-photo,.product:nth-child(3) .product-photo{aspect-ratio:3/4}
  .product-info{padding-top:16px}
  .product-info h3{font-size:1.125rem;line-height:1.4;letter-spacing:-.025em}
  .product-bottom{padding-bottom:0}
  .add-product{min-width:0;width:100%;min-height:44px;padding:0 15px}
  .catalog-note{margin-top:28px}
  .future.section{margin:12px 4% 0;padding:35px 7% 26px;gap:26px;border-radius:30px 70px 30px 30px}
  .future-copy{padding:0}
  .future h2{font-size:clamp(2.2rem,8.8vw,3.3rem)}
  .future-list span{flex-wrap:wrap;gap:4px 12px}
  .local-story{margin:0}
  .local-photo{height:370px;border-radius:45% 45% 20px 20px / 24% 24% 20px 20px}
  .local-caption{padding:14px 0 0}
  .allies.section{grid-template-columns:1fr;padding:60px 8% 36px;gap:18px}
  .allies h2{font-size:2.55rem}
  .allies>div:last-child{padding:0}
  footer{padding-top:20px}
  .footer-top{padding-top:28px}
  #cart-dialog{border-radius:24px 0 0 24px}
}
.galileo-archive{margin:0;padding:78px 5%;background:var(--paper);color:var(--ink)}
.galileo-archive>header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.galileo-archive h2{margin:0;font-size:clamp(2.3rem,4.5vw,5rem);font-weight:900;line-height:.9;text-transform:uppercase}
.galileo-archive .eyebrow{margin:0;color:var(--ink)}
.archive-rail{width:100%;overflow-x:auto;overflow-y:hidden;position:relative;isolation:isolate;cursor:grab;touch-action:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.archive-rail::-webkit-scrollbar{display:none}
.archive-rail.is-dragging{cursor:grabbing;user-select:none}
.archive-rail:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.archive-rail:before,.archive-rail:after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:min(8vw,110px);pointer-events:none}
.archive-rail:before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.archive-rail:after{right:0;background:linear-gradient(270deg,var(--paper),transparent)}
.archive-track{display:flex;width:max-content;will-change:scroll-position}
.archive-set{display:flex;gap:12px;padding-right:12px}
.archive-link{display:block;flex:0 0 clamp(280px,29vw,470px);color:inherit}
.archive-set figure{margin:0;position:relative;height:clamp(430px,56vw,690px);overflow:hidden;background:#222}
.archive-set .archive-link:nth-child(even){margin-top:54px}.archive-set .archive-link:nth-child(even) figure{height:clamp(380px,48vw,610px)}
.archive-set img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;-webkit-user-drag:none;filter:contrast(1.08);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease}
.archive-set figure:hover img{transform:scale(1.025);filter:contrast(1.04)}
.archive-set figcaption{position:absolute;left:0;bottom:0;padding:11px 14px;background:#111;color:#fff;box-shadow:inset 4px 0 0 var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.archive-rail{scroll-snap-type:x proximity}.archive-set figure{scroll-snap-align:start}.archive-set[aria-hidden="true"]{display:none}}
@media(max-width:650px){
  .galileo-archive{padding:48px 5%}.galileo-archive>header{display:block;margin-bottom:28px}.galileo-archive .eyebrow{margin-bottom:18px}
  .archive-set{gap:8px;padding-right:8px}.archive-link{flex-basis:76vw}.archive-set figure{height:440px}.archive-set .archive-link:nth-child(even){margin-top:36px}.archive-set .archive-link:nth-child(even) figure{height:390px}
}
@media(max-width:360px){
  .catalog .section-heading{display:block}
  .catalog .section-heading>p{text-align:left;max-width:none;margin-top:12px}
  .intro-note{align-items:flex-start;flex-wrap:wrap}
  .header nav{gap:8px;flex-wrap:wrap;justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.gallery-link>span,.add-product{transition:none!important}.add-product:not(:disabled):hover{transform:none}}

/* Category hall: the commercial map before the product collection. */
.shop-categories{padding:18px 5% 92px;scroll-margin-top:24px}
.category-card[hidden]{display:none!important}
.categories-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:8%;align-items:end;margin-bottom:34px}
.categories-heading .eyebrow{margin-bottom:18px}.categories-heading h2{margin:0;font-size:clamp(2.8rem,5.8vw,6.5rem);font-weight:900;line-height:.88;text-transform:uppercase}
.categories-heading>p{max-width:440px;margin:0 0 5px;color:var(--muted);line-height:1.7}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.category-card{position:relative;min-height:255px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#f2f2ef;border:1px solid transparent;color:var(--ink)}
.category-card--plants{min-height:520px;grid-row:span 2;background:#111;color:#fff}
.category-card--plants:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72));z-index:1}
.category-card--plants img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.08);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.category-card--plants:hover img{transform:scale(1.025)}
.category-card>*:not(img){position:relative;z-index:2}
.category-number{font-size:.72rem;letter-spacing:.14em}
.category-content{display:block;margin-top:auto}.category-content strong{display:block;font-family:'Manrope',Arial,sans-serif;font-size:clamp(2rem,4.5vw,5rem);font-weight:900;letter-spacing:-.055em;line-height:.88;text-transform:uppercase}
.category-status{display:inline-block;margin-top:16px;padding:7px 10px;background:var(--paper);color:var(--ink);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.category-types{display:block;margin-top:14px;max-width:470px;font-size:.8rem;line-height:1.6;letter-spacing:.03em}
.category-sample{display:flex;justify-content:space-between;gap:18px;margin-top:20px;padding-top:14px;border-top:1px solid currentColor;font-size:.75rem;line-height:1.45}
.category-sample b{font-weight:700}.category-sample>span{white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.category-card:not(.category-card--plants) .category-content strong{font-size:clamp(1.9rem,3.4vw,3.8rem)}
.category-card:not(.category-card--plants) .category-status{padding:0;background:transparent;color:var(--muted)}
.category-card--accent{background:var(--accent)}.category-card--accent .category-status{color:var(--ink)!important}
.categories-note{margin:18px 0 0;max-width:760px;color:var(--muted);font-size:.75rem;line-height:1.6}
@media(max-width:800px){.categories-heading{grid-template-columns:1fr;gap:18px}.category-card--plants{min-height:430px}.category-card{min-height:220px}}
@media(max-width:650px){.shop-categories{padding:8px 5% 55px}.categories-heading{margin-bottom:24px}.categories-heading h2{font-size:clamp(2.5rem,12vw,4rem)}.categories-heading>p{font-size:.875rem}.category-grid{grid-template-columns:1fr 1fr;gap:6px}.category-card{min-height:215px;padding:16px}.category-card--plants{grid-column:1/-1;grid-row:auto;min-height:390px}.category-card:not(.category-card--plants) .category-content strong{font-size:clamp(1.25rem,6vw,2rem);overflow-wrap:anywhere}.category-types{font-size:.7rem}.category-status{font-size:.6rem;line-height:1.45}.category-sample{display:block;margin-top:14px;padding-top:10px;font-size:.65rem}.category-sample>span{display:block;margin-top:4px;white-space:normal}.categories-note{margin-top:14px}}

/* Identidad Galileo 2026: editorial urbana, directa y con el naranja como firma. */
:root{--accent:#ff6200;--paper:#fff;--ink:#111;--forest:var(--ink);--acid:#f5f1e8;--soft:#f5f1e8;--silver:#b7b7b7;--line:#d7d7d7;--muted:#5f5f5f}
.demo-bar{background:var(--ink);color:#fff;border:0}
.header{border-bottom:1px solid var(--line)}
.header .bag{border-color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.header .bag span{background:var(--accent);color:#111}
.minimal-intro .eyebrow{color:var(--ink);letter-spacing:.2em}
.minimal-intro h1{font-weight:900}
.street-word{box-shadow:inset 0 -.16em var(--accent)}
.brand-promise{max-width:440px;margin:24px 0 0;font-size:1rem;line-height:1.55;color:var(--muted)}
.brand-strip{margin:0 5% 58px;padding:19px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,max-content) 1fr;align-items:center;gap:clamp(18px,3vw,48px);font-size:.75rem;font-weight:700;letter-spacing:.16em}
.brand-strip strong{justify-self:end;font-size:clamp(1.2rem,2.2vw,2rem);line-height:.9;letter-spacing:-.06em;text-align:right}
.catalog h2,.future .eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.catalog .product{background:#111}
.catalog .add-product{background:var(--accent);border-color:var(--accent);color:#111;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.catalog .add-product:not(:disabled):hover{background:#fff;border-color:#fff;color:#111}
.future.section{background:var(--soft);margin:0;padding:72px 5%;border:0}
.future .local-photo{border-radius:0;filter:contrast(1.04)}
.allies.section{border-top:3px solid var(--ink)}
.footer-logo-art{background:var(--ink)}
.mascot-portrait img{filter:grayscale(1) contrast(1.18) brightness(1.08)}
@media(max-width:650px){
  .brand-promise{font-size:.9375rem;margin-top:18px}
  .brand-strip{margin:0 5% 38px;grid-template-columns:1fr 1fr;gap:12px 20px;letter-spacing:.1em}
  .brand-strip strong{grid-column:1/-1;justify-self:start;text-align:left;margin-top:10px}
  .future.section{padding:46px 5%}
}

/* Image-first collection: details belong in the product sheet, not every card. */
.catalog .section-heading{margin-bottom:26px}
.catalog .section-heading h2{margin:0}
.catalog .product-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:16px 0 0}
.catalog .product-info h3{margin:0;flex:1 1 150px;line-height:1.4}
.product-name{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;line-height:inherit}
.product-name:hover{text-decoration:underline;text-underline-offset:4px}
.catalog .product-bottom{padding:10px 0 0;min-height:54px}
.catalog .add-product{margin-left:auto}
.stock-status{line-height:1.5}
@media(max-width:650px){
  .catalog .section-heading{margin-bottom:24px}
  .catalog .product-info{display:block;padding-top:14px}
  .catalog .product-info h3{font-size:1rem;margin:0 0 5px}
  .catalog .price{font-size:.9375rem}
  .catalog .product-bottom{padding-top:10px;min-height:54px}
}

/* One automatic wordmark introduction on page entry. */
.brand-reveal.is-introducing{z-index:40}
.brand-reveal.is-introducing summary{pointer-events:none}

/* Editorial shop sheet: graphic, direct and native to Galileo. */
#cart-dialog{width:min(560px,100vw);max-width:none;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border-radius:0;background:#fff;color:var(--ink);box-shadow:-24px 0 80px #00000024;overflow:auto}
#cart-dialog .close-dialog{position:fixed;top:22px;right:22px;z-index:3;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);font:400 1.65rem/1 Arial,sans-serif;transition:background .18s ease,color .18s ease}
#cart-dialog .close-dialog:hover{background:var(--ink);color:#fff}
.cart-shell{min-height:100%;display:flex;flex-direction:column;padding:42px 38px 34px}
.cart-header{padding:45px 62px 30px 0;border-bottom:3px solid var(--ink)}
.cart-kicker{margin:0 0 20px;font-size:.75rem;font-weight:700;letter-spacing:.14em}
#cart-dialog .cart-header h2{margin:0;font-family:'Manrope',Arial,sans-serif;font-size:clamp(2.8rem,6vw,4.8rem);font-weight:800;line-height:.92;letter-spacing:-.065em;text-transform:uppercase}
.cart-header>p:last-child{margin:18px 0 0;color:var(--muted);font-size:.9rem}
.cart-lines{margin:0}
.cart-line{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--ink)}
.cart-line>img{width:88px;height:110px;object-fit:cover;border-radius:0;filter:saturate(.9)}
.cart-name h3{margin:0 0 7px;font-family:'Manrope',Arial,sans-serif;font-size:1.15rem;font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:-.03em}
.cart-name>span{font-size:.78rem;color:var(--muted)}
.cart-line>strong{align-self:start;padding-top:2px;font-size:.95rem}
.quantity{width:max-content;display:grid;grid-template-columns:32px 28px 32px;align-items:center;gap:0;margin-top:15px;border:1px solid var(--line)}
.quantity button{width:32px;height:32px;border:0;background:#fff;color:var(--ink);font-size:1.05rem}
.quantity button:not(:disabled):hover{background:var(--accent)}
.quantity output{text-align:center;font-size:.8rem;font-weight:700}
.cart-summary{margin-top:auto;padding-top:28px}
.cart-total{padding:0 0 22px;display:flex;justify-content:space-between;align-items:end;gap:18px;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.cart-total strong{font-family:'Manrope',Arial,sans-serif;font-size:2.1rem;line-height:1;letter-spacing:-.04em}
.cart-disclaimer{margin:0;padding:15px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;line-height:1.55}
#cart-dialog .check{margin:10px 0 18px;font-size:.82rem}
#cart-dialog .check input{accent-color:var(--accent)}
#cart-dialog .cart-primary{width:100%;min-height:58px;justify-content:space-between;padding:15px 20px;border-radius:0;background:var(--accent);border-color:var(--accent);color:var(--ink);text-transform:uppercase;letter-spacing:.05em}
#cart-dialog .cart-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff;filter:none}
.cart-limit{font-size:.78rem;color:var(--muted)}
.cart-empty{justify-content:flex-start}
.cart-empty .cart-header{margin-bottom:30px}
.cart-empty>p{max-width:330px;color:var(--muted);line-height:1.7}
.cart-empty-mark{margin:auto 0;font-family:'Manrope',Arial,sans-serif;font-size:min(48vw,15rem);font-weight:900;line-height:.75;letter-spacing:-.12em;color:var(--soft);user-select:none}
.cart-empty .cart-primary{margin-top:auto}
@media(max-width:650px){
  #cart-dialog{width:100%;border-radius:0}
  #cart-dialog .close-dialog{top:16px;right:16px;width:42px;height:42px}
  .cart-shell{padding:26px 20px 24px}
  .cart-header{padding:48px 48px 22px 0}
  #cart-dialog .cart-header h2{font-size:2.65rem}
  .cart-line{grid-template-columns:72px minmax(0,1fr) auto;gap:12px;padding:18px 0}
  .cart-line>img{width:72px;height:92px}
  .cart-name h3{font-size:.95rem}
  .cart-line>strong{font-size:.82rem}
  .cart-total strong{font-size:1.75rem}
}

/* Latest direction: a restrained urban gallery, black identity and small orange accents.
   Legacy forest/acid tokens remain aliases so dialogs and management also stay neutral. */
:root{--accent:#e97542;--paper:#fff;--ink:#202020;--forest:var(--ink);--acid:#f3f3f3;--soft:#f3f3f3;--line:#dedede;--muted:#646464}
.demo-bar{background:var(--soft);color:var(--ink);border-color:var(--line)}
.header{background:var(--paper)}
.header .bag span{background:var(--accent);color:var(--ink)}
.header nav a:hover{text-decoration-color:var(--accent)}
.gallery-intro.minimal-intro{grid-template-columns:minmax(0,1fr) auto;margin:0;padding:32px 5% 44px;gap:24px;align-items:end}
.minimal-intro .eyebrow{margin-bottom:18px;font-size:.75rem;letter-spacing:.08em;font-weight:500;color:var(--muted)}
.minimal-intro h1{font-family:'Manrope',Arial,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(2.6rem,5.5vw,5.8rem);line-height:1.08;letter-spacing:-.045em;word-spacing:.035em}
.street-word{box-shadow:inset 0 -.13em var(--accent)}
.minimal-intro .gallery-link{padding:12px 0;border-color:var(--accent);min-height:44px;white-space:nowrap;gap:30px}
.catalog.section{padding:0 5% 72px}
.catalog .section-heading{padding:0;margin-bottom:24px}
.catalog h2{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;font-weight:500;letter-spacing:0;line-height:1.5}
.catalog .product-grid{gap:8px}
.catalog .product{padding-top:0;position:relative;isolation:isolate;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.catalog .product:nth-child(n) .product-image-button{height:100%;border-radius:0;background:var(--soft)}
.catalog .product:nth-child(n) .product-photo{aspect-ratio:auto;height:100%;object-fit:cover}
.poster-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 18px;background:linear-gradient(0deg,#161616f2,#161616c9 70%,#16161600);color:#fff;pointer-events:none}
.poster-caption button{pointer-events:auto}
.poster-caption button:focus-visible{outline-color:#fff;outline-offset:3px}
.catalog .product-info{padding:0;display:block}
.catalog .product-info h3{font-family:'Manrope',Arial,sans-serif;font-size:clamp(1.5rem,2.8vw,3rem);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:1.1;margin:0}
.catalog .product-name{text-transform:inherit;letter-spacing:inherit}
.catalog .product-bottom{min-height:44px;padding:12px 0 0;display:flex;flex-direction:row;align-items:center;color:inherit;gap:8px}
.catalog .price{color:#fff;font-size:1rem;letter-spacing:0}
.catalog .product:not(:has(.product-image-button)){border-top:1px solid var(--line)}
.product-detail:not(:has(>img)){display:block}
.stock-row:not(:has(>img)) label{margin-left:0}
.catalog .add-product{background:var(--accent);border-color:var(--accent);color:var(--ink);min-height:44px;border-radius:5px}
.catalog .add-product:not(:disabled):hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:none}
.catalog-note{margin-top:28px}
.future.section{margin:0 5%;padding:64px 0;gap:10%;background:var(--paper);color:var(--ink);border-radius:0;border-top:1px solid var(--line)}
.future h2{font-size:clamp(2.2rem,3.4vw,3.5rem);font-weight:600}
.future h2 em{font:inherit;letter-spacing:inherit}
.future-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:400px}
.future .eyebrow{color:var(--muted);font-weight:500;letter-spacing:.08em;margin-bottom:24px}
.future .local-story{margin:0}
.future .local-photo{height:460px;border-radius:6px;max-height:none}
.future .local-caption{padding:12px 0 0;color:var(--muted);background:transparent}
.allies.section{margin:0 5%;padding:56px 0;gap:10%;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line)}
.allies h2{font-size:clamp(1.7rem,2.4vw,2.4rem);line-height:1.25}
.allies>div:last-child{padding:0}
.allies p:last-child{margin:0;font-size:.875rem}
footer{margin:0 5%;padding:30px 0 24px;background:var(--paper);border-top:1px solid var(--line);color:var(--ink)}
.footer-top{padding:0;border:0}
.footer-top>div>span{color:var(--muted)}
.footer-wordmark{margin-top:36px;padding:0}
.footer-logo-art{width:min(100%,600px);background:var(--ink);color:var(--ink)}
.footer-signature span{background:transparent;color:var(--ink)}
dialog::backdrop{background:#0008}
#cart-dialog{box-shadow:-10px 0 70px #0002}
.button.light:hover{background:#e9e9e9}
.mascot-welcome,.mascot-portrait{width:64px;height:150px}
.mascot-portrait img{width:176px;left:-55px;top:-25px;filter:grayscale(1) contrast(1.12) brightness(1.12)}
.photo-credits{margin-top:18px;color:var(--muted);font-size:.875rem;line-height:1.6}
.photo-credits summary{cursor:pointer;width:fit-content;padding:7px 0}
.photo-credits summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.photo-credits a{text-decoration:underline;text-underline-offset:3px}
.photo-credits p{margin:12px 0}
.photo-credits ul{padding-left:20px;columns:2;column-gap:24px}
@media(max-width:650px){
  .gallery-intro.minimal-intro{grid-template-columns:1fr;padding:28px 5% 36px;gap:20px}
  .minimal-intro h1{font-size:clamp(2rem,7.6vw,3.1rem)}
  .minimal-intro .gallery-link{max-width:none}
  .catalog.section{padding-bottom:44px}
  .catalog .product-grid{gap:6px}
  .catalog .product{aspect-ratio:3/4}
  .catalog .product-info h3{font-size:clamp(1rem,4.2vw,1.5rem);overflow-wrap:anywhere}
  .poster-caption{padding:26px 10px 12px}
  .catalog .product-bottom{flex-wrap:wrap;gap:6px;padding-top:10px}
  .catalog .add-product{width:auto;min-width:0;padding:0 10px;gap:8px}
  .catalog .price{font-size:.875rem}
  .future.section{padding:40px 0;gap:24px}
  .future .local-photo{height:350px}
  .allies.section{grid-template-columns:1fr;padding:40px 0;gap:20px}
  .footer-top{display:flex;flex-wrap:wrap;gap:24px}
  .footer-top>div{flex-wrap:wrap;gap:16px}
  .mascot-welcome,.mascot-portrait{width:62px;height:142px}
  .mascot-portrait img{width:165px;left:-50px;top:-23px}
  .photo-credits ul{columns:1}
}

/* Cierre de identidad: estas reglas deben prevalecer sobre variantes históricas. */
.catalog .section-heading:after{content:'';display:block;width:70px;height:24px;margin:0 0 8px auto;background:url('/assets/onda-galileo.png') center/contain no-repeat}
.category-card--accent{position:relative;background:#f2f2ef}
.category-card--accent:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.category-card--accent:after{content:'';position:absolute;right:20px;top:20px;width:54px;height:18px;background:url('/assets/onda-galileo.png') center/contain no-repeat}
.category-card--accent .category-number,.category-card--accent .category-status{color:var(--accent)!important}
.catalog .add-product{background:#111;border-color:#111;color:#fff;border-radius:0;box-shadow:inset 0 -3px 0 var(--accent)}
.catalog .add-product:hover{background:#fff;color:#111;border-color:#111}
.archive-set figcaption{background:#111;color:#fff;box-shadow:inset 4px 0 0 var(--accent)}
#cart-dialog .cart-primary{background:#111;border-color:#111;color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}
#cart-dialog .cart-primary:hover{background:#fff;color:#111}
@media(max-width:650px){.catalog .section-heading:after{width:54px;height:18px;margin:10px 0 0}.category-card--accent:after{width:42px;height:14px;right:14px;top:14px}}

/* Fichas de colección sin sombra sobre la fotografía. */
.catalog .product{aspect-ratio:auto;overflow:visible;background:#fff}
.catalog .product:nth-child(n) .product-image-button{display:block;height:auto;aspect-ratio:4/5;overflow:hidden;background:var(--soft)}
.catalog .product:nth-child(n) .product-photo{width:100%;height:100%;object-fit:cover}
.poster-caption{position:static;padding:18px 2px 26px;background:transparent;color:var(--ink);pointer-events:auto}
.catalog .product-info h3{font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:650;line-height:1.22;letter-spacing:-.035em}
.catalog .product-bottom{min-height:48px;padding:10px 0 0;border-bottom:1px solid var(--line);color:var(--ink)}
.catalog .price{color:var(--ink);font-size:.95rem;font-weight:650}
.catalog .add-product{min-width:0;min-height:40px;padding:0 0 0 15px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-size:.78rem;letter-spacing:.05em}
.catalog .add-product:after{content:'';width:26px;height:9px;margin-left:11px;background:url('/assets/onda-galileo.png') center/contain no-repeat}
.catalog .add-product:not(:disabled):hover{background:transparent;border-color:var(--accent);color:var(--ink);transform:none}
.catalog .add-product:disabled{opacity:.42}
@media(max-width:650px){
  .catalog .product{aspect-ratio:auto}
  .catalog .product:nth-child(n) .product-image-button{height:auto;aspect-ratio:3/4}
  .poster-caption{padding:13px 0 20px}
  .catalog .product-bottom{flex-wrap:nowrap}
  .catalog .add-product{width:auto;padding-left:10px}
  .catalog .add-product:after{width:20px;margin-left:7px}
}

/* Acceso público directo y reconocible a las categorías. */
.categories-nav-link,.categories-hero-link{display:inline-flex!important;align-items:center;gap:9px}
.categories-nav-link{font-weight:800}
.categories-grid-icon{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:3px;flex:none}
.categories-grid-icon i{display:block;width:5px;height:5px;background:currentColor}
.categories-nav-link:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--accent);transform:scaleX(.3);transform-origin:left;transition:transform .25s ease}
.categories-nav-link:hover:after,.categories-nav-link:focus-visible:after{transform:scaleX(1)}
.categories-hero-link{justify-content:space-between;min-width:172px}
@media(max-width:650px){.categories-nav-link{order:-1}.categories-nav-link .categories-grid-icon{grid-template-columns:repeat(2,4px);grid-template-rows:repeat(2,4px);gap:2px}.categories-nav-link .categories-grid-icon i{width:4px;height:4px}.categories-hero-link{min-width:160px}}

/* Desktop editorial rhythm: each commercial story gets its own field of white space. */
@media(min-width:901px){
  .gallery-intro.minimal-intro{padding-top:72px;padding-bottom:112px}
  .shop-categories{padding-top:96px;padding-bottom:168px}
  .categories-heading{margin-bottom:58px}
  .categories-note{margin-top:34px}
  .catalog.section{padding-top:86px;padding-bottom:172px}
  .catalog .section-heading{margin-bottom:52px}
  .catalog-note{margin-top:44px}
  .galileo-archive{padding-top:150px;padding-bottom:156px}
  .galileo-archive>header{margin-bottom:64px}
  .future.section{margin-top:96px;margin-bottom:32px;padding-top:100px;padding-bottom:100px}
  .allies.section{margin-top:62px;padding-top:96px;padding-bottom:104px}
}
.gallery-admin-list{margin-top:30px;border-top:1px solid var(--ink)}
.gallery-admin-row{display:grid;grid-template-columns:76px minmax(220px,1fr) auto auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.gallery-admin-row img{width:76px;height:96px;object-fit:cover;background:var(--soft)}.gallery-admin-row p{margin:0 0 5px;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.gallery-admin-row h3{margin:0 0 5px;font-size:1.05rem;text-transform:uppercase}.gallery-admin-row span{color:var(--muted);font-size:.78rem}.gallery-admin-row>a{font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-transform:uppercase}.gallery-admin-state{max-width:175px;padding:7px 9px;border-left:3px solid var(--accent);background:var(--soft);font-size:.68rem;line-height:1.4;text-transform:uppercase}.gallery-admin-state.is-blocked{border-left-color:#b42318}
@media(max-width:700px){.gallery-admin-row{grid-template-columns:64px 1fr;gap:12px}.gallery-admin-row img{width:64px;height:82px}.gallery-admin-state,.gallery-admin-row>a{grid-column:2}}

/* Jerarquía editorial: categorías orientan, colección presenta y archivo inspira. */
@media(min-width:901px){
  .shop-categories{margin:0 3%;padding:92px 2% 138px;border-top:1px solid var(--ink)}
  .categories-heading{max-width:1180px;margin-bottom:50px}
  .category-grid{gap:10px}
  .category-card:not(.category-card--plants){min-height:clamp(170px,16vw,240px)}
  .category-card:not(.category-card--plants) .category-content{justify-content:flex-end}
  .category-card:not(.category-card--plants) .category-content strong{font-size:clamp(1.65rem,2.8vw,3.4rem)}
  .categories-note{max-width:720px;margin-top:28px;color:var(--muted);font-size:.76rem;line-height:1.65}

  .catalog.section{width:min(960px,80%);margin:0 auto;padding:128px 0 158px;border-top:1px solid var(--line)}
  .catalog .section-heading{margin-bottom:36px;align-items:center}
  .catalog .section-heading:after{width:52px;height:17px;margin-bottom:0}
  .catalog h2{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .catalog .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:68px 34px}
  .catalog .product:nth-child(n) .product-image-button{aspect-ratio:4/5}
  .poster-caption{padding:15px 0 21px}
  .catalog .product-info h3{font-size:1.08rem;font-weight:650}
  .catalog .product-bottom{min-height:44px;padding-top:8px}
  .catalog-note{max-width:660px;margin-top:34px;font-size:.76rem;line-height:1.65}

  .galileo-archive{margin:0;padding:108px 0 116px;background:#f1f0ec}
  .galileo-archive>header{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(460px,1fr);align-items:end;padding:0 5%;margin-bottom:46px}
  .galileo-archive>header h2{grid-column:2}
  .galileo-archive .eyebrow{align-self:start;padding-top:7px;color:var(--muted);font-size:.7rem;letter-spacing:.13em}
  .galileo-archive h2{font-size:clamp(3rem,5vw,5.8rem);line-height:.88;letter-spacing:-.055em}
  .archive-rail:before{background:linear-gradient(90deg,#f1f0ec,transparent)}
  .archive-rail:after{background:linear-gradient(270deg,#f1f0ec,transparent)}
  .archive-set{gap:20px;padding-right:20px}
  .archive-link{flex-basis:clamp(310px,28vw,440px)}
  .archive-set figure,.archive-set .archive-link:nth-child(even) figure{height:clamp(360px,39vw,540px)}
  .archive-set .archive-link:nth-child(even){margin-top:38px}
  .archive-set figcaption{padding:9px 12px;background:rgba(255,255,255,.9);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-size:.65rem;letter-spacing:.12em}
}
