:root{
    --black:#050505;
    --ink:#151515;
    --muted:#68645f;
    --gold:#b98a2e;
    --gold-dark:#8b641c;
    --cream:#fbf7ef;
    --line:#e5d7be;
    --white:#ffffff;
    --radius:18px;
    --shadow:0 18px 45px rgba(0,0,0,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:15.5px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1140px,92%);margin:0 auto}
.top-strip{background:var(--black);color:#d9c08a;font-size:13px;border-bottom:1px solid rgba(185,138,46,.35)}
.strip-inner{display:flex;justify-content:space-between;gap:16px;padding:7px 0;align-items:center}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.main-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:46px;height:46px;object-fit:contain}
.brand strong{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:15px}.brand small{display:block;text-transform:uppercase;letter-spacing:.32em;color:var(--gold);font-size:11px;margin-top:-3px}
.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{font-size:14px;font-weight:700;padding:10px 12px;border-radius:999px;color:#1f1f1f}.nav-links a:hover,.nav-links .active{background:var(--cream);color:var(--gold-dark)}.nav-links .nav-cta{background:var(--black);color:#fff;margin-left:6px;border:1px solid var(--gold)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-dark);font-weight:800;font-size:12px}.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold);display:inline-block}
h1,h2,h3,h4{line-height:1.08;margin:0 0 14px;color:#101010}h1{font-size:clamp(38px,6.5vw,72px);letter-spacing:-.045em}h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.035em}h3{font-size:20px}p{margin:0 0 16px}.muted{color:var(--muted)}
.hero{background:linear-gradient(110deg,#fff 0%,#fff 54%,#090909 54%,#090909 100%);padding:78px 0 70px;overflow:hidden;position:relative}.hero:after,.page-hero:after,.black-band:after{content:"";position:absolute;inset:auto -5% -95px -5%;height:170px;background:radial-gradient(60% 100% at 55% 0%,rgba(185,138,46,.5),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.02fr .88fr;align-items:center;gap:58px}.hero-copy p{font-size:18px;max-width:610px;color:#514d49}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:999px;background:var(--gold);color:#111;font-weight:900;border:1px solid var(--gold);box-shadow:0 8px 20px rgba(185,138,46,.22)}.btn:hover{transform:translateY(-1px)}.btn-soft{background:#fff;color:#111;border-color:var(--line);box-shadow:none}.text-link{display:inline-flex;color:var(--gold-dark);font-weight:900;border-bottom:2px solid var(--gold);margin-top:6px}.frame-card{position:relative;padding:10px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.frame-card:before{content:"";position:absolute;inset:18px;border:1px solid rgba(185,138,46,.35);border-radius:18px;pointer-events:none}.hero-visual img{height:520px;width:100%;object-fit:cover;object-position:center;border-radius:16px}.floating-note{position:absolute;left:-24px;bottom:38px;background:var(--black);color:#fff;border:1px solid var(--gold);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow)}.floating-note span{display:block;color:#d8c296;font-size:13px}
.section{padding:72px 0}.compact-top{padding:38px 0}.off-white{background:var(--cream)}.section-head{text-align:center;max-width:780px;margin:0 auto 34px}.section-head p{color:var(--muted);font-size:17px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{padding:22px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:0 12px 26px rgba(0,0,0,.06)}.stat-card strong{display:block;font-size:32px;color:var(--gold-dark);line-height:1}.stat-card span{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.05em;color:#38322c}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.split-grid.reverse{grid-template-columns:0.9fr 1.1fr}.split-section p{color:#4d4944}.image-stack{position:relative}.image-stack img,.rounded-img{border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow);width:100%;object-fit:cover}.image-stack img{max-height:530px}.stack-card{position:absolute;right:-12px;bottom:-14px;background:#fff;border:1px solid var(--line);padding:15px 20px;border-radius:14px;font-weight:900;color:#222;box-shadow:0 14px 30px rgba(0,0,0,.12)}.speciality-list{display:flex;flex-wrap:wrap;gap:11px;justify-content:center}.speciality-list span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:800}.speciality-list.small{justify-content:flex-start}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.08);transition:.2s ease}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.service-img{display:block;background:#111}.service-img img{height:225px;width:100%;object-fit:cover}.service-body{padding:22px}.number{display:inline-flex;background:#101010;color:#e7c57b;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.service-body p{color:var(--muted);font-size:14.5px}.black-band{position:relative;background:#060606;color:#fff;overflow:hidden}.black-band h2,.black-band p{color:#fff}.band-grid{display:flex;justify-content:space-between;align-items:center;gap:24px}.band-grid div{max-width:700px}.page-hero{position:relative;background:#060606;color:#fff;padding:92px 0 76px;overflow:hidden;border-bottom:4px solid var(--gold)}.page-hero h1,.page-hero p{color:#fff;max-width:820px}.page-hero.slim h1{font-size:clamp(34px,5vw,56px)}.services-hero,.process-hero,.contact-hero{background:linear-gradient(135deg,#050505 0%,#15100b 70%)}.department-hero{background:linear-gradient(100deg,#060606 0%,#060606 54%,#f9f4ea 54%,#f9f4ea 100%);padding:72px 0}.department-hero h1,.department-hero p{color:#fff}.department-hero p{font-size:17px;max-width:570px}.dept-grid{display:grid;grid-template-columns:1fr .88fr;gap:46px;align-items:center}.dept-grid .frame-card img{height:430px;width:100%;object-fit:cover;border-radius:16px}.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}.tick-list{list-style:none;padding:0;margin:18px 0 0}.tick-list li{position:relative;padding-left:28px;margin-bottom:11px}.tick-list li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);position:absolute;left:0;top:.65em;box-shadow:0 0 0 4px rgba(185,138,46,.15)}.tick-list.columns{columns:2;column-gap:35px}.side-panel,.info-card,.why-card,.payment-panel,.contact-card,.org-card,.step-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 26px rgba(0,0,0,.06)}.side-panel{padding:26px;position:sticky;top:120px}.plain-list{padding-left:18px;color:#3e3a36}.focus-box{background:#080808;color:#fff;border-radius:16px;padding:18px;margin-top:18px}.focus-box span{color:#d8bc74;text-transform:uppercase;font-weight:900;font-size:12px}.focus-box p{margin:4px 0 0;color:#fff}.brochure-img{max-height:540px;object-fit:contain;background:#fff}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{padding:26px}.info-card span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-dark);font-weight:900}.profile-card{padding:10px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.profile-card img{border-radius:16px;max-height:620px;object-fit:contain;margin:auto}.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{padding:22px}.step-card span,.why-card span{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#090909;color:#e4bf70;font-weight:900;margin-bottom:14px}.timeline-note{margin-top:22px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:18px}.gallery-grid{columns:3 250px;column-gap:16px}.gallery-grid figure{break-inside:avoid;margin:0 0 16px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 25px rgba(0,0,0,.08);background:#fff}.gallery-grid img{width:100%;object-fit:cover}.team-layout{max-width:920px}.org-card{padding:22px}.org-card.top{width:280px;margin:0 auto 26px;text-align:center;background:#080808;color:#fff;border-color:#b98a2e}.org-card.top span{display:block;font-weight:900}.org-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.org-card h3{color:#111}.org-card small{display:block;color:var(--gold-dark);font-weight:800;margin-bottom:14px}.org-card li{margin-bottom:8px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-card{padding:22px;text-align:left}.why-card h3{font-size:18px}.why-card p{color:var(--muted);font-size:14px}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.payment-panel{padding:24px}.payment-panel.wide{grid-column:1 / -1}.pay-row{display:grid;gap:2px;padding:12px 0;border-top:1px solid var(--line)}.pay-row strong{color:#111}.pay-row span{font-weight:900;color:var(--gold-dark);font-size:18px}.pay-row small{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.contact-card{padding:24px}.contact-card span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--gold-dark);font-weight:900;margin-bottom:10px}.contact-card a{display:block;font-weight:900;margin-bottom:8px}.footer{background:#050505;color:#f0e6d3;padding:56px 0 20px;border-top:4px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr 1.2fr;gap:30px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.footer-brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}.footer-brand strong{display:block;color:#fff;text-transform:uppercase}.footer-brand span{display:block;color:#d5bc7a;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.footer h4{color:#fff;margin-bottom:14px}.footer a,.footer span{display:block;color:#e7d9bf;margin:7px 0}.footer p{color:#cfc1aa}.small-btn{display:inline-block!important;border:1px solid var(--gold);padding:8px 14px;border-radius:999px;color:#fff!important}.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;color:#b5aa98;font-size:13px}
@media (max-width:980px){
    .hero{background:linear-gradient(180deg,#fff 0%,#fff 60%,#080808 60%,#080808 100%);padding:55px 0}.hero-grid,.split-grid,.dept-grid,.detail-grid{grid-template-columns:1fr}.department-hero{background:#060606}.stats-row,.service-grid,.three-grid,.timeline-grid,.why-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.side-panel{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hero-visual img{height:430px}.tick-list.columns{columns:1}.band-grid{align-items:flex-start;flex-direction:column}.payment-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
    body{font-size:14.5px}.container{width:min(94%,680px)}.top-strip{display:none}.nav-inner{min-height:68px}.brand img{width:40px;height:40px}.brand strong{font-size:14px}.brand small{font-size:10px;letter-spacing:.24em}.menu-toggle{display:inline-flex}.nav-links{position:absolute;left:3%;right:3%;top:74px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px;display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{border-radius:12px;padding:12px 14px}.nav-links .nav-cta{margin-left:0;text-align:center}.hero{padding:38px 0;background:#fff}.hero-grid{gap:28px}.hero-copy p{font-size:15.5px}.hero-actions{gap:10px}.btn{width:100%;min-height:42px}.hero-visual{margin-top:6px}.hero-visual img{height:350px;object-position:center top}.floating-note{left:14px;right:14px;bottom:18px;text-align:center}.section{padding:48px 0}.compact-top{padding:30px 0}.stats-row,.service-grid,.three-grid,.timeline-grid,.why-grid,.contact-grid,.org-columns{grid-template-columns:1fr}.stat-card{padding:18px}.stat-card strong{font-size:28px}.section-head{text-align:left;margin-bottom:24px}.section-head h2{font-size:30px}.speciality-list{justify-content:flex-start}.service-img img{height:215px}.service-body{padding:18px}.page-hero{padding:58px 0 48px}.page-hero h1{font-size:34px}.department-hero{padding:48px 0}.dept-grid .frame-card img{height:320px}.detail-grid{gap:22px}.profile-card img,.brochure-img{max-height:460px}.profile-card{display:none}.gallery-grid{columns:2 160px;column-gap:10px}.gallery-grid figure{margin-bottom:10px;border-radius:14px}.payment-panel,.contact-card,.info-card,.why-card,.step-card,.org-card{padding:18px}.footer{padding-top:38px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.stack-card{position:relative;right:auto;bottom:auto;margin-top:10px}.split-grid{gap:26px}.image-stack img{max-height:360px}.rounded-img{max-height:420px;object-fit:cover}.payment-grid{gap:14px}.side-panel{padding:18px}.speciality-list span{font-size:13px;padding:8px 12px}.eyebrow{font-size:11px;letter-spacing:.12em}.eyebrow:before{width:20px}
}
@media (max-width:420px){
    h1{font-size:34px}.hero-visual img{height:300px}.service-img img{height:190px}.dept-grid .frame-card img{height:280px}.gallery-grid{columns:1}.btn{font-size:14px}.page-hero h1{font-size:30px}.section{padding:42px 0}
}


/* Uniform quick navigation icons */
.nav-actions{display:flex;align-items:center;gap:8px;min-width:max-content}
.nav-action{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;color:var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.04)}
.nav-action:hover,.nav-action.active{border-color:var(--gold);background:var(--cream);color:var(--gold-dark)}
.nav-action-icon{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--black);color:var(--gold);font-size:12px;line-height:1}
.nav-action em{position:absolute;right:-5px;top:-7px;min-width:18px;height:18px;border-radius:999px;background:var(--gold);color:#fff;font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
.nav-cta.compact{background:var(--black);color:#fff;border:1px solid var(--gold);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900}

/* Products page - matched to main John Vaal style */
.shop-hero{background:linear-gradient(135deg,#060606 0%,#111 52%,#2b1b05 100%);color:#fff}
.shop-hero p{max-width:720px;color:#eadfc9}
.no-top{padding-top:0}
.shop-alert{border:1px solid var(--line);background:var(--cream);border-radius:16px;padding:14px 16px;margin-bottom:22px;font-weight:700}
.shop-alert.success{border-color:#d8bd7b;background:#fff8e8;color:#62430b}
.shop-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:22px}
.shop-toolbar h2{margin:.25rem 0 0}
.shop-search{display:grid;gap:6px;min-width:290px;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:var(--gold-dark)}
.shop-search input,.clean-form input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;font:inherit;color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.08);display:flex;flex-direction:column}
.shop-image{background:#f8f3ea;display:block;overflow:hidden}
.shop-image img{width:100%;height:250px;object-fit:cover;object-position:center top;transition:transform .45s ease}
.shop-card:hover .shop-image img{transform:scale(1.045)}
.shop-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.shop-body span{color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.shop-body h3{margin:0;font-size:20px;line-height:1.2}
.shop-body p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.shop-body strong{margin-top:auto;color:var(--black)}
.btn.full{width:100%;margin-top:10px;text-align:center}
.cart-panel,.login-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 12px 32px rgba(0,0,0,.07)}
.cart-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.cart-row:last-of-type{border-bottom:0}
.cart-row img{width:72px;height:72px;border-radius:14px;object-fit:cover;object-position:center top;background:#f8f3ea}
.cart-row strong{display:block;line-height:1.25}.cart-row span{display:block;color:var(--muted);font-size:13px}
.cart-row button,.cart-clear button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.cart-row button:hover,.cart-clear button:hover{border-color:var(--gold);color:var(--gold-dark)}
.empty-state{display:grid;gap:4px;text-align:center;padding:35px 20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.empty-state strong{color:var(--black);font-size:20px}
.clean-form{display:grid;gap:14px}
.clean-form label{display:grid;gap:6px;font-weight:800;color:var(--black)}
.gold-edge{border-left:5px solid var(--gold)}
.small-btn.dark{background:var(--black);border-color:var(--black);color:#fff!important}

@media (max-width:1180px){
    .nav-links a{font-size:13px;padding:9px 9px}
    .nav-action-text{display:none}
    .product-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
    .product-grid{grid-template-columns:repeat(2,1fr)}
    .shop-toolbar{align-items:stretch;flex-direction:column}
    .shop-search{min-width:0}
}
@media (max-width:760px){
    .nav-inner{gap:10px}
    .nav-actions{margin-left:auto;gap:5px}
    .nav-action{padding:8px;border-radius:50%;width:38px;height:38px;justify-content:center}
    .nav-action-icon{background:transparent;color:var(--black);font-size:15px}
    .nav-cta.compact{display:none}
    .menu-toggle{order:4}
    .nav-links{top:74px}
    .product-grid{grid-template-columns:1fr 1fr;gap:14px}
    .shop-image img{height:190px}
    .shop-body{padding:14px}
    .shop-body h3{font-size:17px}
    .shop-body p{font-size:13.5px}
    .cart-row{grid-template-columns:58px 1fr;gap:10px}
    .cart-row form{grid-column:2}
    .cart-row img{width:58px;height:58px}
}
@media (max-width:460px){
    .product-grid{grid-template-columns:1fr}
    .shop-image img{height:260px}
}


/* Database product listing refinements */
.muted{color:var(--muted);margin:.35rem 0 0}
.search-row{display:flex;gap:8px}
.search-row input{min-width:260px}
.search-row button{border:0;background:var(--black);color:#fff;border-radius:14px;padding:0 16px;font-weight:900;cursor:pointer}
.search-results-inline{position:relative;z-index:5}
.search-results-inline a,.search-results-inline div{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;margin-top:5px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.06);font-size:13px}
.search-results-inline small{color:var(--gold-dark);font-weight:800}
.promo-pill{display:inline-flex;align-items:center;align-self:flex-start;background:#fff8e6;border:1px solid #ead199;color:#714e0f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}
.shop-actions{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;margin-top:10px}
.detail-link{color:var(--black)!important;background:#fff!important;border-color:var(--line)!important;text-align:center}
.shop-alert.error{border-color:#efb1a8;background:#fff1ef;color:#9b2416}
.form-links{display:flex;gap:14px;flex-wrap:wrap;font-weight:800}.form-links a{color:var(--gold-dark)}
.offer-list{display:grid;gap:12px}.offer-list article{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.offer-list p{margin:.25rem 0}.offer-list small{color:var(--muted)}
.empty-state.large{max-width:720px;margin:0 auto;padding:48px 24px}
.cart-total{font-weight:900;text-align:center;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cart-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cart-controls button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-weight:800;cursor:pointer}
.toast{position:fixed;right:18px;top:96px;background:var(--black);color:#fff;border:1px solid var(--gold);border-radius:14px;padding:13px 16px;box-shadow:var(--shadow);z-index:1000;transform:translateX(130%);transition:.28s ease;max-width:310px;font-weight:800}
.toast.show{transform:translateX(0)}.toast.error{background:#9b2416}.toast.success{background:#0f5132}
@media (max-width:760px){
    .search-row{flex-direction:column}.search-row input{min-width:0}.search-row button{min-height:43px}
    .shop-actions{grid-template-columns:1fr}.cart-actions{grid-template-columns:1fr}.toast{left:12px;right:12px;top:84px;max-width:none}
}


/* Professional account pages */
.auth-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.85fr);gap:28px;align-items:stretch}
.auth-panel,.auth-side{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 15px 38px rgba(0,0,0,.08)}
.auth-panel h2,.auth-side h2{margin:.25rem 0 1rem}
.auth-side{background:linear-gradient(145deg,#070707 0%,#151515 60%,#2d1d08 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.auth-side p{color:#e7d9bf}.auth-side .eyebrow{color:#d9b65d}
.auth-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;font-weight:800}
.auth-links a{color:var(--gold-dark)}
.clean-form{display:grid;gap:14px}
.clean-form label{display:grid;gap:6px;font-weight:800;color:var(--black)}
.clean-form input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;font:inherit;color:var(--ink)}
.clean-form input:focus{outline:2px solid rgba(185,138,46,.25);border-color:var(--gold)}
.shop-alert.success{border-color:#b8d8b8;background:#eefaf0;color:#18602c}
.shop-alert.error{border-color:#efb1a8;background:#fff1ef;color:#9b2416}
@media (max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){.auth-wrap{grid-template-columns:1fr}.auth-panel,.auth-side{padding:20px}.footer-grid{grid-template-columns:1fr}}

/* Product visibility and fast image rendering fixes */
.detail-link,
a.detail-link,
.shop-actions .detail-link,
.small-btn.detail-link{
    background:#fff!important;
    color:var(--black)!important;
    border:1px solid var(--gold)!important;
    box-shadow:none!important;
}
.detail-link:hover,
.shop-actions .detail-link:hover{
    background:var(--cream)!important;
    color:var(--gold-dark)!important;
}
.shop-image img,
.cart-page-item img,
.detail-main-image img,
.detail-thumbs img{
    image-rendering:auto;
    backface-visibility:hidden;
}

/* Uniform product detail page */
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:34px;align-items:start}
.detail-gallery{display:grid;gap:14px}
.detail-main-image{background:#f8f3ea;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.1);cursor:zoom-in}
.detail-main-image img{width:100%;height:min(72vh,760px);object-fit:contain;object-position:center;background:#fff}
.detail-thumbs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px}
.detail-thumbs button{border:2px solid transparent;border-radius:14px;background:#fff;padding:0;overflow:hidden;flex:0 0 78px;cursor:pointer}
.detail-thumbs button.active,.detail-thumbs button:hover{border-color:var(--gold)}
.detail-thumbs img{width:78px;height:90px;object-fit:cover;object-position:center top;background:#f8f3ea}
.detail-info{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 16px 42px rgba(0,0,0,.08)}
.detail-info h2{font-size:34px;margin:.3rem 0 .6rem;line-height:1.15}
.detail-price{font-size:22px;font-weight:900;color:var(--gold-dark);margin:14px 0}
.detail-description{color:var(--muted);line-height:1.75;margin:18px 0}
.detail-promo{margin:10px 0 18px}
.detail-actions{display:grid;gap:10px;margin:20px 0}
.detail-note{margin-top:16px;padding:16px}.detail-note p{margin:.35rem 0 0}
.gallery-modal{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:72px 18px 120px}
.gallery-modal.active{display:flex}
.gallery-modal>img{max-width:92vw;max-height:76vh;object-fit:contain}
.close-gallery,.gallery-arrow{position:fixed;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);color:#fff;border-radius:999px;cursor:pointer;z-index:1002}
.close-gallery{right:22px;top:22px;width:44px;height:44px;font-size:28px}
.gallery-arrow{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:28px}
.gallery-arrow.left{left:18px}.gallery-arrow.right{right:18px}
.modal-thumbs{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;max-width:90vw;overflow-x:auto}
.modal-thumbs button{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#fff;flex:0 0 64px}.modal-thumbs button.active{border-color:var(--gold)}
.modal-thumbs img{width:64px;height:72px;object-fit:cover}
.customer-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1001;align-items:center;justify-content:center;padding:18px}
.customer-modal.active{display:flex}
.customer-modal-content{position:relative;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);width:min(520px,94vw);padding:26px}
.close-customer-modal{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}
.field-error{display:none;color:#9b2416;font-weight:700}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}

/* Uniform cart page */
.cart-page-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:28px;align-items:start}
.cart-list-panel,.cart-summary-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 42px rgba(0,0,0,.08);padding:20px}
.cart-page-item{display:grid;grid-template-columns:116px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-page-item:last-child{border-bottom:0}
.cart-page-item img{width:116px;height:132px;object-fit:contain;background:#f8f3ea;border:1px solid var(--line);border-radius:14px}
.cart-page-item h3{margin:0 0 4px;font-size:19px}.cart-page-item p{margin:0;color:var(--gold-dark);font-weight:900}.cart-page-item small{color:var(--muted)}
.quantity-form{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.quantity-form button,.remove-cart{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer}
.quantity-form input{width:62px;border:1px solid var(--line);border-radius:999px;text-align:center;font-weight:900}
.remove-cart{color:#9b2416;border-color:#efb1a8}
.cart-summary-panel{position:sticky;top:110px}
.summary-line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.summary-line.total{font-size:20px;border-bottom:0}
.customer-note{display:grid;gap:4px;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:12px;margin:14px 0}
@media(max-width:980px){.product-detail-grid,.cart-page-grid{grid-template-columns:1fr}.detail-info,.cart-summary-panel{position:static}.detail-main-image img{height:560px}}
@media(max-width:640px){.detail-info h2{font-size:28px}.detail-main-image img{height:430px}.cart-page-item{grid-template-columns:88px 1fr}.cart-page-item form:last-child{grid-column:2}.cart-page-item img{width:88px;height:104px}.modal-actions{flex-direction:column}.modal-actions .btn,.modal-actions .small-btn{width:100%;text-align:center}}


/* Mobile layout refined to match the JV Optima mobile feel */
@media(max-width:980px){
    .hero-grid,.split-grid,.dept-grid,.detail-grid,.product-detail-grid,.cart-page-grid{
        grid-template-columns:1fr;
    }
    .detail-info,.cart-summary-panel,.side-panel{
        position:static;
    }
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:760px){
    :root{--radius:13px}
    body{
        font-size:14.2px;
        line-height:1.55;
        background:#fff;
    }
    .container{
        width:min(100% - 28px,1140px);
    }

    .top-strip{
        display:block;
        font-size:.72rem;
    }
    .strip-inner{
        min-height:30px;
        justify-content:center;
        text-align:center;
        padding:5px 0;
    }
    .strip-inner span:last-child{
        display:none;
    }

    .nav-inner{
        min-height:62px;
        gap:10px;
        position:relative;
    }
    .brand img{
        width:40px;
        height:40px;
    }
    .brand strong{
        font-size:13px;
    }
    .brand small{
        font-size:9px;
        letter-spacing:.22em;
    }
    .menu-toggle{
        display:inline-flex;
        flex:0 0 auto;
        order:4;
        padding:8px 13px;
        border-radius:999px;
        background:#fff;
        font-size:.78rem;
    }

    .nav-actions{
        margin-left:auto;
        gap:5px;
    }
    .nav-action{
        width:38px;
        height:38px;
        padding:8px;
        border-radius:50%;
        justify-content:center;
        background:#fff;
    }
    .nav-action-icon{
        background:transparent;
        color:var(--black);
        font-size:15px;
    }
    .nav-action-text,
    .nav-cta.compact{
        display:none;
    }

    .nav-links{
        position:fixed;
        inset:94px 14px auto;
        z-index:90;
        display:grid!important;
        gap:6px;
        padding:10px;
        border:1px solid var(--line);
        border-radius:16px;
        background:#fff;
        box-shadow:var(--shadow);
        transform:translateY(-12px);
        opacity:0;
        pointer-events:none;
        transition:.18s ease;
        align-items:stretch;
    }
    .nav-links.open{
        transform:translateY(0);
        opacity:1;
        pointer-events:auto;
    }
    .nav-links a{
        display:block;
        width:100%;
        padding:11px 12px;
        border-radius:12px;
        font-size:.88rem;
        text-align:left;
    }

    h1{
        font-size:clamp(1.72rem,7vw,2.12rem);
        line-height:1.12;
        letter-spacing:-.02em;
    }
    h2{
        font-size:clamp(1.25rem,5.2vw,1.55rem);
        line-height:1.18;
    }
    h3{
        font-size:1rem;
    }
    .eyebrow{
        font-size:.66rem;
        letter-spacing:.105em;
        margin-bottom:8px;
    }
    .eyebrow:before{
        width:22px;
    }

    .section{
        padding:38px 0;
    }
    .compact-top{
        padding:28px 0;
    }
    .section-head{
        text-align:left;
        margin-bottom:20px;
    }
    .section-head p{
        font-size:.92rem;
        line-height:1.5;
    }
    .page-hero{
        padding:38px 0;
        background-position:center;
    }
    .page-hero h1{
        font-size:clamp(1.72rem,7vw,2.12rem);
    }
    .page-hero p{
        font-size:.94rem;
    }

    .hero{
        padding:34px 0 38px;
        background:linear-gradient(180deg,#ffffff 0%,#ffffff 66%,#f6f3ea 66.1%,#f6f3ea 100%);
    }
    .hero-grid{
        grid-template-columns:1fr;
        gap:22px;
        align-items:start;
    }
    .hero-copy p{
        font-size:.96rem;
        line-height:1.55;
        max-width:100%;
    }
    .hero-actions{
        gap:8px;
        margin-top:16px;
    }
    .btn{
        min-height:40px;
        padding:9px 14px;
        font-size:.82rem;
    }

    .hero-visual,
    .frame-card{
        padding:7px;
        border-radius:20px;
        background:linear-gradient(145deg,var(--black),#2b1b05);
        box-shadow:0 10px 25px rgba(0,0,0,.14);
    }
    .hero-visual img,
    .frame-card img{
        width:100%;
        height:265px;
        min-height:0;
        max-height:none;
        object-fit:cover;
        object-position:center top;
        border-radius:15px;
    }
    .floating-note{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        width:100%;
        margin-top:10px;
        padding:13px 14px;
        border-left:4px solid var(--gold);
        border-radius:13px;
        background:#fff;
        color:var(--ink);
        box-shadow:0 8px 18px rgba(0,0,0,.08);
        text-align:left;
    }
    .floating-note strong{
        font-size:.95rem;
    }
    .floating-note span{
        display:block;
        font-size:.82rem;
        line-height:1.45;
        color:var(--muted);
    }

    .stats-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .stat-card{
        padding:12px 10px;
        border-radius:12px;
        background:linear-gradient(135deg,var(--black),#2b1b05);
        color:#fff;
        box-shadow:0 6px 14px rgba(0,0,0,.08);
    }
    .stat-card strong{
        font-size:.98rem;
        color:var(--gold);
    }
    .stat-card span{
        display:block;
        font-size:.7rem;
        line-height:1.35;
        color:#f2e7cf;
    }

    .split-grid{
        gap:24px;
    }
    .rounded-img,
    .image-stack img:first-child,
    .image-stack img:nth-child(2),
    .profile-card img,
    .brochure-img{
        width:100%;
        height:230px;
        max-height:230px;
        min-height:0;
        object-fit:cover;
        object-position:center top;
        border-radius:15px;
    }
    .image-stack{
        min-height:auto;
    }
    .image-stack img:nth-child(2),
    .stack-card{
        position:relative;
        right:auto;
        bottom:auto;
        left:auto;
        width:100%;
        margin-top:10px;
    }
    .stack-card{
        padding:12px 14px;
        border-radius:13px;
    }

    .service-grid,
    .three-grid,
    .timeline-grid,
    .why-grid,
    .contact-grid,
    .payment-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .service-card{
        display:grid;
        grid-template-columns:108px minmax(0,1fr);
        align-items:stretch;
        padding:0;
        min-height:124px;
        overflow:hidden;
        border-radius:14px;
    }
    .service-img{
        display:block;
        min-height:124px;
    }
    .service-img img{
        width:100%;
        height:100%;
        min-height:124px;
        object-fit:cover;
        object-position:center top;
    }
    .service-body{
        padding:14px;
    }
    .number{
        font-size:.66rem;
        padding:5px 8px;
        margin-bottom:7px;
    }
    .service-card h3{
        font-size:.94rem;
        line-height:1.18;
    }
    .service-card p{
        font-size:.81rem;
        line-height:1.45;
        margin:.25rem 0 .45rem;
    }
    .text-link{
        font-size:.78rem;
    }

    .product-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }
    .shop-card{
        border-radius:14px;
    }
    .shop-image img{
        height:178px;
        object-fit:cover;
        object-position:center top;
    }
    .shop-body{
        padding:12px;
        gap:6px;
    }
    .shop-body span{
        font-size:.62rem;
        letter-spacing:.08em;
    }
    .shop-body h3{
        font-size:.9rem;
        line-height:1.2;
    }
    .shop-body p{
        display:none;
    }
    .shop-body strong{
        font-size:.78rem;
    }
    .shop-actions{
        grid-template-columns:1fr;
        gap:7px;
    }
    .shop-actions .btn,
    .shop-actions .small-btn{
        min-height:34px;
        padding:7px 10px;
        font-size:.72rem;
    }

    .shop-toolbar{
        gap:16px;
    }
    .search-row{
        flex-direction:column;
    }
    .search-row input{
        min-width:0;
    }
    .search-row button{
        min-height:42px;
    }

    .gallery-grid{
        columns:2 150px;
        column-gap:10px;
    }
    .gallery-grid figure{
        margin-bottom:10px;
        border-radius:13px;
    }

    .product-detail-grid,
    .cart-page-grid{
        gap:20px;
    }
    .detail-main-image img{
        height:430px;
    }
    .detail-info,
    .cart-summary-panel,
    .cart-list-panel,
    .auth-panel,
    .auth-side,
    .payment-panel,
    .contact-card,
    .info-card,
    .why-card,
    .step-card,
    .org-card{
        padding:18px;
        border-radius:14px;
    }
    .detail-info h2{
        font-size:1.45rem;
    }
    .cart-page-item{
        grid-template-columns:88px 1fr;
        gap:12px;
    }
    .cart-page-item img{
        width:88px;
        height:104px;
    }
    .cart-page-item form:last-child{
        grid-column:2;
    }

    .auth-wrap{
        grid-template-columns:1fr;
    }
    .footer{
        padding:32px 0 18px;
    }
    .footer-grid{
        grid-template-columns:1fr;
        gap:22px;
    }
    .footer-bottom{
        flex-direction:column;
        gap:8px;
        margin-top:20px;
        padding-top:16px;
        font-size:.78rem;
    }

    .toast{
        left:12px;
        right:12px;
        top:84px;
        max-width:none;
    }
}

@media(max-width:430px){
    .container{
        width:min(100% - 22px,1140px);
    }
    .hero{
        padding-top:28px;
    }
    .hero-visual img,
    .frame-card img{
        height:235px;
    }
    .stats-row{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .stat-card{
        padding:10px 8px;
    }
    .service-card{
        grid-template-columns:92px minmax(0,1fr);
        min-height:114px;
    }
    .service-img,
    .service-img img{
        min-height:114px;
    }
    .service-body{
        padding:12px;
    }
    .service-card h3{
        font-size:.88rem;
    }
    .service-card p{
        font-size:.77rem;
    }
    .rounded-img,
    .image-stack img:first-child,
    .image-stack img:nth-child(2),
    .profile-card img,
    .brochure-img{
        height:205px;
        max-height:205px;
    }
    .shop-image img{
        height:165px;
    }
    .detail-main-image img{
        height:360px;
    }
}

@media(max-width:350px){
    .stats-row,
    .product-grid{
        grid-template-columns:1fr;
    }
    .service-card{
        grid-template-columns:1fr;
    }
    .service-img,
    .service-img img{
        height:150px;
        min-height:0;
    }
    .service-body{
        padding:14px;
    }
    .hero-visual img,
    .frame-card img{
        height:210px;
    }
}


/* Team structure image must show fully on mobile and desktop */
.team-structure-frame{
    width:100%;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:10px;
    overflow:visible;
}

.team-structure-img{
    width:100%;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:14px;
    box-shadow:none;
    border:0;
    background:#fff;
}

@media(max-width:760px){
    .team-structure-frame{
        padding:6px;
        border-radius:14px;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
    }

    .team-structure-img{
        display:block;
        width:100%!important;
        max-width:none!important;
        height:auto!important;
        max-height:none!important;
        object-fit:contain!important;
    }
}

@media(max-width:430px){
    .team-structure-img{
        width:100%!important;
        height:auto!important;
        max-height:none!important;
    }
}

/* Header compact professional fit update */
.site-header{
    overflow: visible;
}
.site-header .container{
    width: min(1280px, 96%);
}
.top-strip{
    font-size: 12.5px;
}
.strip-inner{
    padding: 6px 0;
}
.nav-inner{
    min-height: 62px;
    gap: 12px;
}
.brand{
    gap: 8px;
    flex: 0 0 auto;
    min-width: 168px;
}
.brand img{
    width: 40px;
    height: 40px;
}
.brand strong{
    font-size: 13px;
    letter-spacing: .08em;
    line-height: 1.1;
    white-space: nowrap;
}
.brand small{
    font-size: 9px;
    letter-spacing: .34em;
    line-height: 1.1;
    margin-top: 2px;
}
.nav-links{
    flex: 1 1 auto;
    justify-content: center;
    gap: 2px;
    min-width: 0;
}
.nav-links a{
    white-space: nowrap;
    font-size: 12.5px;
    line-height: 1.1;
    padding: 8px 8px;
    border-radius: 999px;
}
.nav-actions{
    flex: 0 0 auto;
    gap: 5px;
}
.nav-action{
    min-height: 36px;
    padding: 7px 9px;
    font-size: 11.5px;
    line-height: 1;
}
.nav-action-icon{
    width: 17px;
    height: 17px;
    font-size: 11px;
}
.nav-cta.compact{
    min-height: 36px;
    padding: 8px 12px;
    font-size: 12px;
    line-height: 1;
}

@media (max-width: 1360px){
    .site-header .container{width:min(1320px,98%)}
    .nav-inner{gap:10px}
    .brand{min-width:154px}
    .brand img{width:38px;height:38px}
    .brand strong{font-size:12.2px;letter-spacing:.07em}
    .brand small{font-size:8.5px;letter-spacing:.31em}
    .nav-links a{font-size:12px;padding:8px 7px}
    .nav-action-text{display:none}
    .nav-action{width:36px;height:36px;padding:8px;border-radius:50%;justify-content:center}
    .nav-action-icon{background:var(--black);color:var(--gold)}
    .nav-cta.compact{display:none}
}

@media (max-width: 1180px){
    .nav-inner{min-height:64px}
    .brand{min-width:auto}
    .menu-toggle{display:inline-flex;margin-left:auto}
    .nav-links{
        position:absolute;
        left:3%;
        right:3%;
        top:70px;
        background:#fff;
        border:1px solid var(--line);
        border-radius:18px;
        box-shadow:var(--shadow);
        padding:10px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:4px;
        z-index:70;
    }
    .nav-links.open{display:flex}
    .nav-links a{font-size:14px;padding:12px 14px;border-radius:12px;white-space:normal}
    .nav-actions{margin-left:auto}
}

@media (max-width: 760px){
    .site-header .container{width:min(94%,680px)}
    .top-strip{display:none}
    .nav-inner{min-height:66px;gap:8px}
    .brand img{width:38px;height:38px}
    .brand strong{font-size:12px;letter-spacing:.06em}
    .brand small{font-size:8.5px;letter-spacing:.28em}
    .nav-links{top:70px}
    .nav-actions{gap:4px}
    .nav-action{width:34px;height:34px;padding:7px}
    .menu-toggle{padding:8px 12px;font-size:13px}
}

@media (max-width: 420px){
    .brand strong{font-size:11.2px}
    .brand small{font-size:8px;letter-spacing:.22em}
    .brand img{width:35px;height:35px}
    .nav-action.cart-action{display:none}
    .menu-toggle{padding:7px 10px}
}
