/*
Theme Name: Castello
Theme URI: https://castelloaesthetic.com
Author: Castello Editorial
Description: The Aesthetic Home Edit — dark luxury editorial theme.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
License: Proprietary
Text Domain: castello
*/


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --obsidian:#090806;--void:#0d0b09;--coal:#14120f;--char:#1b1815;--ash:#252019;--stone:#38322b;--smoke:#564e44;--dust:#8a7d70;--linen:#c4b49a;--cream:#e6ddd0;--warm:#eee6d8;
  --gold:#c9a96e;--gold-pale:rgba(201,169,110,.12);--gold-mid:rgba(201,169,110,.3);
  --ember:#c4703a;--amber:#d4924e;
  /* category accents */
  --c-interior:#c9a96e;   /* gold */
  --c-exterior:#8aaa7a;   /* sage */
  --c-lighting:#d4924e;   /* amber */
  --c-bedroom:#b8906e;    /* warm terracotta */
  --c-kitchen:#a07860;    /* clay */
  --c-bathroom:#7a98a8;   /* slate blue */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',sans-serif;
}
html{font-size:16px;scroll-behavior:smooth;background:#090806}
html,body{min-height:100%;background:#090806}
/* Obsidian fill above nav on mobile overscroll */
html::before{content:'';position:fixed;top:-100px;left:0;right:0;height:200px;background:#090806;z-index:10002;pointer-events:none}
body{background:#090806;color:var(--cream);font-family:var(--sans);font-weight:300;overflow-x:hidden}
/* Grain texture — blend mode removed so it can't composite through nav */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.026;pointer-events:none;z-index:100}
*{cursor:none!important}
#cur{position:fixed;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:10005;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s}
#ring{position:fixed;width:30px;height:30px;border:1px solid rgba(201,169,110,.3);border-radius:50%;pointer-events:none;z-index:10004;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s}

/* ── NAV — solid obsidian, above all layers including body::before grain ── */
nav{position:fixed;top:0;left:0;right:0;z-index:99999;background:#090806}
.nav-main{display:flex;align-items:center;justify-content:space-between;padding:24px 56px;background:#090806;border-bottom:1px solid #252019}

.nav-logo{font-family:var(--serif);font-size:24px;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--warm);text-decoration:none;position:relative;z-index:1}
.nav-logo .o{color:var(--gold)}
.nav-links{display:flex;gap:36px;list-style:none;position:relative;z-index:1}
.nav-links a{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--dust);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .4s}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:20px;position:relative;z-index:1}
.nav-search{color:var(--smoke);font-size:13px;line-height:1;transition:color .3s;background:none;border:none;padding:4px}
.nav-search:hover{color:var(--gold)}
.nav-cta{font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid rgba(201,169,110,.3);padding:9px 20px;transition:all .4s}
.nav-cta:hover{background:rgba(201,169,110,.08);border-color:var(--gold)}

/* category nav */
.cat-nav-wrap{position:relative;background:#090806}
.cat-nav-fade-right{position:absolute;top:0;right:0;bottom:0;width:48px;background:linear-gradient(to right,transparent,#090806);pointer-events:none;z-index:2;display:none}
.cat-nav-fade-left{position:absolute;top:0;left:0;bottom:0;width:48px;background:linear-gradient(to left,transparent,#090806);pointer-events:none;z-index:2;display:none}
.cat-nav{display:flex;align-items:stretch;justify-content:center;border-bottom:1px solid var(--ash);background:#090806!important;overflow-x:auto;scrollbar-width:none;position:relative;z-index:1}
.cat-nav::-webkit-scrollbar{display:none}
.cat-item{display:flex;align-items:center;gap:8px;padding:14px 28px;font-size:9px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);text-decoration:none;transition:all .3s;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;flex-shrink:0}
.cat-item:hover{color:var(--linen)}
.cat-item.active,.cat-item:hover{border-bottom-color:currentColor}
.cat-item[data-cat=interior]{--cc:var(--c-interior)}
.cat-item[data-cat=exterior]{--cc:var(--c-exterior)}
.cat-item[data-cat=lighting]{--cc:var(--c-lighting)}
.cat-item[data-cat=bedroom]{--cc:var(--c-bedroom)}
.cat-item[data-cat=kitchen]{--cc:var(--c-kitchen)}
.cat-item[data-cat=bathroom]{--cc:var(--c-bathroom)}
.cat-item:hover,.cat-item.active{color:var(--cc);border-bottom-color:var(--cc)}
.cat-dot{width:5px;height:5px;border-radius:50%;background:var(--cc);flex-shrink:0;opacity:.7}

/* ── HERO ── */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding-top:60px;padding-bottom:60px}
.hero-bg{position:absolute;inset:0}
.hero-bg-main{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 60% at 65% 45%,rgba(196,118,58,.14) 0%,transparent 60%),
  radial-gradient(ellipse 40% 50% at 20% 70%,rgba(138,170,122,.07) 0%,transparent 55%),
  radial-gradient(ellipse 50% 40% at 80% 80%,rgba(122,152,168,.06) 0%,transparent 50%),
  linear-gradient(165deg,#0e0c09 0%,#0a0806 35%,#0d0b08 70%,#090704 100%)}
.hero-glow-1{position:absolute;top:35%;right:18%;width:5px;height:5px;background:var(--amber);border-radius:50%;box-shadow:0 0 20px 10px rgba(212,146,78,.55),0 0 70px 35px rgba(196,118,58,.25),0 0 160px 80px rgba(196,118,58,.12),0 0 320px 160px rgba(196,118,58,.05);animation:gp 5s ease-in-out infinite}
.hero-glow-2{position:absolute;top:20%;right:38%;width:3px;height:3px;background:#8aaa7a;border-radius:50%;box-shadow:0 0 15px 8px rgba(138,170,122,.4),0 0 50px 25px rgba(138,170,122,.15),0 0 100px 50px rgba(138,170,122,.07);animation:gp 7s ease-in-out 1s infinite}
.hero-glow-3{position:absolute;top:55%;right:55%;width:3px;height:3px;background:#7a98a8;border-radius:50%;box-shadow:0 0 12px 6px rgba(122,152,168,.4),0 0 40px 20px rgba(122,152,168,.15);animation:gp 6s ease-in-out 2s infinite}
@keyframes gp{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}
.hero-particles{position:absolute;inset:0;pointer-events:none}
.hp{position:absolute;width:1px;height:1px;background:var(--gold);border-radius:50%;opacity:0;animation:hpf var(--d) ease-in-out var(--dl) infinite}
@keyframes hpf{0%{transform:translateY(0) translateX(0);opacity:0}15%{opacity:.5}85%{opacity:.1}100%{transform:translateY(-150px) translateX(var(--dx));opacity:0}}
.hero-content{position:relative;z-index:2;max-width:1200px;width:100%;margin:0 auto;padding:0 56px}
.hero-kicker{font-size:10px;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:var(--ember);margin-bottom:28px;opacity:0;animation:fu 1s ease .2s forwards}
.hero-title{font-family:var(--serif);font-size:clamp(58px,7vw,108px);font-weight:300;line-height:.96;letter-spacing:-.015em;color:var(--warm);margin-bottom:40px;opacity:0;animation:fu 1.1s ease .4s forwards}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-title .line2{display:block;padding-left:clamp(60px,8vw,140px)}
.hero-title .line3{display:block;padding-left:clamp(20px,3vw,48px)}
.hero-body-row{display:flex;align-items:flex-end;justify-content:space-between;opacity:0;animation:fu 1s ease .7s forwards}
.hero-body{font-size:14px;font-weight:300;line-height:1.85;color:var(--dust);max-width:420px}
.hero-actions{display:flex;align-items:center;gap:28px}
.btn-p{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--obsidian);background:var(--gold);padding:15px 34px;text-decoration:none;transition:all .4s;position:relative;overflow:hidden}
.btn-p::before{content:'';position:absolute;inset:0;background:var(--amber);transform:translateX(-100%);transition:transform .4s}
.btn-p:hover::before{transform:translateX(0)}
.btn-p span{position:relative;z-index:1}
.btn-g{font-family:var(--sans);font-size:10px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--linen);text-decoration:none;display:flex;align-items:center;gap:9px;transition:color .3s}
.btn-g:hover{color:var(--gold)}
.btn-g::after{content:'→';transition:transform .3s}
.btn-g:hover::after{transform:translateX(4px)}
.hero-scroll{position:absolute;bottom:40px;left:56px;display:flex;align-items:center;gap:14px;opacity:0;animation:fi 1s ease 1.2s forwards;z-index:2}
.hero-socials{position:absolute;right:56px;bottom:40px;display:flex;flex-direction:column;gap:18px;z-index:3}
.hero-social-link{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .3s}
.hero-social-link:hover{opacity:.7}
.hero-social-icon{width:18px;height:18px;flex-shrink:0;opacity:.5}
.hero-social-link:hover .hero-social-icon{opacity:.9}
.hero-social-label{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);transition:color .3s}
.hero-social-link:hover .hero-social-label{color:var(--linen)}
.scroll-line{width:44px;height:1px;background:var(--stone);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:0;left:-100%;bottom:0;width:100%;background:var(--gold);animation:sl 2.4s ease-in-out infinite}
@keyframes sl{0%{left:-100%}50%,100%{left:100%}}
.scroll-txt{font-size:9px;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--smoke)}
.hero-categories{display:none}
.hcat{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);text-decoration:none;transition:color .3s}
.hcat:hover{color:var(--linen)}
.hcat-dot{width:4px;height:4px;border-radius:50%}

/* Footer logo — no underline */
.foot-logo{font-family:var(--serif);font-size:26px;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:var(--warm);display:block;margin-bottom:14px;text-decoration:none}
.foot-logo .o{color:var(--gold)}

/* ── MARQUEE ── */
.mq-wrap{border-top:1px solid var(--ash);border-bottom:1px solid var(--ash);overflow:hidden;background:var(--coal);padding:13px 0}
.mq-track{display:flex;white-space:nowrap;animation:mq 40s linear infinite}
.mq-item{font-family:var(--serif);font-size:13px;font-weight:300;font-style:italic;color:var(--smoke);padding:0 44px;flex-shrink:0}
.mq-sep{color:var(--ember);font-style:normal;padding:0 6px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SHARED ── */
.eyebrow{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;margin-bottom:14px}
.sec-title{font-family:var(--serif);font-size:clamp(34px,3.5vw,52px);font-weight:300;line-height:1.08;color:var(--warm)}
.sec-title em{font-style:italic;color:var(--gold)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* ── CATEGORIES INTRO ── */
.cats-intro{padding:100px 56px;background:var(--void)}
.cats-intro-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:64px}
.cats-intro-sub{font-size:13px;font-weight:300;color:var(--smoke);max-width:300px;line-height:1.75;text-align:right}
.cats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}
.cat-tile{position:relative;overflow:hidden;text-decoration:none;display:block;aspect-ratio:.72;background:var(--coal)}
.cat-tile::before{content:'';position:absolute;inset:0;opacity:.5;transition:opacity .5s}
.cat-tile:hover::before{opacity:1}
.cat-tile[data-cat=interior]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(201,169,110,.25) 0%,transparent 70%)}
.cat-tile[data-cat=exterior]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(138,170,122,.25) 0%,transparent 70%)}
.cat-tile[data-cat=lighting]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(212,146,78,.3) 0%,transparent 70%)}
.cat-tile[data-cat=bedroom]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(184,144,110,.25) 0%,transparent 70%)}
.cat-tile[data-cat=kitchen]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(160,120,96,.25) 0%,transparent 70%)}
.cat-tile[data-cat=bathroom]::before{background:radial-gradient(ellipse 80% 80% at 50% 60%,rgba(122,152,168,.25) 0%,transparent 70%)}
.cat-tile-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);z-index:1;transition:transform .5s}
.cat-tile:hover .cat-tile-icon{transform:translate(-50%,-65%)}
.cat-icon-glow{width:52px;height:52px;border-radius:50%;margin:0 auto;animation:cig 3.5s ease-in-out infinite}
@keyframes cig{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.cat-tile-info{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;background:linear-gradient(to top,rgba(9,8,6,.9) 0%,transparent 100%);z-index:2}
.cat-tile-name{font-family:var(--serif);font-size:17px;font-weight:300;color:var(--warm);margin-bottom:3px}
.cat-tile-count{font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke)}
.cat-tile-arrow{position:absolute;top:16px;right:16px;font-size:12px;opacity:0;transition:all .3s;z-index:2}
.cat-tile:hover .cat-tile-arrow{opacity:1;transform:translate(2px,-2px)}

/* ── FEATURE EDITORIAL (alternating) ── */
.feature-section{display:grid;grid-template-columns:1fr 1fr;padding:0;position:relative;overflow:hidden;min-height:560px}
.feature-section.reverse{direction:rtl}
.feature-section.reverse > *{direction:ltr}
.feat-vis{position:relative;overflow:hidden}
.feat-vis-inner{position:absolute;inset:0}
.feat-glow-node{position:absolute;border-radius:50%;animation:gp 5s ease-in-out infinite}
.feat-content{padding:80px 72px;display:flex;flex-direction:column;justify-content:center;position:relative;background:var(--coal)}
.feat-content::before{content:'';position:absolute;top:80px;bottom:80px;right:0;width:1px;background:linear-gradient(to bottom,transparent,var(--ash),transparent)}
.feature-section.reverse .feat-content::before{right:auto;left:0}
.feat-tag{font-size:9px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;margin-bottom:18px}
.feat-title{font-family:var(--serif);font-size:clamp(28px,2.8vw,44px);font-weight:300;line-height:1.1;color:var(--warm);margin-bottom:22px}
.feat-title em{font-style:italic;color:var(--gold)}
.feat-body{font-size:13px;font-weight:300;line-height:1.9;color:var(--dust);margin-bottom:36px;max-width:400px}
.feat-picks{display:flex;flex-direction:column;gap:10px;margin-bottom:38px}
.feat-pick{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--char);transition:background .3s;text-decoration:none}
.feat-pick:hover{background:var(--ash)}
.pick-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pick-name{font-family:var(--serif);font-size:15px;font-weight:300;color:var(--cream);flex:1}
.pick-price{font-family:var(--serif);font-size:15px;font-weight:300}
.pick-arrow{font-size:11px;color:var(--smoke);transition:all .3s}
.feat-pick:hover .pick-arrow{transform:translateX(3px);color:var(--linen)}
.feat-cta{display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:gap .3s}
.feat-cta:hover{gap:18px}
.feat-cta .ln{height:1px;width:30px;transition:width .4s}
.feat-cta:hover .ln{width:46px}
.feat-quote{position:absolute;bottom:36px;left:40px;right:40px;z-index:3}
.feat-q-text{font-family:var(--serif);font-size:17px;font-weight:300;font-style:italic;line-height:1.55;color:rgba(238,230,216,.55);margin-bottom:8px}
.feat-q-attr{font-size:9px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke)}

/* INTERIOR */
.feat-vis.interior{background:radial-gradient(ellipse 55% 55% at 50% 50%,rgba(201,169,110,.2) 0%,rgba(201,169,110,.06) 50%,transparent 75%),linear-gradient(145deg,#121008 0%,#1a1610 40%,#0e0c09 100%)}
.feat-vis.interior .feat-glow-node{background:var(--gold);width:8px;height:8px;top:42%;left:44%;box-shadow:0 0 25px 12px rgba(201,169,110,.6),0 0 70px 35px rgba(201,169,110,.28),0 0 150px 75px rgba(201,169,110,.12),0 0 280px 140px rgba(201,169,110,.05)}
/* EXTERIOR */
.feat-vis.exterior{background:radial-gradient(ellipse 55% 55% at 48% 52%,rgba(138,170,122,.18) 0%,rgba(138,170,122,.05) 50%,transparent 75%),linear-gradient(145deg,#0c100b 0%,#131a10 40%,#0a0d09 100%)}
.feat-vis.exterior .feat-glow-node{background:#8aaa7a;width:7px;height:7px;top:40%;left:46%;box-shadow:0 0 22px 11px rgba(138,170,122,.5),0 0 60px 30px rgba(138,170,122,.22),0 0 130px 65px rgba(138,170,122,.1),0 0 260px 130px rgba(138,170,122,.04)}
/* BEDROOM */
.feat-vis.bedroom{background:radial-gradient(ellipse 55% 55% at 50% 50%,rgba(184,144,110,.18) 0%,rgba(184,144,110,.05) 50%,transparent 75%),linear-gradient(145deg,#110e0c 0%,#18130f 40%,#0d0a08 100%)}
.feat-vis.bedroom .feat-glow-node{background:#b8906e;width:7px;height:7px;top:44%;left:48%;box-shadow:0 0 20px 10px rgba(184,144,110,.5),0 0 55px 28px rgba(184,144,110,.22),0 0 120px 60px rgba(184,144,110,.1)}
/* KITCHEN */
.feat-vis.kitchen{background:radial-gradient(ellipse 55% 55% at 48% 50%,rgba(160,120,96,.18) 0%,rgba(160,120,96,.05) 50%,transparent 75%),linear-gradient(145deg,#100e0b 0%,#17120e 40%,#0d0a08 100%)}
.feat-vis.kitchen .feat-glow-node{background:#a07860;width:7px;height:7px;top:43%;left:45%;box-shadow:0 0 20px 10px rgba(160,120,96,.5),0 0 55px 28px rgba(160,120,96,.22),0 0 120px 60px rgba(160,120,96,.1)}
/* BATHROOM */
.feat-vis.bathroom{background:radial-gradient(ellipse 55% 55% at 50% 50%,rgba(122,152,168,.18) 0%,rgba(122,152,168,.05) 50%,transparent 75%),linear-gradient(145deg,#0b0e10 0%,#0f1518 40%,#090b0d 100%)}
.feat-vis.bathroom .feat-glow-node{background:#7a98a8;width:7px;height:7px;top:42%;left:47%;box-shadow:0 0 20px 10px rgba(122,152,168,.5),0 0 55px 28px rgba(122,152,168,.22),0 0 120px 60px rgba(122,152,168,.1)}

/* section dividers */
.sec-divider{height:1px;background:linear-gradient(to right,transparent,var(--ash) 20%,var(--ash) 80%,transparent);margin:0 56px}

/* ── PRODUCT STRIP ── */
.product-strip{padding:90px 56px;background:var(--obsidian)}
.strip-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}
.view-all{font-size:10px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--dust);text-decoration:none;display:flex;align-items:center;gap:7px;transition:color .3s}
.view-all:hover{color:var(--gold)}
.view-all::after{content:'→';transition:transform .3s}
.view-all:hover::after{transform:translateX(4px)}
.strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.prod-card{background:var(--coal);overflow:hidden;text-decoration:none;display:block;transition:background .4s;position:relative}
.prod-card:hover{background:var(--char)}
.prod-img{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.prod-img::before{content:'';position:absolute;inset:0;transition:opacity .4s;z-index:0}
.prod-card:hover .prod-img::before{opacity:2}
.pglow{width:80px;height:80px;border-radius:50%;position:relative;z-index:1}
.pglow::before{content:'';position:absolute;inset:-20px;border-radius:50%;animation:pg 3.5s ease-in-out infinite}
@keyframes pg{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.2);opacity:.85}}
.pg-gold::before{background:radial-gradient(circle,rgba(201,169,110,.6) 0%,rgba(201,169,110,.2) 40%,transparent 70%)}
.pg-sage::before{background:radial-gradient(circle,rgba(138,170,122,.6) 0%,rgba(138,170,122,.2) 40%,transparent 70%)}
.pg-amber::before{background:radial-gradient(circle,rgba(212,146,78,.65) 0%,rgba(196,118,58,.22) 40%,transparent 70%)}
.pg-rose::before{background:radial-gradient(circle,rgba(184,144,110,.6) 0%,rgba(184,144,110,.2) 40%,transparent 70%)}
.pg-clay::before{background:radial-gradient(circle,rgba(160,120,96,.6) 0%,rgba(160,120,96,.2) 40%,transparent 70%)}
.pg-slate::before{background:radial-gradient(circle,rgba(122,152,168,.6) 0%,rgba(122,152,168,.2) 40%,transparent 70%)}
.prod-img::before{background:radial-gradient(ellipse 70% 70% at 50% 60%,rgba(201,169,110,.1) 0%,transparent 70%)}
.prod-badge{position:absolute;top:12px;left:12px;font-size:9px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;z-index:2}
.b-top{background:rgba(201,169,110,.1);border:1px solid rgba(201,169,110,.25);color:var(--gold)}
.b-new{background:var(--ember);color:#fff}
.b-trend{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--linen)}
.b-sale{background:rgba(122,152,168,.12);border:1px solid rgba(122,152,168,.25);color:var(--c-bathroom)}
.prod-add{position:absolute;top:12px;right:12px;width:28px;height:28px;border:1px solid rgba(201,169,110,.2);background:rgba(9,8,6,.75);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:18px;font-weight:200;opacity:0;transition:all .3s;z-index:2;text-decoration:none;line-height:1}
.prod-card:hover .prod-add{opacity:1}
.prod-add:hover{background:var(--gold);color:var(--obsidian)}
.prod-info{padding:18px 20px 22px}
.prod-cat{font-size:9px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:6px}
.prod-name{font-family:var(--serif);font-size:16px;font-weight:300;color:var(--cream);line-height:1.3;margin-bottom:5px}
.prod-desc{font-size:11px;font-weight:300;color:var(--smoke);line-height:1.55;margin-bottom:12px}
.prod-foot{display:flex;align-items:center;justify-content:space-between}
.prod-price{font-family:var(--serif);font-size:20px;font-weight:300}
.prod-note{font-family:var(--sans);font-size:9px;font-weight:300;color:var(--smoke);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.stars{font-size:10px;letter-spacing:1px}
.rnum{font-size:10px;color:var(--smoke);margin-left:3px}

/* ── JOURNAL ── */
.journal{padding:100px 56px;background:var(--void)}
.journal-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px}
.journal-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2px;margin-bottom:2px}
.journal-grid-2{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:2px}
.art-card{background:var(--coal);text-decoration:none;display:flex;flex-direction:column;overflow:hidden;transition:background .4s;position:relative}
.art-card:hover{background:var(--char)}
.art-img{aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.art-img.tall{aspect-ratio:4/5}
.art-img::after{content:'';position:absolute;inset:0;transition:opacity .5s}
.art-card:hover .art-img::after{opacity:1.5}
.art-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;position:relative;animation:cig 3.5s ease-in-out infinite}
.art-body{padding:24px 26px 28px;flex:1;display:flex;flex-direction:column}
.art-tag{font-size:9px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;margin-bottom:9px}
.art-title{font-family:var(--serif);font-size:19px;font-weight:300;line-height:1.3;color:var(--cream);margin-bottom:auto;flex:1}
.art-title em{font-style:italic;color:var(--linen)}
.art-meta{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.art-date{font-size:10px;font-weight:300;letter-spacing:.1em;color:var(--stone);text-transform:uppercase}
.art-arrow{font-size:13px;color:var(--gold);opacity:.45;transition:all .3s;display:inline-block}
.art-card:hover .art-arrow{transform:translate(3px,-3px);opacity:1}

/* ── NEWSLETTER ── */
.newsletter{text-align:center;padding:110px 56px;background:var(--coal);position:relative;overflow:hidden}
.newsletter::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:350px;background:radial-gradient(ellipse,rgba(201,169,110,.06) 0%,transparent 70%);pointer-events:none}
.nl-eyebrow{font-size:10px;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--ember);margin-bottom:18px}
.nl-title{font-family:var(--serif);font-size:clamp(40px,5vw,70px);font-weight:300;color:var(--warm);line-height:1.1;margin-bottom:14px}
.nl-title em{font-style:italic;color:var(--gold)}
.nl-sub{font-size:13px;font-weight:300;color:var(--smoke);margin-bottom:44px;line-height:1.75}
.nl-form{display:flex;max-width:500px;margin:0 auto;border:1px solid var(--ash);background:var(--char)}
.nl-input{flex:1;background:transparent;border:none;padding:18px 22px;font-family:var(--sans);font-size:13px;font-weight:300;color:var(--cream);outline:none}
.nl-input::placeholder{color:var(--stone)}
.nl-btn{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--obsidian);background:var(--gold);border:none;padding:0 26px;transition:background .3s}
.nl-btn:hover{background:var(--amber)}
.nl-note{font-size:10px;font-weight:300;color:var(--stone);margin-top:14px;letter-spacing:.07em}

/* ── FOOTER ── */
footer{background:var(--coal);border-top:1px solid var(--ash);padding:64px 56px 40px}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
.foot-brand p{font-size:12px;font-weight:300;color:var(--smoke);line-height:1.8;max-width:240px}
.foot-brand .foot-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.foot-cat-tag{font-size:9px;font-weight:300;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--stone);color:var(--smoke);transition:all .3s;text-decoration:none}
.foot-cat-tag:hover{border-color:var(--gold);color:var(--gold)}
.foot-col-title{font-size:9px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--dust);margin-bottom:18px}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-links a{font-size:12px;font-weight:300;color:var(--smoke);text-decoration:none;transition:color .3s;letter-spacing:.02em}
.foot-links a:hover{color:var(--linen)}
.foot-bottom{border-top:1px solid var(--ash);padding-top:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.foot-legal{font-size:10px;font-weight:300;color:var(--stone);letter-spacing:.07em;line-height:1.75}
.foot-legal a{color:var(--smoke);text-decoration:none;transition:color .3s}
.foot-legal a:hover{color:var(--gold)}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.foot-socials{display:flex;gap:18px}
.foot-socials a{font-size:9px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);text-decoration:none;transition:color .3s}
.foot-socials a:hover{color:var(--gold)}
.foot-affiliate{font-size:9px;font-weight:300;color:var(--stone);letter-spacing:.06em;text-align:right;line-height:1.6}

@keyframes fu{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fi{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .hero-kicker,.hero-title,.hero-body-row,.hero-scroll,.hero-socials,.hero-categories{opacity:1!important;animation:none!important;transform:none!important}
}


/* ── WordPress core ── */
.wp-block-image img{max-width:100%;height:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin:0 auto 1em}
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px;word-wrap:normal}
.admin-bar .castello-nav{top:32px!important}
@media screen and (max-width:782px){.admin-bar .castello-nav{top:46px!important}}

/* ── Mobile category dropdown (hidden on desktop) ── */
/* dropdown removed */

/* ── Mobile social bar — NEVER shown on desktop or tablet ── */
.mob-social-bar{display:none!important;position:fixed;bottom:0;left:0;right:0;z-index:99997;background:#090806;border-top:1px solid var(--ash);height:56px;align-items:stretch}
.mob-social-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;transition:opacity .2s;border-right:1px solid var(--ash)}
.mob-social-bar a:last-child{border-right:none}
.mob-social-bar a:active{background:var(--coal)}
.mob-social-bar svg{width:16px;height:16px;flex-shrink:0;stroke:var(--smoke);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.mob-social-bar svg *{stroke:inherit;fill:none}
.mob-social-bar a:active svg{stroke:var(--gold)}
.mob-social-bar span{font-family:var(--sans);font-size:7px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke)}

/* ── Shop page grid ── */
.shop-cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:0 56px 80px;background:var(--void)}

/* ── Blog list ── */
.posts-list{padding:80px 56px;background:var(--obsidian);min-height:60vh}
.post-card{background:var(--coal);padding:32px;margin-bottom:2px;text-decoration:none;display:block;transition:background .3s;border:none}
.post-card:hover{background:var(--char)}
.post-card-cat{font-size:9px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ember);margin-bottom:10px}
.post-card-title{font-family:var(--serif);font-size:clamp(22px,2.5vw,34px);font-weight:300;color:var(--warm);line-height:1.2;margin-bottom:12px}
.post-card-excerpt{font-size:13px;color:var(--dust);line-height:1.75;margin-bottom:16px;max-width:640px}
.post-card-meta{font-size:10px;font-weight:300;letter-spacing:.12em;color:var(--stone);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.post-card-arrow{color:var(--gold);opacity:.5;transition:all .3s;font-size:14px}
.post-card:hover .post-card-arrow{opacity:1;transform:translate(3px,-3px)}

/* ── Single post ── */
.single-post{max-width:760px;margin:0 auto;padding:140px 40px 100px}
.single-kicker{font-size:10px;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin-bottom:16px;display:block}
.single-title{font-family:var(--serif);font-size:clamp(36px,4.5vw,64px);font-weight:300;line-height:1.08;color:var(--warm);margin-bottom:24px}
.single-meta{font-size:11px;font-weight:300;color:var(--smoke);letter-spacing:.1em;text-transform:uppercase;margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--ash)}

/* ── Entry content — entry-content, Custom HTML blocks, and Gutenberg blocks ── */
.entry-content h2,.wp-block-html h2,.wp-block-heading.wp-block-heading:where(h2){font-family:var(--serif);font-size:clamp(22px,2.5vw,32px);font-weight:300;color:var(--warm);margin:2em 0 .6em;border-left:3px solid var(--gold);padding-left:16px}
.entry-content h3,.wp-block-html h3,.wp-block-heading.wp-block-heading:where(h3){font-family:var(--serif);font-size:clamp(18px,2vw,24px);font-weight:400;color:var(--linen);margin:1.6em 0 .5em}
.entry-content p,.wp-block-html p,.wp-block-paragraph{font-size:17px;line-height:1.9;color:var(--dust);margin-bottom:1.3em}
.entry-content strong,.wp-block-html strong,.wp-block-paragraph strong{color:var(--cream);font-weight:500}
.entry-content a,.wp-block-html a,.wp-block-paragraph a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.3);transition:border-color .3s}
.entry-content a:hover,.wp-block-html a:hover,.wp-block-paragraph a:hover{border-color:var(--gold)}
.entry-content ul,.entry-content ol,.wp-block-html ul,.wp-block-html ol,.wp-block-list{margin:0 0 1.4em 1.4em;color:var(--dust)}
.entry-content li,.wp-block-html li,.wp-block-list li{margin-bottom:.6em;line-height:1.8;font-size:17px;color:var(--dust)}
.entry-content li strong,.wp-block-list li strong{color:var(--cream);font-weight:500}
.entry-content hr,.wp-block-html hr,.wp-block-separator{border:none;border-top:1px solid var(--ash);margin:2.5em 0;background:none}
.entry-content blockquote,.wp-block-html blockquote,.wp-block-quote{font-family:var(--serif);font-size:1.15em;font-style:italic;color:var(--linen);border-left:3px solid var(--gold);padding-left:24px;margin:1.5em 0}

/* ── Custom post classes from Castello blog post HTML files ── */
.entry-content .kicker,.wp-block-html .kicker{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--ember);margin-bottom:12px;display:block}
.entry-content .meta,.wp-block-html .meta{font-family:var(--sans);font-size:11px;color:var(--smoke);margin-bottom:2em;padding-bottom:1em;border-bottom:1px solid var(--ash);letter-spacing:.05em}
.entry-content .disclosure,.wp-block-html .disclosure,.affiliate-disclosure{font-family:var(--sans);font-size:13px;color:var(--smoke);background:var(--coal);border-left:3px solid var(--gold);padding:14px 20px;margin:2em 0;line-height:1.7}
.entry-content .disclosure a,.wp-block-html .disclosure a,.affiliate-disclosure a{color:var(--gold);border:none}
.entry-content .tags,.wp-block-html .tags{font-family:var(--sans);font-size:11px;color:var(--smoke);margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--ash)}
.entry-content .tag,.wp-block-html .tag{display:inline-block;background:var(--char);color:var(--smoke);padding:4px 10px;margin:3px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}

/* ── Post classes from HTML files ── */
.kicker{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin-bottom:12px;display:block}
.meta{font-family:var(--sans);font-size:11px;color:var(--smoke);margin-bottom:2em;padding-bottom:1em;border-bottom:1px solid var(--ash)}
.disclosure{background:var(--coal);border-left:3px solid var(--gold);padding:14px 18px;margin:2em 0;font-size:13px;font-family:var(--sans);color:var(--smoke);line-height:1.6}
.tags{font-family:var(--sans);font-size:11px;color:var(--smoke);margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--ash)}
.tag{display:inline-block;background:var(--coal);border:1px solid var(--ash);color:var(--smoke);padding:4px 12px;border-radius:2px;margin:3px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.affiliate-disclosure{background:var(--coal);border-left:3px solid var(--gold);padding:14px 18px;margin:2em 0;font-size:13px;color:var(--smoke);line-height:1.6}
.affiliate-disclosure a{color:var(--gold);border:none}

/* ── Pagination ── */
.pagination{padding:48px 56px;display:flex;gap:8px;align-items:center}
.page-numbers{font-family:var(--mono,monospace);font-size:12px;padding:8px 14px;color:var(--smoke);text-decoration:none;border:1px solid var(--ash);background:transparent;transition:all .3s}
.page-numbers:hover,.page-numbers.current{background:var(--gold);color:var(--obsidian);border-color:var(--gold)}

/* ── Archive header ── */
.archive-header{padding:140px 56px 60px;background:var(--obsidian)}

/* ── Page (static) ── */
.page-content{max-width:760px;margin:0 auto;padding:140px 40px 100px}
.page-content h1{font-family:var(--serif);font-size:clamp(36px,4.5vw,56px);font-weight:300;color:var(--warm);margin-bottom:32px;line-height:1.1}
.page-content h2{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);font-weight:300;color:var(--warm);margin:2em 0 .5em;border-left:3px solid var(--gold);padding-left:14px}
.page-content p{font-size:16px;line-height:1.85;color:var(--dust);margin-bottom:1.2em}
.page-content strong{color:var(--cream)}
.page-content a{color:var(--gold)}

/* ── 404 ── */
.error-404{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 56px;text-align:center}


/* ── Kill WordPress default white backgrounds on post content ── */
.hentry,
.wp-block-post-content,
.wp-block-group,
.wp-block-column,
.is-layout-flow,
.is-layout-constrained,
.entry-content > *,
.single-post,
main#main,
main#main article{
  background:transparent!important;
  color:var(--dust)
}

/* Force body and main backgrounds on single posts */
body.single,
body.single #page,
body.single main,
body.single .site-content{
  background:var(--obsidian)!important
}

/* Remove any default block padding/margin that creates the card effect */
.wp-block-post-content{
  padding:0!important;
  max-width:none!important
}

/* ================================================================
   MOBILE & TABLET — RESPONSIVE STYLES
   Breakpoints: 1024px (tablet), 768px (large mobile), 480px (small)
   ================================================================ */

/* ── Tablet: 1024px and below ── */
@media (max-width:1024px) {
  .nav-main{padding:20px 32px;background:#090806}
  .hero-content{padding:0 32px}
  .hero-scroll{left:32px}
  .hero-categories{right:32px}
  .cats-intro{padding:72px 32px}
  .cats-grid{grid-template-columns:repeat(3,1fr)}
  .shop-cats-grid{grid-template-columns:repeat(2,1fr)!important;padding:0 32px 64px!important}
  .feature-section{grid-template-columns:1fr;min-height:auto}
  .feature-section.reverse{direction:ltr}
  .feat-vis{min-height:320px}
  .feat-content{padding:56px 40px}
  .feat-content::before{display:none}
  .product-strip{padding:72px 32px}
  .strip-grid{grid-template-columns:repeat(3,1fr)}
  .journal-section{padding:72px 32px}
  .journal-grid{grid-template-columns:repeat(2,1fr)}
  .newsletter{padding:80px 32px}
  footer{padding:56px 32px 36px}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px}
  .posts-list{padding:80px 32px}
  .single-post{padding:120px 32px 80px}
  .archive-header{padding:120px 32px 48px}
  .page-content{padding:120px 32px 80px}
  .cats-intro-hdr{flex-direction:column;align-items:flex-start;gap:16px}
  .cats-intro-sub{text-align:left;max-width:100%}
  .three-grid{grid-template-columns:1fr 1fr!important}
}

/* ── Mobile: 768px and below ── */
@media (max-width:768px) {

  /* Nav — hamburger menu */
  .nav-main{padding:18px 20px;background:#090806!important}
  /* iOS overscroll — fill above header with obsidian */
  body{overscroll-behavior-y:none}
  nav{padding-top:env(safe-area-inset-top,0px)}
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#090806;flex-direction:column;align-items:center;justify-content:center;gap:32px;z-index:600}
  .nav-links.open{display:flex}
  .nav-links a{font-size:18px;letter-spacing:.2em}
  .nav-right .nav-cta{display:none}
  .nav-hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;padding:8px;z-index:400;position:relative;cursor:pointer!important}
  .nav-hamburger span{display:block;width:22px;height:1px;background:var(--linen);transition:all .3s}
  .nav-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-hamburger.open span:nth-child(2){opacity:0}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  /* Category bar — horizontal scroll with fade hints */
  .cat-nav{display:flex!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:0 8px;scrollbar-width:none}
  .cat-nav::-webkit-scrollbar{display:none}
  .cat-item{padding:14px 18px;font-size:9px;scroll-snap-align:start;min-height:44px;flex-shrink:0}
  /* Fade hints — show more content exists left/right */
  nav.castello-nav{overflow:hidden}
  .cat-nav-fade-right{display:block!important}
  .cat-nav-fade-left{display:block!important}

  /* Hero — raised higher on mobile */
  .hero{min-height:100svh;padding-top:70px;padding-bottom:60px;align-items:center}
  .hero-content{padding:0 20px;padding-top:0}
  .hero-kicker{margin-bottom:18px}
  .hero-title{font-size:clamp(42px,11vw,72px);margin-bottom:28px}
  .hero-title .line2{padding-left:clamp(32px,8vw,80px)}
  .hero-title .line3{padding-left:clamp(12px,3vw,32px)}
  .hero-body-row{flex-direction:column;align-items:flex-start;gap:28px}
  .hero-body{font-size:14px;max-width:100%}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:18px}
  .hero-scroll{left:20px;bottom:24px}
  .hero-categories{display:none}
  .hero-socials{display:none}

  /* Fixed social bar — bottom of screen on mobile */
  .mob-social-bar{display:flex!important;align-items:stretch}
  body{padding-bottom:56px}

  /* Shop grid — single column on mobile */
  .shop-cats-grid{grid-template-columns:1fr!important;padding:0 20px 48px!important}

  /* Marquee */
  .mq-item{font-size:12px;padding:0 28px}

  /* Category tiles */
  .cats-intro{padding:56px 20px}
  .cats-grid{grid-template-columns:repeat(2,1fr);gap:2px}
  .cats-intro-hdr{margin-bottom:36px}

  /* Feature sections */
  .feature-section{grid-template-columns:1fr}
  .feat-vis{min-height:260px}
  .feat-content{padding:40px 20px 48px}
  .feat-picks{gap:6px}
  .feat-title{font-size:clamp(24px,6vw,38px)}
  .feat-quote{display:none}

  /* Product strip */
  .product-strip{padding:56px 20px}
  .strip-grid{grid-template-columns:repeat(2,1fr)}
  .strip-hdr{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:32px}

  /* Journal */
  .journal-section{padding:56px 20px}
  .journal-grid{grid-template-columns:1fr}
  .jnl-hdr{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:32px}

  /* Three panel sections */
  .three-grid{grid-template-columns:1fr!important;gap:2px!important}

  /* Newsletter */
  .newsletter{padding:64px 20px}
  .nl-title{font-size:clamp(30px,8vw,52px)}
  .nl-form{flex-direction:column;max-width:100%}
  .nl-input{padding:16px 18px;font-size:14px}
  .nl-btn{padding:16px;font-size:11px}

  /* Footer */
  footer{padding:48px 20px 32px}
  .foot-top{grid-template-columns:1fr;gap:32px}
  .foot-brand p{max-width:100%}
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:20px}
  .foot-right{align-items:flex-start}
  .foot-affiliate{text-align:left}

  /* Blog / posts */
  .posts-list{padding:100px 20px 56px}
  .post-card{padding:24px 20px}
  .post-card-title{font-size:clamp(20px,5vw,28px)}

  /* Single post */
  .single-post{padding:100px 20px 64px}
  .single-title{font-size:clamp(28px,7vw,48px)}

  /* Archive */
  .archive-header{padding:100px 20px 40px}

  /* Static pages */
  .page-content{padding:100px 20px 64px}

  /* Section dividers */
  .sec-divider{margin:0 20px}

  /* Pagination */
  .pagination{padding:32px 20px;flex-wrap:wrap}

  /* Disable custom cursor on touch devices */
  #cur,#ring{display:none!important}
  *{cursor:auto!important}
}

/* ── Small mobile: 480px and below ── */
@media (max-width:480px) {
  .hero-title{font-size:clamp(36px,10vw,58px)}
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .strip-grid{grid-template-columns:1fr 1fr}
  .nav-logo{font-size:20px;letter-spacing:.2em}
  .sec-title{font-size:clamp(28px,7vw,40px)}
  .btn-p{padding:13px 24px;font-size:9px}
}

/* ── Hamburger JS hook — add to header.php ── */
/* Mobile menu toggle is handled in main.js */
