:root { --brand-forest:#0b3023; --brand-cream:#f3ecdc; --brand-paper:#faf5e9; --brand-line:#d9cfb9; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
body { background:var(--brand-cream); }
.navbar { border-bottom:1px solid #315143 !important; }
.navbar .nav-title { font-size:1.1rem; letter-spacing:-.03em; }
.navbar .nav-sub { font-size:.75rem; opacity:.8; }
.navbar .hero-logo { margin:0 !important; }
.brand-home { background:var(--brand-cream) !important; border:0 !important;box-shadow:none !important;text-align:left; }
#home-hero.brand-home { padding:0 !important; }
.editorial-hero { display:grid;grid-template-columns:1.05fr 1fr;align-items:center;max-width:1200px;margin:auto;gap:64px;padding:72px 32px 68px; }
#home-hero > .editorial-hero:first-child { margin-bottom:0 !important;gap:64px !important; }
.eyebrow { font-size:.75rem !important;letter-spacing:.15em;font-weight:700;line-height:1.6;text-transform:uppercase;margin:0 0 20px; }
#home-hero h1 { font-size:clamp(3rem,5.8vw,5.25rem) !important;line-height:1.01 !important;letter-spacing:-.055em !important;font-weight:700;margin:0 0 26px; }
#home-hero h1 em { font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em; }
.hero-intro { font-size:1.1rem;line-height:1.75;max-width:40ch !important;color:var(--text-dim);margin:0 0 30px; }
.hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:22px; }
.brand-button { display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:15px 24px;background:var(--brand-forest);color:var(--brand-paper);font-family:inherit;font-size:1rem;font-weight:600;line-height:1.3;border:1px solid var(--brand-forest);border-radius:8px;cursor:pointer;text-decoration:none; }
.brand-button:hover { background:#164a36;color:var(--brand-paper); }
.text-link { display:inline-block;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:4px 0;color:var(--brand-forest);font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;line-height:1.5;cursor:pointer; }
.text-link:hover { color:#286047; }
.hero-note { display:flex;gap:12px;align-items:center;margin-top:30px;font-size:.85rem;color:var(--text-dim); }
.note-line { display:block;height:1px;width:34px;background:var(--brand-forest); }
.hero-showcase { position:relative;padding:0 24px 36px 0;min-width:0; }
.showcase-arch { position:relative;aspect-ratio:4/4.6;background:#e4d8bf;border-radius:180px 180px 12px 12px;overflow:hidden; }
#home-hero .showcase-arch img { width:100%;height:100%;max-width:none;object-fit:cover;border:0 !important;border-radius:0 !important;display:block; }
.showcase-caption { position:absolute;bottom:0;left:0;right:0;background:var(--brand-forest);color:var(--brand-paper);padding:16px 24px;font-size:.85rem;text-align:center; }
.floating-piece { position:absolute;width:37%;bottom:0;right:-12px;transform:rotate(5deg);padding:10px 10px 12px;background:var(--brand-paper);box-shadow:0 12px 30px rgba(11,48,35,.12);border:1px solid var(--brand-line); }
#home-hero .floating-piece img { width:100%;aspect-ratio:1;object-fit:cover;border-radius:0 !important;border:0 !important;display:block; }
.floating-piece span { display:block;font-size:.7rem;line-height:1.4;padding-top:8px;text-align:center; }
.edition-mark { position:absolute;top:20px;right:-8px;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--brand-forest);color:var(--brand-paper);width:102px;height:102px;border-radius:50%;font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1.6;transform:rotate(10deg); }
.brand-ribbon { display:flex;justify-content:center;gap:0;border-block:1px solid var(--brand-line);padding:20px 24px; }
.brand-ribbon span { padding:0 38px;font-size:.85rem;color:var(--text-dim); }
.brand-ribbon span+span { border-left:1px solid var(--brand-line); }
.home-selection,.category-section { max-width:1200px;margin:auto;padding:76px 32px; }
.section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px; }
.section-heading .eyebrow { margin-bottom:10px; }
.brand-home h2,.brand-catalog h1 { font-size:clamp(1.8rem,3vw,2.7rem);font-weight:600;line-height:1.15;letter-spacing:-.04em;margin:0; }
.home-product-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px; }
.selection-card { min-width:0;display:flex;flex-direction:column; }
.selection-image { width:100%;padding:0;aspect-ratio:1;display:block;overflow:hidden;background:#e9dfcc;border:1px solid var(--brand-line);border-radius:10px;cursor:pointer; }
#home-hero .selection-image img { width:100%;height:100%;object-fit:cover;border-radius:0 !important;border:0 !important;display:block;transition:transform .3s; }
.selection-image:hover img { transform:scale(1.03); }
.product-category { display:block;text-transform:uppercase;letter-spacing:.07em;font-weight:500;font-size:.7rem;color:var(--text-dim);margin:18px 0 8px; }
.selection-card h3 { font-size:1rem;font-weight:600;line-height:1.4; }
.selection-price { font-size:1rem;margin-top:10px;font-weight:600; }
.selection-link { padding:10px 0;background:transparent;border:0;text-align:left;font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--brand-forest);cursor:pointer; }
.category-section { padding-top:0; }
.category-section h2 { margin-bottom:28px; }
.category-tiles { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.category-tiles button { text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;background:var(--brand-paper);border:1px solid var(--brand-line);border-radius:12px;font:inherit;color:var(--brand-forest);cursor:pointer; }
.category-tiles button:hover { border-color:var(--brand-forest); }
.tile-number { font-family:Georgia,serif;font-size:1.3rem;font-style:italic;color:#62705d; }
.category-tiles strong { font-size:1.3rem;font-weight:600;letter-spacing:-.025em; }
.category-tiles button>span:last-child { font-size:.9rem;line-height:1.5;color:var(--text-dim); }
.order-story { background:var(--brand-forest);color:var(--brand-paper);padding:64px max(32px,calc((100vw - 1136px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px; }
.order-story h2 { max-width:10ch;font-size:2.8rem; }
.order-story>div>p:last-child { margin-top:22px;line-height:1.75;max-width:36ch;color:#dedfce; }
.order-steps { list-style:none;display:flex;flex-direction:column;gap:28px; }
.order-steps li { display:flex;gap:22px; }
.order-steps li>span { font-size:1.4rem;font-family:Georgia,serif;font-style:italic;color:#c6d1b7;line-height:1.5; }
.order-steps h3 { font-size:1.15rem;font-weight:600;margin-bottom:6px; }
.order-steps p { font-size:.95rem;line-height:1.6;color:#dedfce; }
.family-story { text-align:center;max-width:660px;padding:80px 24px;margin:auto; }
.family-story h2 { margin-bottom:22px; }
#home-hero .family-story p { max-width:none; }
.family-story>p:not(.eyebrow) { font-size:1rem;line-height:1.75;color:var(--text-dim);margin-bottom:24px; }
#home-contact { margin-top:0 !important;background:#eee5d2;border:0 !important; }
#home-contact>div { padding:48px 24px !important; }
.brand-catalog { max-width:1200px;margin:auto;padding:40px 32px 64px !important; }
#catalog-section.brand-catalog { padding:32px !important; }
.catalog-back { margin-bottom:32px; }
.catalog-intro { margin-top:16px;font-size:1rem;color:var(--text-dim); }
.catalog-count { color:var(--text-dim);font-size:.9rem;white-space:nowrap; }
.catalog-tools { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 32px; }
.category-tabs { display:flex;flex-wrap:wrap;gap:8px; }
.category-tabs button { font:inherit;font-size:.875rem;padding:12px 16px;border-radius:30px;border:1px solid var(--brand-line);background:transparent;color:var(--brand-forest);cursor:pointer;min-height:44px; }
.category-tabs button[aria-pressed="true"] { background:var(--brand-forest);border-color:var(--brand-forest);color:var(--brand-paper); }
.category-tabs button:hover:not([aria-pressed="true"]) { background:var(--brand-paper);border-color:var(--brand-forest); }
.catalog-search input { min-height:46px;max-width:100%;width:230px;padding:12px 16px;background:var(--brand-paper);border:1px solid var(--brand-line);border-radius:8px;color:var(--brand-forest);font:inherit;font-size:.95rem; }
.brand-catalog .product-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.p-body .product-category { margin:0 0 10px; }
.p-footer { display:flex;align-items:center;gap:12px;justify-content:space-between; }
.product-detail-link { flex:1;background:transparent;border:0;color:var(--brand-forest);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap; }
.p-footer .btn-add { width:auto;font-size:.85rem;padding:10px 14px; }
.p-img img { object-fit:contain;background:#e9dfcc; }
.p-img { aspect-ratio:1;height:auto; }
.p-desc { -webkit-line-clamp:2; }
.empty-search { padding:50px 20px;text-align:center;font-size:1rem;line-height:1.6; }
.muted { color:var(--text-dim);line-height:1.6; }
.field-help { font-size:.8rem;color:var(--text-dim);line-height:1.55;margin-top:10px; }
.optional { text-transform:none;font-weight:400; }
.f-lbl { font-size:.85rem !important;letter-spacing:.03em; }
.color-cb-lbl { min-height:44px; }
.cb-txt { font-size:.85rem !important; }
.detail-open { overflow:hidden !important; }
.detail-overlay { position:fixed;inset:0;z-index:11000;background:rgba(11,48,35,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px; }
.detail-panel { display:grid;grid-template-columns:1fr 1fr;position:relative;width:100%;max-width:980px;max-height:90dvh;overflow:auto;background:var(--brand-paper);border-radius:16px; }
.detail-media { background:#e9dfcc;min-height:400px;display:flex;align-items:center;justify-content:center; }
.detail-media img { width:100%;max-height:75dvh;object-fit:contain; }
.detail-copy { padding:48px 36px 36px;align-self:center; }
.detail-copy h2 { font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:18px; }
.detail-copy .eyebrow { margin-bottom:16px; }
.detail-price { font-size:1.5rem;font-weight:600;margin-bottom:24px; }
.detail-description { font-size:1rem;line-height:1.65;color:var(--text-dim);margin-bottom:22px; }
.detail-help { font-size:.95rem;line-height:1.6;margin-bottom:24px; }
.detail-copy .brand-button { width:100%; }
.detail-close { position:absolute;top:14px;right:14px;z-index:1;width:42px;height:42px;background:var(--brand-paper);border:1px solid var(--brand-line);color:var(--brand-forest);border-radius:50%;font-size:1.6rem;cursor:pointer; }
@media(max-width:1000px) {
 .editorial-hero { gap:36px;padding:56px 28px; }
 #home-hero>.editorial-hero:first-child { gap:36px !important; }
 .hero-actions { gap:18px; }
 .catalog-tools { flex-wrap:wrap; }
 .catalog-search { width:100%; }
 .catalog-search input { width:100%; }
 .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px; }
 .brand-catalog .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .order-story { gap:40px; }
}
@media(max-width:650px) {
 .navbar { gap:10px; }
 .navbar>div:first-of-type { gap:10px !important; }
 .navbar .nav-elegant-btn { font-size:.85rem !important; }
 #home-hero>.editorial-hero:first-child { display:grid !important;grid-template-columns:minmax(0,1fr);gap:34px !important;margin:0 !important;padding:40px 22px 42px; }
 #home-hero>.editorial-hero:first-child>div { flex-basis:auto !important;min-width:0 !important; }
 #home-hero h1 { font-size:clamp(2.9rem,12vw,4rem) !important; }
 .eyebrow { font-size:.7rem !important;letter-spacing:.12em; }
 .hero-intro { font-size:1rem !important;line-height:1.7; }
 .hero-actions { flex-direction:column;align-items:flex-start;gap:18px; }
 .hero-actions .brand-button { width:100%; }
 .hero-showcase { margin:0 10px 0 0; }
 .showcase-arch { aspect-ratio:1; }
 .showcase-caption { font-size:.75rem;padding:12px; }
 .edition-mark { width:80px;height:80px;font-size:.55rem;right:-10px; }
 .floating-piece { width:35%;right:-18px; }
 .floating-piece span { font-size:.65rem; }
 .brand-ribbon { gap:8px;flex-wrap:wrap;padding:18px 20px; }
 .brand-ribbon span { font-size:.75rem;padding:0 8px; }
 .brand-ribbon span+span { border:0; }
 .home-selection,.category-section { padding:44px 20px; }
 .category-section { padding-top:0; }
 .section-heading { align-items:flex-start;flex-direction:column;gap:18px; }
 .brand-home h2,.brand-catalog h1 { font-size:2rem; }
 .home-product-grid { gap:24px 14px; }
 .selection-card h3 { font-size:.9rem; }
 .product-category { font-size:.65rem; }
 .selection-price { font-size:.95rem; }
 .selection-image { border-radius:8px; }
 .category-tiles { grid-template-columns:1fr;gap:12px; }
 .category-tiles button { padding:22px; }
 .order-story { grid-template-columns:1fr;padding:44px 24px;gap:36px; }
 .order-story h2 { max-width:none;font-size:2.2rem; }
 .order-steps { gap:26px; }
 .family-story { padding:50px 24px; }
 #catalog-section.brand-catalog { padding:26px 18px !important; }
 .catalog-back { margin-bottom:26px; }
 .catalog-tools { gap:18px;margin:24px 0; }
 .category-tabs button { padding:10px 13px;font-size:.8rem; }
 .brand-catalog .product-grid { grid-template-columns:minmax(0,1fr);gap:24px; }
 .detail-overlay { padding:12px; }
 .detail-panel { grid-template-columns:1fr;max-height:93dvh; }
 .detail-media { min-height:0; }
 .detail-media img { max-height:38dvh; }
 .detail-copy { padding:26px 22px; }
 .detail-copy h2 { font-size:1.6rem; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.selection-image img{transition:none}}

.floating-piece { bottom: 104px; }

.navbar .btn-back { color: #f3ecdc !important; border-color: #617969 !important; background: transparent !important; min-height: 44px; }
.delivery-option { background: var(--brand-paper) !important; }
.delivery-option:hover { background: #eee5d2 !important; }
.delivery-option.selected { border-color: var(--brand-forest) !important; background: #e6e6d7 !important; }

.delivery-option:has(input:checked) { border-color: var(--brand-forest) !important; background: #e6e6d7 !important; }
.delivery-option input { display: block; width: 18px; height: 18px; accent-color: var(--brand-forest); flex-shrink: 0; }
#about-modal p { text-align: left !important; font-size: 1rem !important; line-height: 1.7 !important; }

.product-specs { margin: 0 0 24px; border-top: 1px solid var(--brand-line); }
.product-spec-row { padding: 13px 0; border-bottom: 1px solid var(--brand-line); display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 16px; font-size: .9rem; line-height: 1.6; }
.product-spec-row dt { font-weight: 600; }
.product-spec-row dd { color: var(--text-dim); white-space: pre-line; overflow-wrap: anywhere; }
@media(max-width:650px) { .product-spec-row { grid-template-columns: 110px minmax(0,1fr); gap: 12px; } }

.detail-media { align-items: center; }
.detail-gallery { width: 100%; }
.detail-gallery .gallery-main { display: block; width: 100%; height: 450px; max-height: 55dvh; object-fit: contain; }
.gallery-count { text-align: center; font-size: .8rem; margin: 10px 0; color: var(--text-dim); }
.gallery-thumbs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 0 12px 18px; }
.gallery-thumb { width: 64px; height: 64px; border: 2px solid transparent; border-radius: 8px; padding: 3px; background: var(--brand-paper); cursor: pointer; }
.gallery-thumb[aria-pressed="true"] { border-color: var(--brand-forest); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
@media(max-width:650px){ .detail-gallery .gallery-main { height: 280px; max-height: 32dvh; } .gallery-thumb { width: 50px; height: 50px; } }
