.gallery-thumb.hero-thumb{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:220px} .gallery-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:50px 0 22px} .gallery-title h2{margin:8px 0 0} .memory-extra{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px} .extra-card{border:1px solid var(--line);padding:22px;background:rgba(255,253,248,.45)} .extra-card h3{margin-bottom:12px} .route-art{height:210px;background:#e2e7dc;position:relative;overflow:hidden} .route-art:before{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 45% 55%,transparent 0 15px,#a5b29f 16px 17px,transparent 18px 29px)} .route-line{position:absolute;left:12%;top:60%;width:72%;height:2px;background:#b46e4e;transform:rotate(-22deg)} .route-line:before,.route-line:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--olive);top:-4px} .route-line:after{right:0;background:#b46e4e} .lightbox{position:fixed;inset:0;background:rgba(18,23,19,.96);z-index:80;display:flex;align-items:center;justify-content:center;padding:50px} .lightbox img{max-width:min(90vw,1200px);max-height:84vh;object-fit:contain} .lb-close,.lb-prev,.lb-next{position:absolute;background:transparent;border:0;color:#fff;font-size:40px;padding:12px} .lb-close{top:12px;right:20px} .lb-prev{left:12px} .lb-next{right:12px} .lb-count{position:absolute;top:23px;left:25px;color:#fff;font-size:11px;letter-spacing:.14em} .footer{border-top:1px solid var(--line);padding:34px 0 40px;display:flex;justify-content:space-between;align-items:end;gap:25px;margin-top:70px} .footer .tagline{font-size:9px;letter-spacing:.18em;color:var(--muted);margin:8px 0 0 50px} .footer-note{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;text-align:right;max-width:400px} .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:12px 18px;z-index:90;font-size:12px;box-shadow:var(--shadow)} .admin-lock{max-width:500px;margin:70px auto} .admin-lock input{margin-bottom:12px} .empty-state{padding:35px;text-align:center;border:1px dashed var(--line);color:var(--muted)} @media(max-width:900px){.nav{gap:14px} .home-hero{grid-template-columns:1fr 1fr;gap:25px} .hero-product{min-height:440px} .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .builder,.detail-layout{grid-template-columns:1fr 1fr;gap:20px} .builder-preview{top:90px} .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))} .memory-story{gap:30px} } @media(max-width:680px){.wrap{width:calc(100% - 30px)} .topbar{padding:12px 15px;min-height:68px;gap:10px} .brand-mark{width:32px;height:32px} .brand-name{font-size:15px;letter-spacing:.17em} .menu-toggle{display:block;order:3} .top-actions{gap:10px;margin-left:auto} .cart-link .cart-word{display:none} .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:18px 22px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px} .nav.open{display:flex} .home-hero{padding:35px 0 44px;grid-template-columns:1fr;gap:28px} .home-copy h1{font-size:clamp(46px,13vw,68px)} .hero-product{min-height:390px;padding:20px} .hero-photo-frame{inset:28px 25px} .hero-caption{left:14px;bottom:14px} .section{padding:58px 0} .pillars{grid-template-columns:1fr} .pillar{padding:20px;border-right:0;border-bottom:1px solid var(--line)} .pillar:last-child{border-bottom:0} .section-head{align-items:flex-start;flex-direction:column} .product-grid{grid-template-columns:1fr 1fr;gap:12px} .product-info{padding:14px} .product-info h3{font-size:21px} .product-info p{font-size:12px;min-height:60px} .product-bottom{align-items:flex-start;flex-direction:column} .story-banner{grid-template-columns:1fr;padding:28px 22px;gap:18px} .page-heading{padding:42px 0 26px} .builder,.detail-layout,.checkout-layout{grid-template-columns:1fr} .builder-preview{position:static;order:-1} .choice-grid{gap:6px} .choice{padding:9px 6px} .choice strong{font-size:17px} .preview-map{min-height:270px} .memory-hero img{height:66vw;min-height:250px} .memory-meta{grid-template-columns:1fr;align-items:start} .memory-story{grid-template-columns:1fr;gap:12px;padding:28px 0} .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px} .gallery-thumb.hero-thumb{grid-column:span 2;grid-row:span 2;min-height:160px} .gallery-title{align-items:flex-start;flex-direction:column;margin-top:38px} .memory-extra{grid-template-columns:1fr} .lightbox{padding:20px} .lb-prev{left:0} .lb-next{right:0} .footer{align-items:flex-start;flex-direction:column;margin-top:50px} .footer-note{text-align:left} .footer .tagline{margin-left:43px} .detail-photo{min-height:280px} .detail-photo img{min-height:260px} } @media(max-width:390px){.product-grid{grid-template-columns:1fr} .product-image{aspect-ratio:1.15} .top-actions{gap:6px} .lang-switch{padding:6px 7px} .brand-name{font-size:14px} } .contact-link{font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0} .request-modal{position:fixed;inset:0;z-index:80;background:#171713b8;display:grid;place-items:center;padding:20px} .request-modal.hidden{display:none!important} .request-modal-card{width:min(480px,100%);background:var(--paper);padding:32px;position:relative;display:flex;flex-direction:column;gap:12px} .request-modal-card h2{font-size:36px;margin:8px 0} .request-modal-card p{color:var(--muted)} .request-modal-close{position:absolute;top:10px;right:14px;border:0;background:none;font-size:30px;color:var(--ink)} .request-modal-card .button{width:100%} /* MOMENTS — editorial memory gallery */ .header-slogan{font-size:9px;letter-spacing:.16em;color:var(--muted);white-space:nowrap;margin-left:-8px} .memory-page{padding-top:20px;padding-bottom:34px;max-width:1040px} .memory-hero{max-width:100%;margin:18px auto 0;padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 48px rgba(40,42,32,.08);cursor:default} .memory-hero img{width:100%;height:clamp(280px,58vw,650px);object-fit:cover;transition:opacity .18s ease} .memory-meta{padding:30px 0 26px;grid-template-columns:1fr auto;align-items:end}