/* Isolated 2026-10-30 decorative bulb pages. No global/header/footer selectors. */
.ool-db {
  --db-ink:#183c30; --db-muted:#4e5b53; --db-paper:#f5f1e9; --db-line:#cfcfc0;
  --db-accent:#84522e; background:var(--db-paper); color:var(--db-ink);
  margin-block:0!important; max-width:none!important; padding:0;
}
.ool-db.db-surface { --db-paper:#eef0e8; --db-accent:#386350; }
.ool-db *, .ool-db *::before, .ool-db *::after { box-sizing:border-box; }
.ool-db :where(.wp-block-group)>* { margin-block-start:0; }
.ool-db :where(h1,h2,h3,p,figure) { margin:0; }
.ool-db :where(h1,h2,h3) { font-family:'Platypi',Georgia,serif; font-weight:400; color:var(--db-ink); letter-spacing:-.035em; text-wrap:balance; }
.ool-db h1 { font-size:clamp(40px,4.4vw,66px); line-height:1.1; }
.ool-db h2 { font-size:clamp(29px,3vw,42px); line-height:1.18; }
.ool-db h3 { font-size:24px; line-height:1.3; }
.ool-db p { font-size:17px; line-height:1.75; color:var(--db-muted); }
.ool-db p+p { margin-top:14px; }
.ool-db a { color:inherit; text-underline-offset:5px; }
.ool-db a:focus-visible,.ool-db summary:focus-visible { outline:3px solid #9a5b20; outline-offset:5px; }
.ool-db img { display:block; max-width:100%; height:auto; }
.ool-db [id] { scroll-margin-top:36px; }
.ool-db .db-wrap { width:min(var(--wp--style--global--wide-size,1000px),calc(100% - 48px)); max-width:var(--wp--style--global--wide-size,1000px)!important; margin-inline:auto!important; }
.ool-db .db-hero { display:grid; grid-template-columns: .9fr 1.1fr; align-items:center; min-height:590px; padding-block:48px; gap:48px; }
.ool-db .db-hero>* { min-width:0; margin:0; }
.ool-db .db-hero-copy>p { margin-top:24px; max-width:42ch; font-size:18px; }
.ool-db .db-hero-image { position:relative; }
.ool-db .db-hero-image img { width:100%; aspect-ratio:1; object-fit:cover; object-position:right center; }
.ool-db .db-caption { margin-top:10px; font-size:12px; line-height:1.5; }
.ool-db .db-surface-hero { display:grid; grid-template-columns:1fr; gap:12px; align-items:start; padding:24px; background:#fffdfa; }
.ool-db .db-surface-hero figure:nth-child(2) { margin-top:-30px; width:65%; justify-self:end; }
.ool-db .db-surface-hero img { aspect-ratio:auto; object-fit:contain; width:100%; }
.ool-db .wp-block-buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.ool-db .wp-block-button__link { background:var(--db-ink); color:#fffdf4; border:1px solid var(--db-ink); border-radius:0; min-height:46px; display:inline-flex; align-items:center; justify-content:center; font-family:inherit; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:0; text-transform:none; padding:12px 20px; text-decoration:none; }
.ool-db .wp-block-button__link:hover { background:#2f5747; color:white; }
.ool-db .is-style-outline .wp-block-button__link { background:transparent; color:var(--db-ink); }
.ool-db .db-nav { padding-block:14px; border-block:1px solid var(--db-line); }
.ool-db .db-nav p { display:flex; gap:14px 36px; flex-wrap:wrap; font-size:14px; }
.ool-db .db-nav a { display:inline-flex; min-height:36px; align-items:center; text-decoration:none; }
.ool-db .db-nav a:hover { text-decoration:underline; }
.ool-db .db-intro { padding-block:80px 38px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.ool-db .db-intro>* { margin:0; }
.ool-db .db-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding-bottom:80px; }
.ool-db .db-feature { min-width:0; margin:0; }
.ool-db .db-feature figure { margin-bottom:22px; }
.ool-db .db-feature img { width:100%; aspect-ratio:.95; object-fit:contain; background:#e5e0d6; }
.ool-db .db-feature h3 { margin-bottom:12px; }
.ool-db .db-feature p { font-size:15px; }
.ool-db .db-collection { border-top:1px solid var(--db-line); padding-block:70px; }
.ool-db .tt5-catalog-model-gallery { background:transparent; padding:0; margin:0; max-width:none; }
.ool-db .tt5-home-inner { width:100%; max-width:none; padding:0; }
.ool-db .tt5-home-section-head { display:block; max-width:760px; margin:0 0 36px; }
.ool-db .tt5-home-section-head h2 { font-size:clamp(29px,3vw,42px); margin-bottom:18px; }
.ool-db .tt5-home-section-head p { font-size:17px; }
.ool-db .tt5-catalog-model-gallery__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px 24px; }
.ool-db .tt5-catalog-model-gallery__card { margin:0; padding:0; min-width:0; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.ool-db .tt5-catalog-model-gallery__media-link { display:block; background:#fff; }
.ool-db .tt5-catalog-model-gallery__card img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:0; background:#fff; }
.ool-db .tt5-catalog-model-gallery__copy { padding:18px 0 0; }
.ool-db .tt5-catalog-model-gallery__copy h3 { font-size:20px; margin:6px 0 10px; }
.ool-db .tt5-catalog-model-gallery__model { font-size:11px; font-weight:600; letter-spacing:.08em; color:var(--db-accent); margin:0; }
.ool-db .tt5-catalog-model-gallery__tag { font-size:14px; line-height:1.6; margin:0; }
.ool-db .db-note { border-top:1px solid var(--db-line); padding-top:20px; margin-top:35px; font-size:13px; max-width:85ch; }
.ool-db .db-band { background:#e5e2d7; padding-block:70px; margin:0; }
.ool-db.db-surface .db-band { background:#dfe5d9; }
.ool-db .db-band .db-wrap>p { margin-top:20px; max-width:77ch; }
.ool-db .db-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:38px; }
.ool-db .db-step { border-top:1px solid #a7b0a0; padding-top:24px; min-width:0; margin:0; }
.ool-db .db-step h3 { margin-bottom:16px; }
.ool-db .db-step p { font-size:15px; }
.ool-db .db-pair { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; padding-block:80px; }
.ool-db .db-pair>* { min-width:0; margin:0; }
.ool-db .db-pair img { width:100%; aspect-ratio:1.15; object-fit:contain; background:#fff; }
.ool-db .db-pair h2 { margin-bottom:24px; }
.ool-db .db-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; border-top:1px solid var(--db-line); padding-block:70px; }
.ool-db .db-faq>* { min-width:0; margin:0; }
.ool-db .db-faq-heading p { margin-top:20px; }
.ool-db .wp-block-details { margin:0; padding:0; border-bottom:1px solid var(--db-line); }
.ool-db summary { display:list-item; list-style-position:inside; padding:20px 0; font-size:16px; line-height:1.6; font-weight:600; cursor:pointer; }
.ool-db .wp-block-details p { padding:0 0 24px; font-size:15px; }
.ool-db .db-enquire { background:var(--db-ink); padding-block:70px; margin:0; }
.ool-db .db-enquire h2 { color:#fff8e7; max-width:760px; }
.ool-db .db-enquire p { color:#d9e3d9; max-width:75ch; margin-top:22px; }
.ool-db .db-enquire .wp-block-button__link { background:#fff5df; border-color:#fff5df; color:#183c30; }
.ool-db .db-enquire .is-style-outline .wp-block-button__link { background:transparent; color:#fff5df; }
.ool-db .db-related { padding-block:30px; }
.ool-db .db-related p { font-size:14px; }
@media(max-width:900px) {
 .ool-db .db-hero { gap:28px; min-height:auto; }
 .ool-db .db-intro,.ool-db .db-faq { gap:32px; }
 .ool-db .tt5-catalog-model-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ool-db .db-features { gap:18px; }
}
@media(max-width:650px) {
 .ool-db .db-hero,.ool-db .db-intro,.ool-db .db-faq,.ool-db .db-pair { grid-template-columns:1fr; gap:30px; }
 .ool-db h1 { font-size:42px; }
 .ool-db .db-hero { padding-block:36px; }
 .ool-db .db-hero-copy>p { font-size:17px; }
 .ool-db .db-hero-image img { aspect-ratio:1.18; }
 .ool-db .db-surface-hero { padding:18px; }
 .ool-db .db-surface-hero img { aspect-ratio:auto; }
 .ool-db .db-surface-hero figure:nth-child(2) { margin-top:-10px; width:70%; }
 .ool-db .db-intro { padding-block:50px 30px; }
 .ool-db .db-features,.ool-db .db-steps { grid-template-columns:1fr; gap:34px; }
 .ool-db .db-feature img { aspect-ratio:1.1; }
 .ool-db .db-features { padding-bottom:50px; }
 .ool-db .db-collection,.ool-db .db-band,.ool-db .db-faq,.ool-db .db-enquire,.ool-db .db-pair { padding-block:50px; }
 .ool-db .tt5-catalog-model-gallery__grid { gap:28px 16px; }
 .ool-db .tt5-catalog-model-gallery__copy h3 { font-size:18px; }
 .ool-db .tt5-catalog-model-gallery__tag { font-size:13px; }
 .ool-db .db-nav p { gap:4px 22px; font-size:13px; }
 .ool-db .wp-block-button { flex-grow:1; }
 .ool-db .wp-block-button__link { width:100%; padding-inline:14px; font-size:14px; }
}
@media(max-width:640px) {
 .ool-db .db-wrap { width:calc(100% - 40px); }
}
