/*
Theme Name: Officebrook Commerce
Theme URI: https://officebrook.com/
Author: Officebrook
Description: A clean WooCommerce storefront for Officebrook, built around the supplied wordmark and category-led navigation.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: officebrook
*/

:root{--ink:#202a2e;--slate:#5c696e;--green:#a8c83f;--deep:#14252b;--line:#e5e9e9;--paper:#fff;--mist:#f6f8f7;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.screen-reader-text{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px}
.site-topline{background:var(--deep);color:#fff;font-size:12px;letter-spacing:.03em}.site-topline .wrap{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}.site-topline a:hover{color:var(--green)}.topline-contacts{display:flex;gap:22px}.main-header{background:#fff;border-bottom:1px solid var(--line)}.main-header .wrap{display:grid;grid-template-columns:245px minmax(200px,1fr) auto;align-items:center;gap:38px;min-height:102px}.brand img{width:230px;display:block}.site-search{display:flex;border:1px solid #cfd7d7;border-radius:999px;overflow:hidden;height:48px;background:#fff}.site-search input{min-width:0;width:100%;border:0;padding:0 20px;outline:0}.site-search button{width:54px;background:var(--green);border:0;font-size:20px}.header-actions{display:flex;align-items:center;gap:14px;font-size:14px;white-space:nowrap}.header-actions a{display:flex;align-items:center;gap:6px}.header-actions .cart-count{display:grid;place-items:center;background:var(--green);width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:bold}.category-nav{border-bottom:1px solid var(--line);background:#fff}.category-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:4px}.category-nav a{font-size:13px;font-weight:700}.category-nav>.wrap>a{padding:17px 10px}.nav-group{position:relative}.nav-group>button{background:none;border:0;padding:17px 10px;font-size:13px;font-weight:700;color:var(--ink)}.nav-group>button:hover,.category-nav a:hover{color:#6e8e12}.nav-dropdown{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:235px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 40px #1023291e}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:grid}.nav-dropdown a{padding:10px 12px;font-size:13px;font-weight:500;white-space:nowrap}.nav-dropdown a:hover{background:var(--mist)}.mobile-menu-button{display:none}
.hero{background:linear-gradient(105deg,#162a30 0%,#233a3e 48%,#344c4c 100%);color:#fff;overflow:hidden}.hero .wrap{min-height:430px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#8da62c}.hero .eyebrow{color:#cfe37e}.hero h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.055em;margin:16px 0}.hero p{max-width:560px;color:#e0e8e8;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid transparent;border-radius:4px;background:var(--green);color:var(--deep);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.button:hover{background:#bedc60}.button.ghost{background:transparent;color:#fff;border-color:#fff}.hero-actions{display:flex;gap:12px;margin-top:26px}.hero-art{height:360px;position:relative;display:flex;align-items:center;justify-content:center}.hero-ring{position:absolute;border:1px solid #b8d24d66;border-radius:50%;width:340px;height:340px;transform:rotate(-19deg) skew(12deg)}.hero-ring:nth-child(2){width:255px;height:255px;border-color:#b8d24d99}.hero-core{position:relative;width:170px;height:170px;border-radius:30px;background:linear-gradient(145deg,#b9d449,#6e9024);box-shadow:0 35px 85px #071c25ad;display:grid;place-items:center;font-size:76px;font-weight:900;color:#203038;transform:rotate(-13deg)}.hero-core:after{content:'◔';position:absolute;right:-20px;bottom:-34px;color:#fff;font-size:80px;opacity:.28}
.trustbar{background:#eef3e4;border-bottom:1px solid #dce7ce}.trustbar .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.trustbar div{padding:20px 24px;border-right:1px solid #d4dfc6;font-size:13px}.trustbar div:first-child{padding-left:0}.trustbar div:last-child{border:0}.trustbar strong{display:block;font-size:14px}.trustbar span{color:var(--slate)}
.section{padding:64px 0}.section.alt{background:var(--mist)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head h2{font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.04em;margin:6px 0 0}.section-head p{margin:0;color:var(--slate);max-width:500px}.text-link{font-weight:700;font-size:13px;border-bottom:2px solid var(--green);padding-bottom:4px}.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.group-card{min-height:190px;padding:24px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.group-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #10232912}.group-card .number{color:#8ba634;font-size:12px;font-weight:bold}.group-card h3{font-size:21px;line-height:1.18;letter-spacing:-.03em;margin:0}.group-card p{margin:0;color:var(--slate);font-size:12px}.group-card .arrow{align-self:end;font-size:23px;color:#7f9c29}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.product-card:hover{box-shadow:0 10px 28px #10232914}.product-media{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:22px;border-bottom:1px solid var(--line)}.product-media img{width:100%;height:100%;object-fit:contain;object-position:center center}.product-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.product-kicker{font-size:11px;color:#819226;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.product-card h3{font-size:15px;line-height:1.36;margin:8px 0 11px;font-weight:700}.product-price{margin-top:auto;font-size:17px;font-weight:800}.product-price .woocommerce-Price-amount{color:#26373b}.product-card .button{margin-top:14px;width:100%;font-size:11px;min-height:40px}.collection-band{background:#dceac3;padding:55px 0}.collection-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.collection-band h2{font-size:31px;letter-spacing:-.04em;margin:0 0 6px}.collection-band p{margin:0;color:#4b5e4e}.collection-band .button{background:var(--deep);color:#fff}
.page-hero{background:var(--mist);border-bottom:1px solid var(--line);padding:45px 0}.page-hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.05em;margin:0}.breadcrumbs{font-size:12px;color:var(--slate);margin-bottom:10px}.page-content{padding:54px 0;max-width:1000px}.page-content h2{font-size:24px;letter-spacing:-.03em;margin:32px 0 10px}.page-content h3{font-size:19px;margin:24px 0 8px}.page-content p,.page-content li{color:#45545a}.page-content a{color:#567a10;text-decoration:underline}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-panel>div{border:1px solid var(--line);padding:28px}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.brand-grid a{padding:18px;border:1px solid var(--line);font-weight:bold}.brand-grid a:hover{border-color:var(--green)}
.site-footer{background:#17272d;color:#dce5e6;padding-top:56px}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-bottom:48px}.footer-top h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px}.footer-top a{display:block;color:#d7e0e1;font-size:13px;padding:5px 0}.footer-top a:hover{color:var(--green)}.footer-top p{font-size:13px;color:#c2ced0}.footer-logo{width:230px;filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid #395057;padding:20px 0;font-size:12px;color:#afbec0}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:20px}
.woocommerce .products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--line);background:#fff;padding:18px!important;min-width:0}.woocommerce ul.products li.product img{height:245px;object-fit:contain}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--ink);font-size:15px!important}.woocommerce ul.products li.product .price{color:#344a2b!important;font-weight:bold!important;font-size:16px!important}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--green)!important;color:var(--deep)!important;border-radius:3px!important}.woocommerce a.button:hover,.woocommerce button.button:hover{background:#bedc60!important}.woocommerce .woocommerce-breadcrumb{margin:0 0 20px!important}.woocommerce-page .content-area{padding:45px 0}.woocommerce div.product div.images img{max-height:570px;object-fit:contain;background:#fff}.woocommerce-message{border-top-color:var(--green)!important}.woocommerce-message::before{color:#759323!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;content:none!important}
@media(max-width:1100px){.main-header .wrap{grid-template-columns:200px 1fr auto;gap:15px}.brand img{width:195px}.category-nav .wrap{overflow-x:auto;justify-content:flex-start}.nav-group>button{white-space:nowrap}.group-grid,.product-grid,.woocommerce .products{grid-template-columns:repeat(3,1fr)!important}.footer-top{grid-template-columns:1.5fr repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.site-topline .wrap{justify-content:center}.topline-contacts{display:none}.main-header .wrap{grid-template-columns:36px 1fr auto;min-height:74px;gap:10px}.mobile-menu-button{display:block;background:none;border:0;font-size:25px;padding:4px}.brand img{width:165px}.site-search{grid-column:1/-1;grid-row:2;margin:0 0 14px}.header-actions span.action-label{display:none}.header-actions{font-size:20px}.category-nav{display:none}.category-nav.is-open{display:block}.category-nav .wrap{display:block;max-height:75vh;overflow:auto}.category-nav>.wrap>a,.nav-group>button{display:block;padding:13px 4px;width:100%;text-align:left}.nav-dropdown{display:grid;position:static;box-shadow:none;border:0;border-left:2px solid var(--green);padding:0 0 0 8px}.nav-dropdown a{white-space:normal}.hero .wrap{min-height:0;grid-template-columns:1fr;padding-top:55px}.hero-art{height:210px}.hero-ring{width:200px;height:200px}.hero-ring:nth-child(2){width:145px;height:145px}.hero-core{width:100px;height:100px;font-size:46px}.trustbar .wrap{grid-template-columns:1fr}.trustbar div{border-right:0;border-bottom:1px solid #d4dfc6;padding:12px 0}.section{padding:44px 0}.group-grid,.product-grid,.woocommerce .products{grid-template-columns:repeat(2,1fr)!important}.group-card{min-height:150px;padding:16px}.group-card h3{font-size:18px}.product-media{padding:10px}.product-card-body{padding:12px}.product-card h3{font-size:13px}.collection-band .wrap{display:block}.collection-band .button{margin-top:20px}.footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top>div:first-child{grid-column:1/-1}.contact-panel{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.group-grid,.product-grid,.woocommerce .products{grid-template-columns:1fr 1fr!important;gap:8px}.hero h1{font-size:40px}.product-media{aspect-ratio:1}.footer-top{grid-template-columns:1fr 1fr}}

/* v1.0.2: product-led storefront using real catalog photography. */
.site-topline { background:#f5f6f4; color:#405056; border-bottom:1px solid var(--line); letter-spacing:0; }
.site-topline .wrap { min-height:34px; }
.site-topline a:hover { color:#617f18; }
.main-header .wrap { min-height:90px; }
.brand img { width:230px; }
.category-nav>.wrap>a,.nav-group>button { padding-top:15px; padding-bottom:15px; }
.category-nav a,.nav-group>button { font-size:12px; }
.store-hero { background:linear-gradient(115deg,#f6f7f5,#ecefed); overflow:hidden; }
.store-hero-layout { display:grid; grid-template-columns:43% 57%; min-height:500px; align-items:center; gap:24px; }
.store-hero-copy { position:relative; z-index:2; padding:52px 0 58px; }
.store-hero .eyebrow { color:#698523; }
.store-hero h1 { font-size:clamp(44px,4.7vw,68px); line-height:1.04; letter-spacing:-.055em; max-width:590px; margin:16px 0 20px; }
.store-hero p { color:#536267; font-size:17px; max-width:490px; margin:0; }
.store-hero .button.ghost { border-color:#738186; color:var(--ink); }
.store-hero .button.ghost:hover { background:#fff; }
.hero-note { display:block; font-size:12px; font-weight:700; color:#718044; margin-top:22px; }
.store-hero-products { height:500px; position:relative; }
.hero-product { position:absolute; display:grid; place-items:center; background:#fff; border:1px solid #e1e6e5; border-radius:11px; box-shadow:0 18px 46px #1b2e3117; overflow:hidden; }
.hero-product img { position:absolute; inset:12px; width:calc(100% - 24px); height:calc(100% - 24px); object-fit:contain; }
.hero-product-main { width:43%; height:69%; left:5%; top:10%; padding:23px; }
.hero-product-camera { width:45%; height:52%; right:1%; top:6%; padding:13px; }
.hero-product-navigation { width:46%; height:33%; right:5%; bottom:7%; padding:11px; }
.hero-product:hover { transform:translateY(-3px); box-shadow:0 24px 48px #1b2e3122; }
.shop-benefits { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shop-benefits .wrap { display:grid; grid-template-columns:repeat(3,1fr); }
.shop-benefits .wrap>div { padding:20px 26px; border-right:1px solid var(--line); text-align:center; }
.shop-benefits .wrap>div:last-child { border:0; }
.shop-benefits strong { display:block; font-size:14px; }
.shop-benefits span { display:block; font-size:12px; color:#6d797e; margin-top:2px; }
.store-products-section { background:#fafbf9; }
.store-products-section .section-head h2 { font-size:clamp(26px,2.7vw,36px); }
.store-products-section .product-grid { gap:15px; }
.store-products-section .product-card { border-radius:8px; overflow:hidden; box-shadow:0 2px 12px #1b2e3108; }
.store-products-section .product-media { padding:18px; aspect-ratio:1.12; border-color:#f0f2f1; }
.store-products-section .product-card-body { padding:14px 16px 17px; }
.store-products-section .product-card h3 { font-size:14px; min-height:39px; margin:5px 0 9px; }
.store-products-section .product-kicker { font-size:10px; color:#768b3a; }
.store-products-section .product-price { font-size:16px; }
.store-products-section .product-price .woocommerce-Price-amount { color:#466822; }
.feature-banner { background:#f4f6f3; padding:0 0 10px; }
.feature-banner-layout { display:grid; grid-template-columns:1fr 43%; align-items:center; gap:40px; min-height:290px; background:#1d3136; border-radius:8px; overflow:hidden; color:#fff; padding-left:56px; }
.feature-banner .eyebrow { color:#cde385; }
.feature-banner h2 { font-size:clamp(28px,3.2vw,44px); line-height:1.08; letter-spacing:-.045em; margin:12px 0; }
.feature-banner p { color:#d6e0e1; max-width:440px; }
.feature-banner .button { margin-top:12px; }
.feature-banner img { height:290px; width:100%; object-fit:contain; background:#fff; padding:28px; }
.section.alt { background:#f4f6f3; }
.group-card { border-radius:8px; min-height:164px; }
.group-card h3 { font-size:19px; }
.woocommerce .wc-block-cart__submit-button { background:var(--deep)!important; color:#fff!important; }
.woocommerce .wc-block-cart__submit-button span { color:#fff!important; }
@media(max-width:1100px) {
  .store-hero-layout { grid-template-columns:47% 53%; }
  .store-hero h1 { font-size:48px; }
  .store-hero-products { height:420px; }
  .feature-banner-layout { min-height:260px; }
  .feature-banner img { height:260px; }
}
@media(max-width:760px) {
  .site-topline .wrap { min-height:32px; }
  .main-header .wrap { min-height:72px; }
  .store-hero-layout { grid-template-columns:1fr; min-height:0; gap:0; }
  .store-hero-copy { padding:44px 0 10px; }
  .store-hero h1 { font-size:43px; max-width:560px; }
  .store-hero p { font-size:15px; }
  .store-hero-products { height:330px; }
  .hero-product-main { width:43%; height:75%; left:1%; top:5%; }
  .hero-product-camera { width:47%; height:57%; right:1%; top:4%; }
  .hero-product-navigation { width:50%; height:31%; right:3%; bottom:2%; }
  .shop-benefits .wrap { grid-template-columns:1fr 1fr; }
  .shop-benefits .wrap>div { padding:13px; }
  .shop-benefits .wrap>div:last-child { display:none; }
  .feature-banner-layout { grid-template-columns:1fr; padding:35px 25px; gap:15px; }
  .feature-banner img { height:180px; max-width:100%; padding:16px; }
  .store-products-section .product-card h3 { font-size:13px; min-height:0; }
  .store-products-section .product-media { padding:8px; }
}
@media(max-width:440px) {
  .store-hero h1 { font-size:37px; }
  .store-hero-products { height:270px; }
  .store-hero .hero-actions { flex-wrap:wrap; }
  .store-hero .button { padding:0 18px; }
  .shop-benefits strong { font-size:12px; }
  .shop-benefits span { font-size:11px; }
}

.hero-brand-feature { position:relative; display:flex; align-items:center; justify-content:center; height:430px; margin:28px 0; background:#fff; border:1px solid #e1e6e5; border-radius:12px; box-shadow:0 18px 46px #1b2e3117; overflow:hidden; }
.hero-brand-feature img { width:100%; height:100%; object-fit:contain; padding:50px 65px; }
.hero-brand-label { position:absolute; top:24px; left:28px; color:#657469; font-size:12px; font-weight:600; }
.hero-brand-label strong { display:block; color:var(--ink); font-size:19px; margin-top:2px; }
.hero-brand-caption { position:absolute; bottom:22px; right:27px; color:var(--ink); font-weight:700; font-size:13px; }
.hero-brand-feature:hover { box-shadow:0 24px 52px #1b2e3124; }
.brand-catalog { background:#f8faf8; }
.brand-catalog .section-head { align-items:end; }
.brand-catalog .section-head h2 { font-size:clamp(30px,3vw,40px); }
.brand-index { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 48px; }
.brand-index a { background:#fff; border:1px solid #dce4df; border-radius:999px; color:#274047; font-size:12px; font-weight:700; padding:10px 15px; }
.brand-index a:hover { border-color:var(--green); background:#f1f7e4; }
.brand-department { scroll-margin-top:24px; margin-top:54px; }
.brand-department:first-of-type { margin-top:0; }
.brand-department-head { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:15px; border-bottom:2px solid #25383b; }
.brand-department-head h2 { margin:7px 0 0; font-size:clamp(25px,2.5vw,33px); letter-spacing:-.04em; }
.brand-shelf { display:grid; grid-template-columns:210px minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid #dfe5e1; }
.brand-identity { padding:16px 4px; }
.brand-identity h3 { font-size:24px; line-height:1.12; letter-spacing:-.035em; margin:8px 0; }
.brand-identity p { margin:0; font-size:12px; color:#657479; }
.brand-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:12px; }
.brand-products.is-single { grid-template-columns:1fr; }
.brand-product { background:#fff; border:1px solid #e2e7e3; border-radius:9px; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:20px; min-width:0; overflow:hidden; }
.brand-products.is-single .brand-product { grid-template-columns:170px minmax(0,1fr) auto; }
.brand-product-media { display:grid; place-items:center; height:166px; background:#fff; border-right:1px solid #edf0ee; padding:12px; }
.brand-product-media img { display:block; width:100%; height:100%; object-fit:contain; }
.brand-product-info { min-width:0; padding:14px 0; }
.brand-product-info h4 { font-size:17px; line-height:1.35; margin:0 0 13px; }
.brand-product-price { font-size:18px; font-weight:800; color:#3f6326; }
.brand-product-price .woocommerce-Price-amount { color:#3f6326; }
.brand-product-link { justify-self:end; margin-right:20px; white-space:nowrap; font-size:12px; font-weight:800; border-bottom:2px solid var(--green); padding-bottom:4px; }
.brand-products:not(.is-single) .brand-product-link { grid-column:2; justify-self:start; margin:0 0 16px; }
@media(max-width:1100px) {
  .brand-shelf { grid-template-columns:170px minmax(0,1fr); }
  .brand-product,.brand-products.is-single .brand-product { grid-template-columns:145px minmax(0,1fr); }
  .brand-product-link,.brand-products.is-single .brand-product-link { grid-column:2; justify-self:start; margin:0 0 16px; }
}
@media(max-width:760px) {
  .hero-brand-feature { height:320px; margin:14px 0 32px; }
  .hero-brand-feature img { padding:45px 38px; }
  .brand-index { margin-bottom:32px; }
  .brand-department { margin-top:42px; }
  .brand-shelf { grid-template-columns:1fr; gap:7px; padding:14px 0; }
  .brand-identity { padding:0; }
  .brand-identity h3 { font-size:21px; display:inline; margin-right:10px; }
  .brand-identity p { display:inline; }
}
@media(max-width:440px) {
  .hero-brand-feature { height:270px; }
  .hero-brand-feature img { padding:42px 36px; }
  .brand-department-head { align-items:start; }
  .brand-department-head .text-link { font-size:11px; }
  .brand-product,.brand-products.is-single .brand-product { grid-template-columns:112px minmax(0,1fr); gap:12px; }
  .brand-product-media { height:142px; padding:8px; }
  .brand-product-info h4 { font-size:14px; }
  .brand-product-price { font-size:16px; }
}

/* v1.0.6: one photographed brand collection per banner and product row. */
.featured-storefront { background:#f7f8f7; padding:38px 0 72px; }
.featured-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:17px; }
.featured-intro h1 { font-size:clamp(30px,3.4vw,44px); letter-spacing:-.055em; line-height:1.08; margin:7px 0 7px; }
.featured-intro p { margin:0; font-size:14px; color:#687477; }
.featured-intro .text-link { margin-bottom:8px; white-space:nowrap; }
.featured-jump { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.featured-jump a { padding:8px 14px; border:1px solid #d9e1e0; border-radius:3px; background:#fff; font-size:12px; font-weight:800; }
.featured-jump a:hover { border-color:#8fad39; color:#516b16; }
.featured-collection { scroll-margin-top:20px; margin-bottom:64px; }
.featured-banner { position:relative; isolation:isolate; min-height:300px; display:grid; grid-template-columns:1fr 43%; overflow:hidden; border-radius:7px; background:linear-gradient(105deg,#142832 0%,#172f38 57%,#e8edee 57%); color:#fff; }
.featured-banner.is-kicker { background:linear-gradient(105deg,#20242b 0%,#20242b 57%,#eef0ef 57%); }
.featured-banner.is-dlink { background:linear-gradient(105deg,#e5eff1 0%,#d6e7e9 57%,#f9fbfb 57%); color:#18313c; }
.featured-banner.is-panasonic { background:linear-gradient(105deg,#15273b 0%,#1c3857 57%,#f0f2f4 57%); }
.featured-banner-copy { position:relative; z-index:1; padding:45px 6%; align-self:center; }
.featured-banner-kicker { display:block; font-size:11px; font-weight:800; letter-spacing:.22em; color:#c4db75; }
.featured-banner.is-dlink .featured-banner-kicker { color:#527f88; }
.featured-banner h2 { margin:12px 0 4px; color:inherit; font-size:clamp(48px,6vw,80px); line-height:1; letter-spacing:-.06em; }
.featured-banner p { margin:0 0 29px; font-size:18px; color:#dce7e8; }
.featured-banner.is-dlink p { color:#4d6a73; }
.featured-banner-copy>a { display:inline-block; padding-bottom:4px; border-bottom:2px solid #c4db75; font-size:13px; font-weight:800; }
.featured-banner.is-dlink .featured-banner-copy>a { border-color:#6c9ca7; }
.featured-banner-photo { display:grid; place-items:center; min-width:0; padding:22px 36px; background:#ffffff0c; }
.featured-banner-photo img { display:block; width:100%; height:252px; object-fit:contain; filter:drop-shadow(0 12px 15px #10242a23); }
.featured-banner.is-kicker .featured-banner-photo img,.featured-banner.is-panasonic .featured-banner-photo img { mix-blend-mode:multiply; filter:none; }
.featured-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:16px; }
.featured-product-card { min-width:0; display:flex; flex-direction:column; background:#fff; border:1px solid #e8eceb; border-radius:7px; overflow:hidden; transition:box-shadow .18s,transform .18s; }
.featured-product-card:hover { box-shadow:0 15px 34px #243a3e18; transform:translateY(-2px); }
.featured-product-photo { display:flex; align-items:center; justify-content:center; height:235px; min-height:0; overflow:hidden; background:#fff; padding:16px; }
.featured-product-photo img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.featured-product-body { min-height:128px; display:flex; flex-direction:column; padding:0 17px 16px; }
.featured-product-brand { font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#71931d; }
.featured-product-body h3 { font-size:15px; line-height:1.38; font-weight:700; margin:7px 0 13px; }
.featured-product-body h3 a:hover,.featured-product-link:hover { color:#3867a2; }
.featured-product-foot { display:flex; align-items:end; justify-content:space-between; gap:8px; margin-top:auto; }
.featured-product-price,.featured-product-price .woocommerce-Price-amount { color:#1666c6; font-size:17px; font-weight:800; white-space:nowrap; }
.featured-product-link { flex-shrink:0; font-size:11px; font-weight:700; color:#556368; }
@media(max-width:1050px) {
  .featured-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-product-photo { height:250px; }
}
@media(max-width:760px) {
  .featured-storefront { padding-top:26px; }
  .featured-intro { align-items:start; }
  .featured-intro .text-link { display:none; }
  .featured-banner { grid-template-columns:1fr 46%; min-height:245px; }
  .featured-banner-copy { padding:28px 7%; }
  .featured-banner h2 { font-size:48px; }
  .featured-banner p { font-size:14px; margin-bottom:20px; }
  .featured-banner-photo { padding:18px; }
  .featured-banner-photo img { height:205px; }
  .featured-product-photo { height:210px; }
  .featured-collection { margin-bottom:42px; }
}
@media(max-width:540px) {
  .featured-banner { display:flex; flex-direction:column; background:#172f38!important; }
  .featured-banner.is-kicker { background:#20242b!important; }
  .featured-banner.is-dlink { background:#d6e7e9!important; }
  .featured-banner.is-panasonic { background:#1c3857!important; }
  .featured-banner-copy { padding:26px 25px 12px; }
  .featured-banner h2 { font-size:50px; margin-top:6px; }
  .featured-banner p { margin-bottom:13px; }
  .featured-banner-photo { background:#f6f8f7; padding:5px 20px 12px; }
  .featured-banner-photo img { height:175px; }
  .featured-product-grid { gap:9px; }
  .featured-product-photo { height:150px; padding:8px; }
  .featured-product-body { padding:0 10px 11px; min-height:142px; }
  .featured-product-body h3 { font-size:12px; }
  .featured-product-price,.featured-product-price .woocommerce-Price-amount { font-size:14px; }
  .featured-product-link { font-size:0; }
  .featured-product-link::after { content:'↗'; font-size:18px; }
}

/* v1.0.9: large brand carousel and editorial collection banners. */
.featured-storefront { padding-top:20px; }
.brand-hero { margin-bottom:66px; }
.brand-hero-track { border-radius:12px; overflow:hidden; box-shadow:0 22px 55px #192e3920; }
.brand-hero-slide { --hero-bg:#13323a; --hero-accent:#c3e279; --hero-stage:#eef3f1; display:grid; grid-template-columns:49% 51%; min-height:548px; color:#fff; background:var(--hero-bg); }
.brand-hero-slide:not(.is-active) { display:none; }
.brand-hero-slide.is-kicker { --hero-bg:#202228; --hero-accent:#d7ee76; --hero-stage:#f3f2ed; }
.brand-hero-slide.is-dlink { --hero-bg:#0a4057; --hero-accent:#9ee1ef; --hero-stage:#e9f2f3; }
.brand-hero-slide.is-panasonic { --hero-bg:#152a4d; --hero-accent:#bdd1ff; --hero-stage:#eef0f4; }
.brand-hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:48px clamp(32px,4vw,68px); }
.brand-hero-copy::after { content:''; position:absolute; inset:auto 0 0 0; height:1px; background:#ffffff20; }
.brand-hero-overline { display:inline-flex; align-items:center; gap:12px; color:#ffffffae; font-size:11px; font-weight:800; letter-spacing:.23em; text-transform:uppercase; }
.brand-hero-overline-rule { width:28px; height:2px; background:var(--hero-accent); }
.brand-hero-category { display:block; margin-top:52px; color:var(--hero-accent); font-size:12px; font-weight:800; letter-spacing:.24em; }
.brand-hero-copy h2 { margin:12px 0 2px; color:#fff; font-size:clamp(68px,7vw,120px); line-height:.95; letter-spacing:-.075em; font-weight:800; }
.brand-hero-period { color:var(--hero-accent); }
.brand-hero-headline { max-width:480px; margin:14px 0 0; font-size:clamp(25px,2.5vw,36px); line-height:1.12; letter-spacing:-.045em; font-weight:700; }
.brand-hero-detail { margin:17px 0 0; color:#e0e9e8c4; font-size:15px; }
.brand-hero-actions { display:flex; align-items:center; gap:23px; flex-wrap:wrap; margin-top:34px; }
.brand-hero-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; padding:0 22px; border-radius:3px; background:var(--hero-accent); color:#10252d; font-size:13px; font-weight:800; }
.brand-hero-button:hover { background:#fff; }
.brand-hero-button span { font-size:20px; font-weight:400; }
.brand-hero-secondary { padding-bottom:5px; border-bottom:1px solid #ffffff85; color:#fff; font-size:13px; font-weight:700; }
.brand-hero-secondary:hover { border-color:var(--hero-accent); color:var(--hero-accent); }
.brand-hero-price { display:block; margin-top:40px; color:#ffffffa8; font-size:12px; letter-spacing:.04em; }
.brand-hero-price span { color:var(--hero-accent); padding:0 8px; }
.brand-hero-price .woocommerce-Price-amount { color:#fff; font-weight:800; }
.brand-hero-stage { position:relative; isolation:isolate; min-width:0; min-height:548px; background:radial-gradient(circle at 45% 40%,#fff 0%,var(--hero-stage) 75%); overflow:hidden; }
.brand-hero-stage::before { content:''; position:absolute; z-index:-1; width:72%; aspect-ratio:1; top:2%; left:6%; border:1px solid #46636d1c; border-radius:50%; box-shadow:0 0 0 70px #45616b08,0 0 0 140px #45616b06; }
.brand-hero-stage::after { content:''; position:absolute; z-index:-1; bottom:0; right:0; width:65%; height:15px; background:var(--hero-accent); }
.brand-hero-stage-index { position:absolute; left:4%; top:-24%; z-index:-1; color:#233c493b; opacity:.15; font-size:470px; font-weight:900; letter-spacing:-.1em; line-height:1; }
.brand-hero-stage-line { position:absolute; top:6%; right:7%; width:54px; height:3px; background:var(--hero-bg); opacity:.45; }
.brand-hero-stage img { display:block; position:absolute; max-width:none; object-fit:contain; mix-blend-mode:multiply; }
.brand-hero-stage-main { z-index:1; width:78%; height:73%; left:3%; top:9%; }
.brand-hero-stage-secondary { z-index:2; width:42%; height:38%; right:0; bottom:6%; }
.brand-hero-slide.is-kicker .brand-hero-stage-main { width:67%; height:86%; left:2%; top:1%; }
.brand-hero-slide.is-kicker .brand-hero-stage-secondary { width:42%; height:49%; right:-1%; bottom:3%; }
.brand-hero-slide.is-dlink .brand-hero-stage-main { width:84%; height:72%; left:2%; top:8%; }
.brand-hero-slide.is-dlink .brand-hero-stage-secondary { width:45%; height:40%; right:1%; bottom:3%; }
.brand-hero-slide.is-panasonic .brand-hero-stage-main { width:74%; height:82%; left:0; top:6%; }
.brand-hero-slide.is-panasonic .brand-hero-stage-secondary { width:41%; height:49%; right:0; bottom:3%; }
.brand-hero-stage-caption { position:absolute; z-index:3; left:7%; bottom:8%; color:#26414a8f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.2em; }
.brand-hero-controls { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; padding:0 10px; }
.brand-hero-status { display:flex; align-items:center; gap:14px; color:#6c777c; font-size:13px; font-weight:800; letter-spacing:.08em; }
.brand-hero-status [data-slide-current] { color:#223339; font-size:19px; }
.brand-hero-status-divider { width:48px; height:1px; background:#b5c3c4; }
.brand-hero-dots { display:flex; align-items:center; gap:9px; }
.brand-hero-dot { width:49px; height:22px; display:grid; place-items:center; padding:0; border:0; background:transparent; }
.brand-hero-dot span { display:block; width:100%; height:3px; background:#cdd7d5; transition:background .2s,height .2s; }
.brand-hero-dot.is-active span,.brand-hero-dot:hover span { height:5px; background:#9abc42; }
.brand-hero-buttons { display:flex; align-items:center; gap:7px; }
.brand-hero-buttons button { display:grid; place-items:center; width:39px; height:39px; border:1px solid #cbd6d4; border-radius:50%; background:#fff; color:#21343a; font-size:18px; line-height:1; }
.brand-hero-buttons button:hover { border-color:#769b28; background:#eef4df; }
.brand-hero-buttons [data-slide-pause] { margin-right:9px; font-size:13px; font-weight:800; }
.featured-intro { margin-bottom:17px; }
.featured-intro h2 { font-size:clamp(30px,3.4vw,44px); letter-spacing:-.055em; line-height:1.08; margin:7px 0 7px; }
.featured-collection { margin-bottom:76px; }
.featured-banner { --banner-bg:#14323a; --banner-accent:#c4df77; --banner-stage:#edf2f0; min-height:332px; grid-template-columns:48% 52%; border-radius:10px; background:var(--banner-bg); box-shadow:0 12px 32px #1d31360e; }
.featured-banner.is-kicker { --banner-bg:#24252a; --banner-accent:#d5e877; --banner-stage:#f2f2ee; background:var(--banner-bg); }
.featured-banner.is-dlink { --banner-bg:#0e475a; --banner-accent:#91d9e5; --banner-stage:#e9f2f3; background:var(--banner-bg); color:#fff; }
.featured-banner.is-panasonic { --banner-bg:#1c3051; --banner-accent:#bcd1fa; --banner-stage:#f0f2f5; background:var(--banner-bg); }
.featured-banner::before { content:''; position:absolute; left:0; top:0; width:84px; height:5px; background:var(--banner-accent); z-index:3; }
.featured-banner-copy { z-index:2; align-self:center; padding:40px clamp(28px,4vw,62px); }
.featured-banner-kicker,.featured-banner.is-dlink .featured-banner-kicker { color:var(--banner-accent); font-size:11px; letter-spacing:.18em; }
.featured-banner-kicker span { padding:0 9px; color:#ffffff7b; }
.featured-banner h2 { margin:15px 0 9px; font-size:clamp(50px,5.2vw,77px); line-height:.96; }
.featured-banner p,.featured-banner.is-dlink p { max-width:470px; margin:0 0 30px; color:#e4ebebc9; font-size:clamp(19px,2vw,27px); line-height:1.2; letter-spacing:-.035em; font-weight:600; }
.featured-banner-copy>a,.featured-banner.is-dlink .featured-banner-copy>a { display:inline-flex; align-items:center; gap:20px; padding-bottom:7px; border-color:var(--banner-accent); font-size:13px; letter-spacing:.015em; }
.featured-banner-photo { position:relative; display:block; min-height:332px; padding:0; background:radial-gradient(circle at 47% 38%,#fff 0%,var(--banner-stage) 78%); overflow:hidden; }
.featured-banner-photo::before { content:''; position:absolute; top:-26%; left:9%; width:80%; aspect-ratio:1; border:1px solid #34546917; border-radius:50%; box-shadow:0 0 0 68px #24465a07; }
.featured-banner-photo::after { content:''; position:absolute; right:0; bottom:0; width:42%; height:7px; background:var(--banner-accent); }
.featured-banner-photo-mark { position:absolute; top:3%; left:5%; color:#24475a14; font-size:clamp(64px,8vw,135px); font-weight:900; letter-spacing:-.08em; line-height:1; white-space:nowrap; }
.featured-banner-photo img,.featured-banner.is-kicker .featured-banner-photo img,.featured-banner.is-panasonic .featured-banner-photo img { position:absolute; display:block; max-width:none; object-fit:contain; mix-blend-mode:multiply; filter:none; }
.featured-banner-image-main { z-index:1; width:65%!important; height:84%!important; top:3%; left:3%; }
.featured-banner-image-secondary { z-index:2; width:43%!important; height:56%!important; right:0; bottom:0; }
.featured-banner.is-kicker .featured-banner-image-main { width:58%!important; height:89%!important; top:0; }
.featured-banner.is-dlink .featured-banner-image-main { width:71%!important; height:72%!important; top:10%; }
.featured-banner.is-panasonic .featured-banner-image-main { width:67%!important; height:90%!important; top:0; }
.featured-banner-photo-caption { position:absolute; z-index:3; left:7%; bottom:6%; color:#547077; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
@media(max-width:950px) {
  .brand-hero-slide { min-height:480px; }
  .brand-hero-copy { padding:38px 34px; }
  .brand-hero-copy h2 { font-size:clamp(58px,7vw,84px); }
  .brand-hero-category { margin-top:32px; }
  .brand-hero-stage { min-height:480px; }
  .featured-banner { min-height:290px; }
  .featured-banner-photo { min-height:290px; }
}
@media(max-width:760px) {
  .featured-storefront { padding-top:14px; }
  .brand-hero { margin-bottom:44px; }
  .brand-hero-slide { grid-template-columns:1fr; }
  .brand-hero-copy { min-height:330px; padding:29px 30px 24px; }
  .brand-hero-category { margin-top:30px; }
  .brand-hero-copy h2 { font-size:clamp(60px,11vw,86px); }
  .brand-hero-headline { font-size:27px; }
  .brand-hero-detail { margin-top:10px; font-size:13px; }
  .brand-hero-actions { margin-top:22px; }
  .brand-hero-price { margin-top:23px; }
  .brand-hero-stage { min-height:330px; }
  .brand-hero-stage-main { height:86%; top:2%; }
  .brand-hero-stage-caption { bottom:6%; }
  .featured-banner { display:grid; grid-template-columns:48% 52%; min-height:270px; }
  .featured-banner-copy { padding:30px; }
  .featured-banner h2 { font-size:clamp(42px,6vw,58px); }
  .featured-banner p { font-size:18px; }
  .featured-banner-photo { min-height:270px; }
  .featured-banner-image-main { height:79%!important; }
}
@media(max-width:540px) {
  .brand-hero-track { border-radius:8px; }
  .brand-hero-copy { min-height:345px; padding:26px 24px 22px; }
  .brand-hero-overline { font-size:9px; }
  .brand-hero-category { margin-top:26px; font-size:10px; }
  .brand-hero-copy h2 { font-size:clamp(58px,16vw,80px); }
  .brand-hero-headline { font-size:25px; }
  .brand-hero-actions { gap:15px; }
  .brand-hero-button { min-height:46px; padding:0 15px; font-size:12px; }
  .brand-hero-secondary { font-size:12px; }
  .brand-hero-price { font-size:10px; }
  .brand-hero-stage { min-height:270px; }
  .brand-hero-stage-index { font-size:320px; top:-17%; }
  .brand-hero-stage-main { width:79%; height:85%; left:0; }
  .brand-hero-slide.is-kicker .brand-hero-stage-main { height:95%; }
  .brand-hero-stage-secondary { width:41%; height:43%; right:-2%; }
  .brand-hero-stage-caption { font-size:9px; }
  .brand-hero-controls { min-height:66px; gap:9px; padding:0 2px; }
  .brand-hero-status { gap:7px; font-size:10px; }
  .brand-hero-status [data-slide-current] { font-size:15px; }
  .brand-hero-status-divider { width:19px; }
  .brand-hero-dots { gap:3px; }
  .brand-hero-dot { width:19px; }
  .brand-hero-buttons { gap:4px; }
  .brand-hero-buttons button { width:29px; height:29px; font-size:14px; }
  .brand-hero-buttons [data-slide-pause] { margin-right:1px; font-size:11px; }
  .featured-banner,.featured-banner.is-kicker,.featured-banner.is-dlink,.featured-banner.is-panasonic { display:grid; grid-template-columns:1fr; background:var(--banner-bg)!important; }
  .featured-banner-copy { padding:26px 25px 24px; }
  .featured-banner h2 { font-size:50px; }
  .featured-banner p,.featured-banner.is-dlink p { margin-bottom:16px; font-size:20px; }
  .featured-banner-photo { min-height:230px; background:radial-gradient(circle at 47% 38%,#fff 0%,var(--banner-stage) 78%); padding:0; }
  .featured-banner-image-main { height:94%!important; }
  .featured-banner-photo-mark { font-size:70px; }
  .featured-banner-photo-caption { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .brand-hero-slide,.brand-hero-dot span { animation:none!important; transition:none!important; }
}
.footer-logo { filter:invert(1) grayscale(1); mix-blend-mode:screen; }

/* Brand collection artwork: one continuous image field, no copy/photo split. */
.featured-banner,.featured-banner.is-kicker,.featured-banner.is-dlink,.featured-banner.is-panasonic {
  position:relative; isolation:isolate; display:flex!important; align-items:center; justify-content:center;
  min-height:320px; grid-template-columns:none!important; overflow:hidden; border-radius:9px;
  background:#113b65!important; color:#fff; box-shadow:0 12px 32px #1d31360e;
}
.featured-banner.is-denon { background:#102d52!important; }
.featured-banner.is-kicker { background:#1e3150!important; }
.featured-banner.is-dlink { background:#075482!important; }
.featured-banner.is-panasonic { background:#12469a!important; }
.featured-banner::before {
  content:''; position:absolute; inset:0; z-index:0; width:auto; height:auto;
  background-image:var(--brand-scene); background-repeat:no-repeat; background-position:center 48%; background-size:cover;
  transform:scale(1.015); transition:transform .6s ease; filter:saturate(.84) contrast(1.08);
}
.featured-banner:hover::before { transform:scale(1.055); }
.featured-banner.is-denon::before { background-position:center 47%; }
.featured-banner.is-kicker::before { background-position:center 47%; filter:grayscale(.2) contrast(1.05) brightness(.67); }
.featured-banner.is-dlink::before { background-position:center 50%; }
.featured-banner.is-panasonic::before { background-position:center 47%; }
.featured-banner::after {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,#03162ac2 0%,#083b7688 43%,#071b33a8 100%),#063c6e47;
}
.featured-banner.is-kicker::after { background:linear-gradient(90deg,#061b39ad,#1a396372 50%,#061b39a8),#0a3c8245; }
.featured-banner.is-dlink::after { background:linear-gradient(90deg,#042340b8,#1261986e 52%,#031b38a6); }
.featured-banner.is-panasonic::after { background:linear-gradient(90deg,#052756b8,#0052b365 52%,#06224aa8); }
.featured-banner-logo { position:relative; z-index:2; display:block; width:min(33%,380px); max-height:85px; object-fit:contain; filter:drop-shadow(0 4px 12px #001a3699); }
.featured-banner.is-denon .featured-banner-logo { width:min(30%,350px); }
.featured-banner.is-kicker .featured-banner-logo { width:min(26%,290px); }
.featured-banner.is-dlink .featured-banner-logo,.featured-banner.is-panasonic .featured-banner-logo { filter:brightness(0) invert(1) drop-shadow(0 4px 12px #001a3699); }
.featured-banner-visit { position:absolute; z-index:2; right:25px; bottom:22px; display:inline-flex; align-items:center; gap:12px; padding:9px 0 5px; border-bottom:1px solid #ffffffac; color:#fff; font-size:12px; font-weight:750; letter-spacing:.02em; text-shadow:0 1px 6px #001a36; }
.featured-banner-visit:hover { color:#fff; border-color:#fff; }
@media(max-width:760px) {
  .featured-banner,.featured-banner.is-kicker,.featured-banner.is-dlink,.featured-banner.is-panasonic { min-height:230px; }
  .featured-banner-logo { width:min(47%,300px); max-height:72px; }
  .featured-banner.is-denon .featured-banner-logo { width:min(45%,290px); }
  .featured-banner.is-kicker .featured-banner-logo { width:min(40%,250px); }
}
@media(max-width:540px) {
  .featured-banner,.featured-banner.is-kicker,.featured-banner.is-dlink,.featured-banner.is-panasonic { min-height:178px; border-radius:7px; }
  .featured-banner-logo { width:min(58%,230px); max-height:55px; }
  .featured-banner.is-denon .featured-banner-logo { width:min(55%,220px); }
  .featured-banner.is-kicker .featured-banner-logo { width:min(52%,195px); }
  .featured-banner-visit { right:13px; bottom:10px; padding:4px 0; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .featured-banner::before { transition:none; } }

/* Product-led opening carousel. Collection photo banners below use a separate design. */
.brand-hero-track { border-radius:16px; background:#eef4f7; }
.brand-hero-slide {
  --hero-accent:#1265ba; --hero-wash:#d9eaf5;
  position:relative; isolation:isolate; display:block; height:clamp(500px,45vw,620px); min-height:0;
  overflow:hidden; color:#11283d;
  background:radial-gradient(circle at 80% 47%,var(--hero-wash) 0,#ecf3f7 36%,#f8fafb 74%);
}
.brand-hero-slide:not(.is-active) { display:none; }
.brand-hero-slide.is-kicker { --hero-accent:#d3a829; --hero-wash:#e5eaf0; }
.brand-hero-slide.is-dlink { --hero-accent:#0084a8; --hero-wash:#d7e9ef; }
.brand-hero-slide.is-panasonic { --hero-accent:#145cb2; --hero-wash:#e0e7f4; }
.brand-hero-slide::before { content:''; position:absolute; z-index:3; inset:0 0 auto; height:7px; background:var(--hero-accent); }
.brand-hero-slide::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,#fbfcfbe8 0%,#fbfcfb42 49%,transparent 77%); }
.brand-hero-visual { position:absolute; z-index:1; inset:0 0 0 39%; overflow:hidden; mix-blend-mode:multiply; }
.brand-hero-orbit { position:absolute; width:min(79%,600px); aspect-ratio:1; right:7%; top:50%; transform:translateY(-50%); border:1px solid #225b8a27; border-radius:50%; box-shadow:0 0 0 60px #22659a08,0 0 0 125px #22659a06; }
.brand-hero-index { position:absolute; top:-70px; right:2%; color:#225b8a0b; font-size:clamp(260px,36vw,510px); font-weight:900; line-height:1; letter-spacing:-.12em; }
.brand-hero-product { position:absolute; display:block; max-width:none; object-fit:contain; mix-blend-mode:multiply; }
.brand-hero-product-main { z-index:2; width:74%; height:85%; right:0; top:8%; }
.brand-hero-product-secondary { z-index:1; width:45%; height:57%; left:-1%; bottom:0; opacity:.78; }
.brand-hero-slide.is-denon .brand-hero-product-main { width:77%; height:93%; right:-1%; top:3%; transform:scale(1.13); }
.brand-hero-slide.is-denon .brand-hero-product-secondary { width:52%; height:67%; left:-5%; bottom:0; transform:scale(1.12); }
.brand-hero-slide.is-kicker .brand-hero-product-main { width:60%; height:96%; right:4%; top:2%; }
.brand-hero-slide.is-kicker .brand-hero-product-secondary { width:39%; height:47%; left:3%; bottom:3%; }
.brand-hero-slide.is-dlink .brand-hero-product-main { width:86%; height:79%; right:-3%; top:7%; }
.brand-hero-slide.is-dlink .brand-hero-product-secondary { width:45%; height:45%; left:-2%; bottom:2%; }
.brand-hero-slide.is-panasonic .brand-hero-product-main { width:78%; height:92%; right:0; top:10%; transform:scale(1.17); }
.brand-hero-slide.is-panasonic .brand-hero-product-secondary { width:47%; height:57%; left:-4%; bottom:-2%; }
.brand-hero-content { position:relative; z-index:2; width:min(49%,570px); height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:40px 0 48px clamp(36px,5vw,78px); }
.brand-hero-eyebrow { display:block; color:#44607a; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.19em; }
.brand-hero-eyebrow span { color:var(--hero-accent); padding:0 7px; }
.brand-hero-logo { display:block; width:min(58%,265px); max-height:60px; object-fit:contain; object-position:left center; margin:36px 0 0; filter:none; }
.brand-hero-slide.is-denon .brand-hero-logo { width:min(54%,250px); filter:brightness(0) saturate(100%); }
.brand-hero-slide.is-kicker .brand-hero-logo { width:min(50%,228px); }
.brand-hero-title { max-width:510px; margin:22px 0 0; color:#10283d; font-size:clamp(35px,3.6vw,53px); line-height:1.07; letter-spacing:-.052em; font-weight:800; }
.brand-hero-shop { position:static; display:inline-flex; align-items:center; gap:28px; margin-top:34px; padding:15px 22px; min-height:54px; border:0; border-radius:4px; background:var(--hero-accent); color:#fff; font-size:14px; font-weight:800; letter-spacing:.02em; text-shadow:none; }
.brand-hero-slide.is-kicker .brand-hero-shop { color:#142333; }
.brand-hero-shop:hover { border:0; background:#183c5b; color:#fff; }
.brand-hero-shop span { font-size:20px; line-height:1; font-weight:400; }
.brand-hero-footnote { position:absolute; z-index:3; right:34px; bottom:25px; color:#517086; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.brand-hero-footnote span { color:var(--hero-accent); padding:0 8px; }
@media(max-width:760px) {
  .brand-hero-slide { height:550px; }
  .brand-hero-visual { inset:0 0 0 8%; }
  .brand-hero-orbit { top:77%; }
  .brand-hero-index { top:40%; }
  .brand-hero-product-main { top:auto; bottom:0; height:58%; }
  .brand-hero-product-secondary { bottom:1%; height:39%; }
  .brand-hero-slide.is-denon .brand-hero-product-main { top:auto; bottom:0; height:63%; }
  .brand-hero-slide.is-denon .brand-hero-product-secondary { bottom:0; height:43%; }
  .brand-hero-slide.is-kicker .brand-hero-product-main { top:auto; bottom:0; height:60%; }
  .brand-hero-slide.is-kicker .brand-hero-product-secondary { bottom:1%; height:37%; }
  .brand-hero-slide.is-dlink .brand-hero-product-main { top:auto; bottom:1%; height:54%; }
  .brand-hero-slide.is-dlink .brand-hero-product-secondary { bottom:0; height:32%; }
  .brand-hero-slide.is-panasonic .brand-hero-product-main { top:auto; bottom:-4%; height:64%; }
  .brand-hero-slide.is-panasonic .brand-hero-product-secondary { bottom:0; height:43%; }
  .brand-hero-content { width:78%; height:auto; padding:42px 0 0 30px; justify-content:flex-start; }
  .brand-hero-logo { margin-top:20px; max-height:43px; }
  .brand-hero-title { margin-top:12px; font-size:clamp(31px,6vw,42px); }
  .brand-hero-shop { margin-top:20px; min-height:46px; padding:10px 17px; font-size:12px; }
  .brand-hero-footnote { right:16px; bottom:14px; font-size:8px; }
}
@media(max-width:540px) {
  .brand-hero-track { border-radius:9px; }
  .brand-hero-slide { height:535px; }
  .brand-hero-content { width:92%; padding:34px 25px 0; }
  .brand-hero-eyebrow { font-size:9px; letter-spacing:.12em; }
  .brand-hero-logo { width:170px; max-height:34px; margin-top:18px; }
  .brand-hero-slide.is-denon .brand-hero-logo,.brand-hero-slide.is-kicker .brand-hero-logo { width:165px; }
  .brand-hero-title { max-width:300px; font-size:30px; line-height:1.08; }
  .brand-hero-shop { margin-top:15px; }
  .brand-hero-visual { inset:0 -8% 0 0; }
  .brand-hero-product-main { width:78%; right:-3%; }
  .brand-hero-product-secondary { width:51%; left:-5%; }
  .brand-hero-slide.is-kicker .brand-hero-product-main { width:62%; right:10%; }
  .brand-hero-slide.is-kicker .brand-hero-product-secondary { width:43%; left:0; }
  .brand-hero-slide.is-dlink .brand-hero-product-main { width:72%; right:8%; }
  .brand-hero-slide.is-panasonic .brand-hero-product-main { width:67%; right:10%; }
  .brand-hero-footnote { display:none; }
}

/* v1.0.14: the brand directory uses the actual brand marks. */
.page-content .brand-grid { gap:12px; }
.page-content .brand-grid .brand-tile {
  min-height:144px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  color:#536167;
  text-align:center;
  text-decoration:none;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.page-content .brand-grid .brand-tile:hover,
.page-content .brand-grid .brand-tile:focus-visible {
  border-color:#9fbd4b;
  box-shadow:0 8px 24px #132b3214;
  transform:translateY(-2px);
  outline:none;
}
.brand-tile img {
  display:block;
  width:min(100%,210px);
  height:72px;
  object-fit:contain;
}
.brand-tile-name {
  display:block;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  color:#68767a;
}
@media(max-width:760px) {
  .page-content .brand-grid .brand-tile { min-height:125px; padding:14px 10px; }
  .brand-tile img { height:62px; width:min(100%,180px); }
}

/* v1.0.15: full-bleed, photographic opening carousel. */
.featured-storefront { padding-top:0; }
.brand-hero.wrap { width:100%; max-width:none; margin:0 0 78px; padding:0; position:relative; background:#0a1820; }
.brand-hero-track { border-radius:0; box-shadow:none; background:#0a1820; }
.brand-hero-slide {
  height:calc(100svh - 170px);
  min-height:650px;
  max-height:1100px;
  background:#11232d;
  color:#fff;
}
.brand-hero-slide::before { display:none; }
.brand-hero-slide::after {
  content:''; position:absolute; z-index:2; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(5,19,29,.94) 0%,rgba(5,19,29,.84) 24%,rgba(5,19,29,.48) 52%,rgba(5,19,29,.08) 83%),linear-gradient(0deg,rgba(5,19,29,.40),transparent 32%);
}
.brand-hero-visual { position:absolute; z-index:1; inset:0; mix-blend-mode:normal; }
.brand-hero-scene { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 48%; }
.brand-hero-slide.is-kicker .brand-hero-scene { object-position:center 52%; }
.brand-hero-slide.is-dlink .brand-hero-scene { object-position:center 52%; }
.brand-hero-slide.is-panasonic .brand-hero-scene { object-position:center 50%; }
.brand-hero-content {
  position:relative; z-index:3; width:min(60%,760px); height:100%;
  padding:65px 30px 115px clamp(34px,7.4vw,142px);
  justify-content:center;
}
.brand-hero-eyebrow { color:#d9e7e9; font-size:11px; letter-spacing:.23em; }
.brand-hero-eyebrow span { color:#bed680; }
.brand-hero-brand { display:inline-flex; align-items:center; gap:15px; margin:32px 0 24px; color:#fff; font-size:clamp(22px,2.2vw,31px); font-weight:750; line-height:1; letter-spacing:.04em; text-shadow:0 2px 16px #0617229c; }
.brand-hero-brand::before { content:''; display:block; width:31px; height:2px; flex:none; background:#c8e18a; }
.brand-hero-title { max-width:660px; margin:0; color:#fff; font-size:clamp(50px,5.5vw,82px); font-weight:700; line-height:1.03; letter-spacing:-.055em; text-wrap:balance; }
.brand-hero-detail { max-width:455px; margin:24px 0 0; color:#e1e9e9; font-size:clamp(15px,1.3vw,18px); line-height:1.55; }
.brand-hero-shop { min-height:56px; margin-top:34px; padding:14px 22px; gap:28px; border-radius:3px; background:#fff; color:#142b36; font-size:13px; }
.brand-hero-slide.is-kicker .brand-hero-shop { color:#142b36; }
.brand-hero-shop:hover { background:#e8f2d1; color:#142b36; }
.brand-hero-footnote { display:none; }
.brand-hero-controls { position:absolute; z-index:4; right:clamp(30px,7.4vw,142px); bottom:31px; left:clamp(30px,7.4vw,142px); min-height:48px; padding:0; }
.brand-hero-status,.brand-hero-status [data-slide-current] { color:#fff; }
.brand-hero-status-divider { background:#ffffffa0; }
.brand-hero-dot span { background:#ffffff6d; }
.brand-hero-dot.is-active span,.brand-hero-dot:hover span { background:#fff; }
.brand-hero-buttons button { width:42px; height:42px; border:1px solid #ffffffa0; background:#ffffff20; color:#fff; backdrop-filter:blur(9px); }
.brand-hero-buttons button:hover { border-color:#fff; background:#fff; color:#142b36; }
@media(max-width:760px) {
  .brand-hero.wrap { margin-bottom:52px; }
  .brand-hero-slide { height:calc(100svh - 175px); min-height:620px; max-height:850px; }
  .brand-hero-slide::after { background:linear-gradient(180deg,rgba(5,19,29,.89) 0%,rgba(5,19,29,.72) 35%,rgba(5,19,29,.18) 78%,rgba(5,19,29,.66) 100%),linear-gradient(90deg,rgba(5,19,29,.28),transparent 80%); }
  .brand-hero-visual { inset:0; }
  .brand-hero-scene { object-position:58% center; }
  .brand-hero-slide.is-denon .brand-hero-scene { object-position:63% center; }
  .brand-hero-slide.is-kicker .brand-hero-scene { object-position:62% center; }
  .brand-hero-slide.is-dlink .brand-hero-scene { object-position:57% center; }
  .brand-hero-slide.is-panasonic .brand-hero-scene { object-position:56% center; }
  .brand-hero-content { width:100%; max-width:570px; height:100%; padding:62px 30px 125px; justify-content:flex-start; }
  .brand-hero-brand { margin:25px 0 21px; font-size:25px; }
  .brand-hero-title { max-width:520px; font-size:clamp(41px,7.3vw,58px); }
  .brand-hero-detail { max-width:390px; margin-top:17px; font-size:15px; }
  .brand-hero-shop { margin-top:24px; min-height:49px; }
  .brand-hero-controls { left:28px; right:28px; bottom:22px; }
}
@media(max-width:540px) {
  .brand-hero-track { border-radius:0; }
  .brand-hero-content { padding:48px 24px 105px; }
  .brand-hero-eyebrow { font-size:9px; letter-spacing:.13em; }
  .brand-hero-brand { gap:11px; margin:22px 0 19px; font-size:23px; }
  .brand-hero-brand::before { width:22px; }
  .brand-hero-title { max-width:355px; font-size:clamp(38px,10vw,51px); line-height:1.04; }
  .brand-hero-detail { max-width:310px; margin-top:15px; font-size:14px; }
  .brand-hero-shop { margin-top:20px; min-height:47px; padding:12px 17px; }
  .brand-hero-controls { left:23px; right:23px; bottom:18px; gap:8px; }
  .brand-hero-status { display:none; }
  .brand-hero-dot { width:27px; }
  .brand-hero-buttons button { width:35px; height:35px; }
}

/* Contact page: photographic welcome and a clear, two-column inquiry area. */
.contact-hero { position:relative; isolation:isolate; min-height:480px; margin-top:26px; overflow:hidden; display:grid; place-items:center; border-radius:15px; background:#22354c; color:#fff; }
.contact-hero-image,.contact-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.contact-hero-image { z-index:-2; object-fit:cover; object-position:center 42%; }
.contact-hero-shade { z-index:-1; background:linear-gradient(105deg,rgba(44,39,93,.78) 0%,rgba(100,44,112,.65) 39%,rgba(10,62,92,.56) 100%),linear-gradient(0deg,rgba(10,24,44,.26),transparent 70%); }
.contact-hero-content { width:min(90%,850px); padding:96px 20px; text-align:center; text-shadow:0 2px 22px rgba(5,22,39,.22); }
.contact-hero-eyebrow,.contact-eyebrow { display:block; font-size:11px; font-weight:800; letter-spacing:.22em; line-height:1.5; }
.contact-hero-eyebrow { color:#eaf2e1; }
.contact-hero h1 { margin:17px 0 15px; color:#fff; font-size:clamp(55px,6.6vw,92px); line-height:1; letter-spacing:-.065em; }
.contact-hero p { max-width:580px; margin:0 auto; color:#fff; font-size:clamp(16px,1.5vw,19px); line-height:1.6; }
.contact-conversation { padding-top:88px; padding-bottom:110px; }
.contact-intro { text-align:center; max-width:700px; margin:0 auto 68px; }
.contact-eyebrow { color:#779628; }
.contact-intro h2 { margin:12px 0 12px; font-size:clamp(37px,4.1vw,58px); line-height:1.12; letter-spacing:-.055em; }
.contact-intro p { margin:0; color:#607076; font-size:17px; }
.contact-columns { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(50px,7vw,110px); align-items:start; }
.contact-help { padding-top:25px; }
.contact-help h3 { margin:11px 0 15px; font-size:clamp(27px,2.5vw,37px); line-height:1.15; letter-spacing:-.045em; }
.contact-help-lead { max-width:470px; margin:0 0 42px; color:#5b6b71; font-size:16px; line-height:1.65; }
.contact-help-item { display:grid; grid-template-columns:45px 1fr; gap:17px; padding:22px 0; border-top:1px solid #e0e6e5; }
.contact-help-icon { color:#799b23; font-size:13px; font-weight:800; letter-spacing:.1em; padding-top:3px; }
.contact-help-item h4 { margin:0 0 6px; font-size:17px; letter-spacing:-.02em; }
.contact-help-item p { max-width:430px; margin:0; color:#647379; font-size:14px; line-height:1.6; }
.contact-direct { display:grid; gap:10px; margin-top:42px; padding:27px 28px; border-radius:8px; background:#edf3e5; }
.contact-direct>span { margin-bottom:6px; color:#526260; font-size:13px; }
.contact-direct a { display:flex; justify-content:space-between; gap:20px; width:fit-content; color:#263c32; font-size:16px; font-weight:750; border-bottom:1px solid #a8c83f; }
.contact-direct a:hover { color:#54710f; }
.contact-form-panel { padding:36px 38px 40px; border:1px solid #dfe7e5; border-radius:12px; box-shadow:0 20px 55px rgba(18,49,52,.07); background:#fff; }
.contact-form-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:28px; margin-bottom:27px; border-bottom:1px solid #e4e9e7; }
.contact-form-heading h3 { margin:7px 0 0; font-size:29px; line-height:1.15; letter-spacing:-.045em; }
.contact-form-mark { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; background:#edf3e5; color:#577514; font-size:24px; }
.contact-form { display:grid; gap:20px; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.contact-field { display:grid; gap:8px; min-width:0; }
.contact-field label { color:#334348; font-size:13px; font-weight:750; }
.contact-field label span:not(.contact-optional) { color:#729017; }
.contact-optional { color:#8c989a; font-size:12px; font-weight:400; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #d5dddc; border-radius:5px; outline:none; background:#fbfcfb; color:#233339; font:inherit; font-size:14px; }
.contact-field textarea { min-height:140px; resize:vertical; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:#719428; box-shadow:0 0 0 3px #a8c83f2b; background:#fff; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#94a0a2; }
.contact-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-consent { display:flex; align-items:flex-start; gap:11px; color:#596970; font-size:13px; line-height:1.5; }
.contact-consent input { width:17px; height:17px; margin:2px 0 0; flex:none; accent-color:#84a82b; }
.contact-consent a { color:#476819; text-decoration:underline; text-underline-offset:3px; }
.contact-form-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; margin:-4px 0 0; color:#7a888c; font-size:11px; }
.contact-submit { display:flex; align-items:center; justify-content:space-between; min-height:53px; width:100%; margin-top:3px; padding:0 20px; border:0; border-radius:5px; background:#a8c83f; color:#172a2a; font-size:14px; font-weight:800; transition:background .15s,transform .15s; }
.contact-submit:hover { background:#bad853; transform:translateY(-1px); }
.contact-submit span { font-size:20px; font-weight:400; }
.contact-form-notice { margin:0 0 22px; padding:13px 15px; border-radius:5px; font-size:13px; }
.contact-form-notice.is-success { background:#ebf5de; color:#355c19; }
.contact-form-notice.is-error { background:#fff0ef; color:#9b2c24; }
@media(max-width:900px) { .contact-columns { gap:36px; } .contact-form-panel { padding:28px; } }
@media(max-width:760px) {
  .contact-hero { min-height:390px; margin-top:14px; border-radius:9px; }
  .contact-hero-image { object-position:62% center; }
  .contact-hero-shade { background:linear-gradient(100deg,rgba(41,33,78,.82),rgba(25,71,96,.48)),linear-gradient(0deg,rgba(8,30,49,.28),transparent); }
  .contact-hero-content { padding:75px 20px; }
  .contact-hero h1 { font-size:clamp(48px,11vw,72px); }
  .contact-conversation { padding-top:65px; padding-bottom:76px; }
  .contact-intro { margin-bottom:45px; }
  .contact-intro h2 { font-size:clamp(34px,8vw,50px); }
  .contact-columns { grid-template-columns:1fr; gap:42px; }
  .contact-help { padding-top:0; }
  .contact-help-lead { margin-bottom:29px; }
  .contact-direct { margin-top:26px; }
}
@media(max-width:520px) {
  .contact-hero { min-height:350px; }
  .contact-hero-content { width:100%; padding:65px 20px; }
  .contact-hero-eyebrow,.contact-eyebrow { font-size:10px; letter-spacing:.17em; }
  .contact-hero p { max-width:310px; font-size:14px; }
  .contact-conversation { padding-top:55px; }
  .contact-intro p { font-size:15px; }
  .contact-form-panel { padding:25px 18px 26px; }
  .contact-form-row { grid-template-columns:1fr; gap:20px; }
  .contact-form-heading h3 { font-size:26px; }
  .contact-direct { padding:23px 20px; }
}

/* About page: a photographic introduction and editorial story. */
.about-hero { position:relative; isolation:isolate; min-height:430px; margin-top:26px; overflow:hidden; display:grid; place-items:center; border-radius:14px; background:#26385a; color:#fff; }
.about-hero-image,.about-hero-overlay { position:absolute; inset:0; width:100%; height:100%; }
.about-hero-image { z-index:-2; object-fit:cover; object-position:center 48%; }
.about-hero-overlay { z-index:-1; background:linear-gradient(90deg,rgba(31,49,99,.76),rgba(30,54,113,.70)),linear-gradient(0deg,rgba(8,23,53,.25),transparent 60%); }
.about-hero-content { width:min(92%,740px); padding:85px 20px; text-align:center; text-shadow:0 2px 18px rgba(0,0,0,.18); }
.about-hero-eyebrow,.about-eyebrow { display:block; font-size:11px; line-height:1.5; font-weight:800; letter-spacing:.22em; }
.about-hero-eyebrow { color:#e8edfb; }
.about-hero h1 { margin:16px 0 13px; color:#fff; font-size:clamp(56px,6.2vw,86px); line-height:1; letter-spacing:-.06em; }
.about-hero p { max-width:580px; margin:0 auto; color:#f3f6ff; font-size:clamp(16px,1.5vw,19px); line-height:1.6; }
.about-image-note { position:absolute; right:22px; bottom:18px; color:#ffffffb3; font-size:10px; letter-spacing:.05em; }
.about-story { margin-top:25px; background:#f3f6fb; }
.about-story-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:clamp(55px,7vw,120px); padding-top:105px; padding-bottom:105px; }
.about-eyebrow { color:#6b822e; }
.about-story-copy { max-width:570px; }
.about-story-copy h2 { margin:15px 0 26px; max-width:560px; font-size:clamp(40px,4.4vw,64px); line-height:1.08; letter-spacing:-.06em; }
.about-story-copy p { max-width:535px; margin:0 0 19px; color:#576873; font-size:16px; line-height:1.8; }
.about-story-link { display:inline-flex; align-items:center; gap:38px; margin-top:18px; padding-bottom:7px; border-bottom:2px solid #9fbb45; color:#1d343c; font-size:14px; font-weight:800; }
.about-story-link:hover { color:#5e7b22; }
.about-story-link span { font-size:21px; font-weight:400; }
.about-story-visual { position:relative; height:520px; margin:0; overflow:hidden; border-radius:10px; background:#d9e4e7; box-shadow:0 30px 60px rgba(36,54,75,.11); }
.about-story-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.about-story-visual:after { content:''; position:absolute; inset:52% 0 0; background:linear-gradient(0deg,rgba(9,29,42,.7),transparent); pointer-events:none; }
.about-story-visual figcaption { position:absolute; left:35px; bottom:30px; z-index:1; display:grid; gap:7px; color:#fff; }
.about-story-visual figcaption span { font-size:10px; font-weight:800; letter-spacing:.18em; }
.about-story-visual figcaption strong { font-size:22px; line-height:1.2; letter-spacing:-.03em; }
.about-values { padding-top:91px; padding-bottom:100px; }
.about-values-heading { max-width:640px; margin-bottom:31px; }
.about-values-heading h2 { margin:10px 0 0; font-size:clamp(32px,3.8vw,47px); line-height:1.15; letter-spacing:-.05em; }
.about-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.about-values-grid article { min-height:225px; padding:31px; border:1px solid #e1e8e7; border-radius:7px; background:#fff; }
.about-values-grid article span { color:#7f9e30; font-size:12px; font-weight:800; letter-spacing:.15em; }
.about-values-grid h3 { margin:39px 0 9px; font-size:21px; line-height:1.2; letter-spacing:-.025em; }
.about-values-grid p { max-width:325px; margin:0; color:#637279; font-size:14px; line-height:1.6; }
.about-contact-band { background:#17363f; color:#fff; }
.about-contact-band>.wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:52px; padding-bottom:52px; }
.about-contact-band .about-eyebrow { color:#c8df78; }
.about-contact-band h2 { margin:8px 0 7px; color:#fff; font-size:32px; line-height:1.15; letter-spacing:-.04em; }
.about-contact-band p { margin:0; color:#cadcde; font-size:15px; }
.about-contact-band a { display:inline-flex; align-items:center; justify-content:space-between; min-width:185px; gap:32px; padding:15px 20px; border-radius:4px; background:#a8c83f; color:#1d3132; font-size:13px; font-weight:800; }
.about-contact-band a:hover { background:#c2db6c; }
.about-contact-band a span { font-size:20px; font-weight:400; }
@media(max-width:900px) { .about-story-layout { gap:45px; } .about-story-visual { height:450px; } }
@media(max-width:760px) {
  .about-hero { min-height:370px; margin-top:14px; border-radius:9px; }
  .about-hero-image { object-position:center; }
  .about-hero-content { padding:75px 18px; }
  .about-story { margin-top:14px; }
  .about-story-layout { grid-template-columns:1fr; gap:42px; padding-top:65px; padding-bottom:65px; }
  .about-story-visual { height:400px; }
  .about-values { padding-top:67px; padding-bottom:75px; }
  .about-values-grid { grid-template-columns:1fr; gap:12px; }
  .about-values-grid article { min-height:0; padding:24px; }
  .about-values-grid h3 { margin-top:26px; }
  .about-contact-band>.wrap { align-items:flex-start; flex-direction:column; }
}
@media(max-width:520px) {
  .about-hero { min-height:330px; }
  .about-hero-image { object-position:49% center; }
  .about-hero h1 { font-size:clamp(52px,13vw,68px); }
  .about-hero p { max-width:300px; font-size:14px; }
  .about-hero-eyebrow,.about-eyebrow { font-size:10px; letter-spacing:.16em; }
  .about-image-note { right:14px; bottom:12px; font-size:9px; }
  .about-story-copy h2 { font-size:clamp(39px,10vw,52px); }
  .about-story-copy p { font-size:15px; }
  .about-story-visual { height:340px; }
  .about-story-visual figcaption { left:22px; bottom:22px; }
  .about-story-visual figcaption strong { font-size:18px; }
  .about-contact-band h2 { font-size:29px; }
}

/* FAQ: photo-led support desk, working inquiry form, and expandable answers. */
.faq-hero { position:relative; isolation:isolate; min-height:660px; margin-top:26px; overflow:hidden; border-radius:14px; background:#26344f; color:#fff; }
.faq-hero-image,.faq-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.faq-hero-image { z-index:-2; object-fit:cover; object-position:center 49%; }
.faq-hero-shade { z-index:-1; background:linear-gradient(100deg,rgba(15,31,55,.94) 0%,rgba(28,42,73,.85) 44%,rgba(42,48,83,.56) 100%),linear-gradient(0deg,rgba(12,24,43,.35),transparent 63%); }
.faq-hero-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.8fr); align-items:center; gap:clamp(35px,5vw,85px); min-height:660px; padding:50px clamp(35px,5vw,78px); }
.faq-hero-copy { padding:25px 0; }
.faq-eyebrow,.faq-form-eyebrow { display:block; font-size:11px; font-weight:800; letter-spacing:.22em; line-height:1.5; }
.faq-eyebrow { color:#c8e5e6; }
.faq-hero-copy h1 { max-width:700px; margin:23px 0 23px; color:#fff; font-size:clamp(46px,5.2vw,74px); line-height:1.06; letter-spacing:-.06em; text-wrap:balance; }
.faq-hero-copy>p { max-width:480px; margin:0; color:#e6eff2; font-size:18px; line-height:1.7; }
.faq-hero-links { display:flex; flex-wrap:wrap; gap:17px 32px; margin-top:54px; }
.faq-hero-links a { display:inline-flex; align-items:center; gap:8px; padding-bottom:5px; border-bottom:1px solid #c8dbdb; color:#fff; font-size:14px; font-weight:750; }
.faq-hero-links a:hover { border-color:#c8e37d; color:#d9eda7; }
.faq-question-panel { min-width:0; padding:28px 31px 31px; border:1px solid #e2e8e8; border-radius:11px; background:#fff; color:#26363d; box-shadow:0 28px 70px rgba(6,19,34,.27); }
.faq-form-eyebrow { color:#718d2a; }
.faq-question-panel h2 { margin:8px 0 7px; font-size:clamp(24px,2.3vw,31px); line-height:1.16; letter-spacing:-.045em; }
.faq-question-panel>p:not(.contact-form-notice) { margin:0 0 22px; color:#64737a; font-size:13px; line-height:1.55; }
.faq-form { gap:13px; }
.faq-form .contact-form-row { gap:12px; }
.faq-form .contact-field { gap:5px; }
.faq-form .contact-field label { font-size:12px; }
.faq-form .contact-field input,.faq-form .contact-field select { min-height:41px; padding:8px 11px; font-size:13px; }
.faq-form .contact-field textarea { min-height:87px; padding:9px 11px; font-size:13px; }
.faq-form .contact-consent { font-size:11px; }
.faq-form .contact-submit { min-height:44px; margin-top:0; }
.faq-answers { padding-top:89px; padding-bottom:110px; }
.faq-answers-head { max-width:700px; margin:0 auto 55px; text-align:center; }
.faq-answers-head h2 { margin:10px 0 11px; font-size:clamp(38px,4vw,56px); line-height:1.12; letter-spacing:-.055em; }
.faq-answers-head p { margin:0; color:#68777d; font-size:16px; }
.faq-answer-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; align-items:start; }
.faq-answer-group { min-width:0; border:1px solid #e0e6e5; border-radius:8px; background:#fff; overflow:hidden; }
.faq-group-heading { display:flex; align-items:center; gap:15px; padding:24px 27px; background:#f0f4f0; }
.faq-group-heading span { color:#779524; font-size:12px; font-weight:800; letter-spacing:.14em; }
.faq-group-heading h3 { margin:0; font-size:21px; line-height:1.2; letter-spacing:-.035em; }
.faq-answer-group details { border-top:1px solid #e5eae8; }
.faq-answer-group summary { position:relative; display:block; padding:22px 60px 22px 27px; color:#26353a; font-size:16px; font-weight:750; line-height:1.4; cursor:pointer; list-style:none; }
.faq-answer-group summary::-webkit-details-marker { display:none; }
.faq-answer-group summary:after { content:'+'; position:absolute; top:50%; right:28px; transform:translateY(-50%); color:#72902a; font-size:24px; font-weight:400; line-height:1; }
.faq-answer-group details[open] summary:after { content:'−'; }
.faq-answer-group summary:hover,.faq-answer-group summary:focus-visible { color:#597920; }
.faq-answer-body { padding:0 55px 24px 27px; }
.faq-answer-body p { margin:0; color:#617178; font-size:14px; line-height:1.7; }
.faq-answer-body a { color:#4f7020; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:950px) {
  .faq-hero-layout { grid-template-columns:minmax(0,1fr) minmax(330px,.9fr); gap:30px; padding:35px; }
  .faq-hero-copy h1 { font-size:clamp(41px,4.8vw,61px); }
  .faq-question-panel { padding:24px; }
}
@media(max-width:760px) {
  .faq-hero { margin-top:14px; border-radius:9px; }
  .faq-hero-shade { background:linear-gradient(180deg,rgba(16,31,56,.9),rgba(33,45,73,.82)),linear-gradient(90deg,rgba(9,26,46,.55),transparent); }
  .faq-hero-layout { grid-template-columns:1fr; gap:10px; padding:41px 28px 31px; }
  .faq-hero-copy { padding:0 0 29px; }
  .faq-hero-copy h1 { max-width:610px; font-size:clamp(43px,8vw,60px); }
  .faq-hero-copy>p { font-size:16px; }
  .faq-hero-links { margin-top:27px; }
  .faq-question-panel { max-width:620px; width:100%; }
  .faq-answers { padding-top:65px; padding-bottom:75px; }
  .faq-answers-head { margin-bottom:35px; }
  .faq-answer-columns { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:520px) {
  .faq-hero-layout { padding:34px 17px 18px; }
  .faq-eyebrow,.faq-form-eyebrow { font-size:10px; letter-spacing:.16em; }
  .faq-hero-copy h1 { margin:17px 0; font-size:clamp(39px,10vw,49px); }
  .faq-hero-copy>p { font-size:14px; }
  .faq-hero-links { display:grid; gap:12px; font-size:13px; }
  .faq-question-panel { padding:23px 18px; }
  .faq-form .contact-form-row { grid-template-columns:1fr; }
  .faq-answers-head h2 { font-size:36px; }
  .faq-group-heading { padding:20px; }
  .faq-answer-group summary { padding:19px 52px 19px 20px; font-size:15px; }
  .faq-answer-group summary:after { right:20px; }
  .faq-answer-body { padding:0 20px 22px; }
}

/* The opening carousel uses discreet, accessible slide selectors only. */
.brand-hero-controls { left:0; right:0; bottom:23px; justify-content:center; min-height:28px; pointer-events:none; }
.brand-hero-dots { gap:6px; pointer-events:auto; }
.brand-hero-dot { width:45px; height:28px; }
.brand-hero-dot span { height:2px; border-radius:2px; background:rgba(255,255,255,.52); }
.brand-hero-dot.is-active span,.brand-hero-dot:hover span { height:3px; background:#fff; }
.brand-hero-dot:focus-visible { outline:2px solid #d3e893; outline-offset:3px; border-radius:2px; }
@media(max-width:540px) {
  .brand-hero-controls { left:0; right:0; bottom:17px; }
  .brand-hero-dot { width:31px; height:28px; }
}

/* Officebrook Journal: three real-photo stories and a readable article layout. */
.home-journal { padding-top:76px; padding-bottom:88px; }
.home-journal-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:31px; }
.home-journal-eyebrow,.journal-section-kicker { display:block; color:#789528; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.home-journal-heading h2,.journal-archive-intro h2 { margin:10px 0 6px; font-size:clamp(36px,3.7vw,52px); line-height:1.1; letter-spacing:-.055em; }
.home-journal-heading p { margin:0; color:#68777b; font-size:15px; }
.home-journal-heading>a { flex:none; padding-bottom:6px; border-bottom:1px solid #87aa38; font-size:13px; font-weight:750; }
.home-journal-heading>a:hover,.journal-card-more:hover { color:#60811a; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.journal-card { min-width:0; overflow:hidden; border:1px solid #e2e8e6; border-radius:9px; background:#fff; box-shadow:0 8px 30px rgba(20,39,44,.035); transition:transform .25s,box-shadow .25s; }
.journal-card:hover { transform:translateY(-4px); box-shadow:0 22px 42px rgba(20,39,44,.12); }
.journal-card-media { display:block; aspect-ratio:1.5; overflow:hidden; background:#e8ebeb; }
.journal-card-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 57%; transition:transform .45s; }
.journal-card:first-child .journal-card-media img { object-position:center 60%; }
.journal-card:nth-child(3) .journal-card-media img { object-position:center 46%; }
.journal-card:hover .journal-card-media img { transform:scale(1.045); }
.journal-card-body { display:flex; flex-direction:column; min-height:234px; padding:23px 25px 25px; }
.journal-card-label { color:#77932d; font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.journal-card h3 { margin:10px 0 9px; font-size:clamp(20px,1.8vw,25px); line-height:1.16; letter-spacing:-.04em; }
.journal-card h3 a:hover { color:#59771d; }
.journal-card p { margin:0 0 21px; color:#67767b; font-size:13px; line-height:1.6; }
.journal-card-more { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:auto; padding-bottom:3px; border-bottom:1px solid #a5c43c; font-size:12px; font-weight:800; }
.journal-card-more span { font-size:16px; font-weight:400; }
.journal-archive-hero { position:relative; overflow:hidden; background:#1b3037; color:#fff; }
.journal-archive-hero:before { content:''; position:absolute; width:660px; height:660px; top:-320px; right:-110px; border:1px solid rgba(188,221,116,.23); border-radius:50%; box-shadow:0 0 0 90px rgba(188,221,116,.035),0 0 0 190px rgba(188,221,116,.025); }
.journal-archive-hero .wrap { position:relative; padding-top:102px; padding-bottom:107px; }
.journal-archive-hero .journal-section-kicker { color:#c4dc7c; }
.journal-archive-hero h1 { max-width:850px; margin:19px 0; font-size:clamp(49px,5.4vw,76px); line-height:1.04; letter-spacing:-.065em; }
.journal-archive-hero p { max-width:530px; margin:0; color:#d3e0e0; font-size:18px; line-height:1.55; }
.journal-archive { padding-top:69px; padding-bottom:110px; }
.journal-archive-intro { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:27px; }
.journal-archive-intro h2 { font-size:clamp(33px,3.3vw,45px); }
.journal-archive-intro>span { color:#79888b; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.journal-article-head { max-width:960px; padding-top:59px; padding-bottom:37px; }
.journal-back { display:inline-block; margin-bottom:58px; color:#64757b; font-size:13px; font-weight:700; }
.journal-back:hover { color:#66851c; }
.journal-article-head h1 { max-width:860px; margin:15px 0; font-size:clamp(50px,6vw,82px); line-height:1.02; letter-spacing:-.065em; }
.journal-article-head p { max-width:720px; margin:0; color:#67767a; font-size:18px; line-height:1.55; }
.journal-article-image { max-width:1260px; height:clamp(340px,43vw,610px); overflow:hidden; border-radius:9px; background:#ebeeee; }
.journal-article-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.journal-article-content { max-width:780px; padding-top:60px; padding-bottom:100px; }
.journal-article-content p { color:#435359; font-size:17px; line-height:1.85; margin:0 0 23px; }
.journal-article-content .journal-lead { color:#273b42; font-size:22px; line-height:1.6; }
.journal-article-content h2 { margin:44px 0 13px; font-size:30px; line-height:1.2; letter-spacing:-.045em; }
.journal-article-content a { color:#5b7c18; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.journal-article-end { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:63px; padding-top:23px; border-top:1px solid #dbe4e2; }
.journal-article-end span { color:#7b9292; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.journal-article-end a { font-size:13px; }
@media(max-width:900px) { .journal-grid { gap:13px; } .journal-card-body { padding:20px; } }
@media(max-width:760px) {
  .home-journal { padding-top:62px; padding-bottom:70px; }
  .home-journal-heading { align-items:start; flex-direction:column; gap:16px; }
  .journal-grid { grid-template-columns:1fr; gap:18px; }
  .journal-card-media { aspect-ratio:1.65; }
  .journal-card-body { min-height:0; padding:22px; }
  .journal-card h3 { font-size:24px; }
  .journal-card p { margin-bottom:19px; }
  .journal-archive-hero .wrap { padding-top:75px; padding-bottom:78px; }
  .journal-archive-hero h1 { font-size:clamp(47px,9vw,64px); }
  .journal-archive-hero p { font-size:16px; }
  .journal-archive { padding-top:58px; padding-bottom:75px; }
  .journal-article-head { padding-top:38px; }
  .journal-back { margin-bottom:41px; }
  .journal-article-head h1 { font-size:clamp(43px,10vw,67px); }
  .journal-article-head p { font-size:16px; }
  .journal-article-image { height:390px; }
  .journal-article-content { padding-top:43px; padding-bottom:75px; }
  .journal-article-content .journal-lead { font-size:20px; }
}

/* v1.0.27: selected warm editorial lifestyle design for the opening carousel. */
.brand-hero.wrap { background:#766b5e; }
.brand-hero-track { background:#766b5e; }
.brand-hero-slide { height:calc(100svh - 170px); min-height:650px; max-height:900px; background:#766b5e; color:#263331; }
.brand-hero-slide::after { z-index:2; background:linear-gradient(0deg,rgba(34,29,24,.23),transparent 37%); }
.brand-hero-visual { inset:0; mix-blend-mode:normal; }
.brand-hero-scene { object-position:center 47%; }
.brand-hero-slide.is-denon .brand-hero-scene { object-position:center 46%; }
.brand-hero-slide.is-kicker .brand-hero-scene { object-position:center 48%; }
.brand-hero-slide.is-dlink .brand-hero-scene { object-position:center 52%; }
.brand-hero-slide.is-panasonic .brand-hero-scene { object-position:center 50%; }
.brand-hero-content {
  position:absolute; z-index:3; top:13%; left:6%;
  width:min(500px,42vw); height:auto; min-height:min(490px,76%);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
  padding:44px 48px 38px; background:rgba(248,245,237,.94);
  box-shadow:0 30px 70px rgba(22,23,22,.26); color:#243330;
}
.brand-hero-eyebrow { color:#696e65; font-size:11px; font-weight:800; letter-spacing:.23em; }
.brand-hero-rule { display:block; width:42px; height:2px; margin:19px 0 30px; background:#a5b783; }
.brand-hero-brand { display:block; margin:0; color:#243330; font-size:16px; font-weight:800; letter-spacing:.16em; line-height:1.2; text-transform:uppercase; text-shadow:none; }
.brand-hero-brand::before { display:none; }
.brand-hero-title { max-width:420px; margin:19px 0 0; color:#1f2c2a; font-family:Georgia,'Times New Roman',serif; font-size:clamp(50px,5.2vw,69px); font-weight:400; line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.brand-hero-slide.is-kicker .brand-hero-title,.brand-hero-slide.is-panasonic .brand-hero-title { font-size:clamp(46px,4.7vw,62px); }
.brand-hero-detail { max-width:350px; margin:19px 0 29px; color:#52605c; font-size:15px; line-height:1.6; }
.brand-hero-shop,.brand-hero-slide.is-kicker .brand-hero-shop {
  min-height:0; min-width:192px; margin-top:auto; padding:12px 0 9px; justify-content:space-between;
  border:0; border-bottom:1px solid #394945; border-radius:0; background:transparent;
  color:#233238; font-size:13px; font-weight:800; letter-spacing:0;
}
.brand-hero-shop:hover,.brand-hero-slide.is-kicker .brand-hero-shop:hover { border:0; border-bottom:1px solid #6d8a31; background:transparent; color:#5b781d; }
.brand-hero-aside { position:absolute; z-index:3; top:16%; right:6%; width:min(360px,29%); color:#fff; text-align:right; text-shadow:0 2px 14px rgba(0,0,0,.58); }
.brand-hero-aside>span { display:block; font-family:Georgia,'Times New Roman',serif; font-size:clamp(20px,1.9vw,28px); line-height:1.15; }
.brand-hero-aside small { display:block; margin-top:6px; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.brand-hero-slide.is-dlink .brand-hero-aside { color:#fff; text-shadow:0 2px 12px #0008; }
.brand-hero-controls { bottom:24px; }
.brand-hero-dot span { filter:drop-shadow(0 1px 3px rgba(0,0,0,.65)); }
@media(max-width:920px) {
  .brand-hero-content { left:5%; width:min(480px,58vw); padding:36px 38px; }
  .brand-hero-aside { display:none; }
}
@media(max-width:760px) {
  .brand-hero-slide { height:calc(100svh - 175px); min-height:650px; max-height:850px; }
  .brand-hero-slide::after { background:linear-gradient(0deg,rgba(34,29,24,.38),transparent 43%); }
  .brand-hero-slide.is-denon .brand-hero-scene { object-position:57% center; }
  .brand-hero-slide.is-kicker .brand-hero-scene { object-position:61% center; }
  .brand-hero-slide.is-dlink .brand-hero-scene { object-position:58% center; }
  .brand-hero-slide.is-panasonic .brand-hero-scene { object-position:56% center; }
  .brand-hero-content { top:auto; bottom:58px; left:4%; right:4%; width:auto; max-width:none; height:auto; min-height:0; padding:26px 27px 24px; }
  .brand-hero-rule { margin:14px 0 17px; }
  .brand-hero-brand { font-size:13px; }
  .brand-hero-title,.brand-hero-slide.is-kicker .brand-hero-title,.brand-hero-slide.is-panasonic .brand-hero-title { max-width:440px; margin-top:13px; font-size:clamp(44px,7vw,58px); }
  .brand-hero-detail { max-width:390px; margin:15px 0 22px; font-size:14px; }
  .brand-hero-shop { margin-top:0; }
  .brand-hero-controls { bottom:12px; }
}
@media(max-width:540px) {
  .brand-hero-content { padding:24px 23px 22px; }
  .brand-hero-eyebrow { font-size:9px; letter-spacing:.16em; }
  .brand-hero-title,.brand-hero-slide.is-kicker .brand-hero-title,.brand-hero-slide.is-panasonic .brand-hero-title { max-width:330px; font-size:clamp(43px,11vw,51px); line-height:1.04; }
  .brand-hero-detail { font-size:13px; line-height:1.55; }
  .brand-hero-shop,.brand-hero-slide.is-kicker .brand-hero-shop { min-height:0; min-width:185px; margin-top:0; padding:8px 0; font-size:12px; }
  .brand-hero-dot span { background:#ffffffa8; }
  .brand-hero-dot.is-active span { background:#fff; }
}
