/* ==========================================================================
   Leather Ball Maker — main stylesheet
   Oxblood leather, gold foil, waxed-thread stitching. Barlow Condensed + Barlow.
   ========================================================================== */
:root{
  --leather:#7A1414;
  --leather-2:#5C0E0E;
  --cherry:#B3231F;
  --gold:#C9A04A;
  --gold-lt:#E6CD8C;
  --ink:#1D1613;
  --char:#241B17;
  --hide:#F3EADC;
  --paper:#FBF8F3;
  --card:#FFFFFF;
  --muted:#6B5F57;
  --line:rgba(29,22,19,.12);
  --display:'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
  --sans:'Barlow', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --wrap:1200px;
  --header-h:72px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); -webkit-text-size-adjust:100%;}
body{margin:0; font-family:var(--sans); font-size:16.5px; line-height:1.6; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased;}
img,svg{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--display); font-weight:700; line-height:1.02; margin:0; letter-spacing:.005em;}
p{margin:0 0 .9em;}
ul,ol{margin:0; padding:0;}
address{font-style:normal;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.skip-link{position:absolute; left:-9999px; top:8px; z-index:1000; background:var(--ink); color:#fff; padding:10px 16px;}
.skip-link:focus{left:8px;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 18px;}
.wrap.narrow{max-width:800px;}
@media (min-width:700px){.wrap{padding:0 32px;}}

/* Stitch motif: a running stitch across a leather edge */
.stitch{display:block; height:10px; background:
  repeating-linear-gradient(90deg, var(--hide) 0 14px, transparent 14px 24px) center/100% 2px no-repeat;
  opacity:.85;}
.stitch-light{background-image:repeating-linear-gradient(90deg, rgba(243,234,220,.75) 0 14px, transparent 14px 24px);}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 24px; font:700 17px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:#fff; background:var(--cherry); border:2px solid var(--cherry); border-radius:3px; cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease;}
.btn:hover{background:var(--leather); border-color:var(--leather);}
.btn-sm{min-height:42px; padding:8px 18px; font-size:15.5px;}
.btn-ghost{background:transparent; color:#fff; border-color:rgba(243,234,220,.55);}
.btn-ghost:hover{background:var(--hide); color:var(--leather); border-color:var(--hide);}
.btn-light{background:var(--gold); border-color:var(--gold); color:var(--ink);}
.btn-light:hover{background:var(--gold-lt); border-color:var(--gold-lt); color:var(--ink);}

/* Section heads */
.sec-head{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px 28px; margin-bottom:26px;}
.sec-kicker{display:inline-flex; align-items:center; gap:10px; margin:0 0 6px; font:700 15px/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cherry);}
.sec-kicker::before{content:""; width:26px; height:2px; background:repeating-linear-gradient(90deg,var(--cherry) 0 5px,transparent 5px 8px);}
.sec-head h2{font-size:clamp(34px,6vw,54px); text-transform:uppercase;}
.sec-lead{margin:10px 0 0; max-width:62ch; font-size:17px; color:var(--muted);}
.sec-link{display:inline-flex; align-items:center; gap:8px; min-height:40px; font:700 16px/1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:var(--cherry); text-decoration:none; white-space:nowrap;}
.sec-link::after{content:""; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); transition:transform .2s ease;}
.sec-link:hover::after{transform:translateX(3px) rotate(45deg);}

/* ---------- Header ---------- */
.site-header{position:sticky; top:0; z-index:100; background:var(--ink); color:#fff; border-bottom:3px solid var(--cherry);}
.admin-bar .site-header{top:46px;}
@media (min-width:783px){.admin-bar .site-header{top:32px;}}
.header-main{position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:var(--header-h);}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.brand-mark{width:40px; height:40px; flex:0 0 auto;}
.brand-mark svg{width:100%; height:100%;}
.brand-text{display:flex; flex-direction:column; line-height:1; white-space:nowrap;}
.brand-name{font-family:var(--display); font-weight:800; font-size:25px; letter-spacing:.03em; text-transform:uppercase; color:#fff;}
.brand-tag{margin-top:3px; font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lt);}
.brand-logo img{max-height:52px; width:auto;}
.nav-actions{display:flex; align-items:center; gap:8px;}
.header-cta{display:none;}
.navmenu-btn{display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:0 14px; background:transparent; color:#fff; border:2px solid rgba(243,234,220,.4); border-radius:3px; font:700 16px var(--display); letter-spacing:.08em; text-transform:uppercase; cursor:pointer;}
.navmenu-btn .bars{position:relative; width:16px; height:2px; background:currentColor;}
.navmenu-btn .bars::before,.navmenu-btn .bars::after{content:""; position:absolute; left:0; width:16px; height:2px; background:currentColor; transition:transform .2s ease, top .2s ease;}
.navmenu-btn .bars::before{top:-5px;} .navmenu-btn .bars::after{top:5px;}
.navmenu-btn[aria-expanded="true"] .bars{background:transparent;}
.navmenu-btn[aria-expanded="true"] .bars::before{top:0; transform:rotate(45deg);}
.navmenu-btn[aria-expanded="true"] .bars::after{top:0; transform:rotate(-45deg);}
.navlinks{display:none; position:absolute; top:100%; left:-18px; right:-18px; margin-top:3px; background:var(--char); max-height:calc(100vh - var(--header-h)); overflow-y:auto; box-shadow:0 20px 40px rgba(0,0,0,.35);}
.navlinks.open{display:block;}
.navlinks ul{list-style:none; padding:6px 0;}
.navlinks a{display:flex; align-items:center; min-height:52px; padding:0 22px; text-decoration:none; font:700 22px/1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--hide); border-bottom:1px solid rgba(243,234,220,.08);}
.navlinks .current-menu-item > a,.navlinks a[aria-current="page"]{color:var(--gold-lt); box-shadow:inset 4px 0 0 var(--cherry);}
.drawer-contact{display:flex; flex-direction:column; padding:14px 22px 22px;}
.drawer-contact a{min-height:38px; display:flex; align-items:center; color:rgba(243,234,220,.7); text-decoration:none; font-size:15px;}
@media (min-width:1240px){
  .header-cta{display:inline-flex; white-space:nowrap;}
  .navmenu-btn{display:none;}
  .brand-mark{width:44px; height:44px;}
  .brand-name{font-size:26px;}
  .brand-tag{font-size:10.5px; letter-spacing:.1em;}
  .navlinks{display:block; position:static; margin:0 auto 0 8px; background:none; box-shadow:none; max-height:none; overflow:visible;}
  .navlinks > ul{display:flex; gap:4px; padding:0;}
  .navlinks a{min-height:var(--header-h); padding:0 9px; border:0; font-size:16px; letter-spacing:.03em; white-space:nowrap; color:rgba(243,234,220,.85); position:relative;}
  .navlinks a::after{content:""; position:absolute; left:9px; right:9px; bottom:14px; height:2px; background:repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 8px); transform:scaleX(0); transition:transform .2s ease;}
  .navlinks a:hover{color:#fff;}
  .navlinks a:hover::after,.navlinks .current-menu-item > a::after,.navlinks a[aria-current="page"]::after{transform:scaleX(1);}
  .navlinks .current-menu-item > a,.navlinks a[aria-current="page"]{box-shadow:none; color:#fff;}
  .drawer-contact{display:none;}
}

/* ---------- Hero ---------- */
.hero{position:relative; overflow:hidden; color:#fff; background:
  radial-gradient(90% 120% at 80% 40%, #9C1E1C 0%, var(--leather) 38%, var(--leather-2) 72%, #3A0909 100%);}
.hero::before{content:""; position:absolute; inset:0; opacity:.22; background-image:radial-gradient(rgba(0,0,0,.35) 1px, transparent 1.4px), radial-gradient(rgba(255,255,255,.12) 1px, transparent 1.4px); background-size:5px 5px, 7px 7px; background-position:0 0, 2px 3px;}
.hero::after{content:""; position:absolute; left:0; right:0; bottom:14px; height:2px; background:repeating-linear-gradient(90deg, rgba(243,234,220,.7) 0 14px, transparent 14px 24px);}
.hero-grid{position:relative; z-index:1; display:grid; gap:10px; align-items:center; padding-top:34px; padding-bottom:44px;}
.hero-kicker{display:inline-flex; align-items:center; gap:10px; margin:0 0 12px; font:700 15px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt);}
.hero-kicker::before{content:""; width:26px; height:2px; background:repeating-linear-gradient(90deg,var(--gold-lt) 0 5px,transparent 5px 8px);}
.hero h1{font-size:clamp(40px,9vw,76px); line-height:.94; text-transform:uppercase; letter-spacing:-.005em; max-width:14ch; text-shadow:0 2px 0 rgba(0,0,0,.18);}
.lede{margin:16px 0 0; max-width:50ch; font-size:18px; color:rgba(255,245,235,.9);}
.hero-actions{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:22px;}
.hero-wa{color:var(--gold-lt); font-weight:600; font-size:15.5px; text-decoration:none; border-bottom:1px dashed rgba(230,205,140,.6); padding:4px 0;}
.hero-wa:hover{color:#fff;}
.hero-points{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin-top:24px; padding-top:18px; border-top:1px solid rgba(243,234,220,.2);}
.hero-points li{position:relative; padding-left:22px; font-size:15px; font-weight:500; color:rgba(255,245,235,.92);}
.hero-points li::before{content:""; position:absolute; left:0; top:.45em; width:12px; height:12px; border-radius:50%; background:var(--gold); box-shadow:inset 0 0 0 3px var(--leather);}
.hero-art{position:relative; height:300px; margin-top:6px;}
.hero-art .ring{position:absolute; left:50%; top:50%; width:270px; height:270px; margin:-135px 0 0 -135px; border-radius:50%; border:2px dashed rgba(230,205,140,.35);}
.ball{position:absolute; display:block; filter:drop-shadow(0 18px 24px rgba(0,0,0,.35));}
.ball svg{width:100%; height:100%;}
.ball-main{width:230px; height:230px; left:50%; top:50%; margin:-125px 0 0 -115px; animation:lbm-float 6s ease-in-out infinite;}
.ball-2{width:120px; height:120px; right:2%; bottom:0;}
.ball-3{width:96px; height:96px; left:4%; top:6%;}
@keyframes lbm-float{0%,100%{transform:translateY(0) rotate(0);} 50%{transform:translateY(-8px) rotate(-6deg);}}
@media (min-width:1000px){
  .hero-grid{grid-template-columns:1.1fr .9fr; gap:24px; padding-top:56px; padding-bottom:72px; min-height:540px;}
  .hero-art{height:440px; margin:0;}
  .hero-art .ring{width:400px; height:400px; margin:-200px 0 0 -200px;}
  .ball-main{width:340px; height:340px; margin:-180px 0 0 -170px;}
  .ball-2{width:170px; height:170px; right:0; bottom:10px;}
  .ball-3{width:130px; height:130px; left:0; top:18px;}
}

/* ---------- Home section rhythm ---------- */
.home-sec{padding:44px 0 48px;}
.home-sec-about,.home-sec-quality,.home-sec-contact{background:var(--hide);}
.home-sec-process{background:var(--ink); color:var(--hide);}
.home-sec-process .sec-head h2{color:#fff;}
.home-sec-process .sec-kicker{color:var(--gold-lt);}
.home-sec-process .sec-kicker::before{background:repeating-linear-gradient(90deg,var(--gold-lt) 0 5px,transparent 5px 8px);}
.home-sec-process .sec-lead{color:rgba(243,234,220,.75);}
.home-sec-process .sec-link{color:var(--gold-lt);}
@media (min-width:900px){.home-sec{padding:64px 0 68px;}}

/* ---------- Products ---------- */
.product-grid{list-style:none; display:grid; gap:14px;}
.product{display:grid; grid-template-columns:110px 1fr; gap:14px; padding:16px; background:var(--card); border:1px solid var(--line); border-radius:6px; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;}
.product:hover{border-color:var(--cherry); box-shadow:0 16px 30px rgba(58,9,9,.12); transform:translateY(-2px);}
.product-art{align-self:start; background:radial-gradient(circle at 50% 55%, var(--hide) 0 58%, transparent 59%); padding:6px;}
.product h3{font-size:26px; text-transform:uppercase;}
.product-use{margin:2px 0 8px; font-size:14px; font-weight:600; color:var(--cherry);}
.product-specs{list-style:none; display:grid; gap:3px; margin-bottom:10px;}
.product-specs li{position:relative; padding-left:16px; font-size:14.5px; color:var(--muted);}
.product-specs li::before{content:""; position:absolute; left:0; top:.62em; width:8px; height:2px; background:var(--gold);}
.product-link{font:700 15px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--cherry); text-decoration:none; border-bottom:2px dashed rgba(179,35,31,.4); padding-bottom:3px;}
.product-link:hover{border-bottom-style:solid;}
@media (min-width:700px){.product-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1050px){
  .product-grid{grid-template-columns:repeat(3,1fr); gap:18px;}
  .product{grid-template-columns:1fr; text-align:left; padding:20px;}
  .product-art{width:150px; margin:0 auto 6px;}
}

/* ---------- About ---------- */
.about-grid{display:grid; gap:24px; align-items:start;}
.about-copy p{font-size:17px; color:var(--muted);}
.about-copy p:first-child{font-size:19px; color:var(--ink); font-weight:500;}
.values{list-style:none; display:grid; gap:10px;}
.values li{display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding:16px; background:var(--card); border:1px solid var(--line); border-left:4px solid var(--cherry); border-radius:6px;}
.v-icon{grid-row:span 2; width:44px; height:44px; color:var(--cherry);}
.values strong{font:700 21px/1.1 var(--display); text-transform:uppercase;}
.values li > span:last-child{font-size:14.5px; color:var(--muted);}
@media (min-width:900px){.about-grid{grid-template-columns:1.1fr 1fr; gap:48px;} .values{grid-template-columns:1fr 1fr;} .values li{grid-template-columns:1fr; row-gap:8px;} .v-icon{grid-row:auto;}}

/* ---------- Process ---------- */
.steps{list-style:none; display:grid; gap:10px; counter-reset:none;}
.step{position:relative; display:grid; grid-template-columns:48px 1fr; column-gap:14px; padding:16px 16px 14px; background:var(--char); border:1px solid rgba(243,234,220,.1); border-radius:6px; color:var(--hide);}
.step-no{position:absolute; right:14px; top:10px; font:800 30px/1 var(--display); color:rgba(230,205,140,.28);}
.step-icon{grid-row:span 2; width:44px; height:44px; color:var(--gold-lt);}
.step h3{font-size:22px; text-transform:uppercase; color:#fff; padding-right:40px;}
.step p{margin:4px 0 0; font-size:14.5px; color:rgba(243,234,220,.72);}
.page-body-process{background:var(--ink);}
@media (min-width:700px){.steps{grid-template-columns:1fr 1fr;}}
@media (min-width:1050px){
  .steps{grid-template-columns:repeat(4,1fr); gap:14px;}
  .step{grid-template-columns:1fr; row-gap:10px; padding:20px;}
  .step-icon{grid-row:auto;}
  .step:last-child{grid-column:span 1;}
}

/* ---------- Quality ---------- */
.quality-grid{display:grid; gap:16px; align-items:start;}
.checks{list-style:none; display:grid; gap:10px;}
.check{display:grid; grid-template-columns:44px 1fr; gap:14px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:6px;}
.check-icon{width:40px; height:40px; color:var(--cherry);}
.check h3{font-size:21px; text-transform:uppercase;}
.check p{margin:3px 0 0; font-size:14.5px; color:var(--muted);}
.quality-note{position:relative; padding:22px 22px 24px; background:var(--leather); color:#fff; border-radius:6px; overflow:hidden;}
.quality-note::before{content:""; position:absolute; inset:8px; border:2px dashed rgba(243,234,220,.35); border-radius:4px; pointer-events:none;}
.qn-title{position:relative; font:800 30px/1 var(--display); text-transform:uppercase; margin-bottom:10px;}
.quality-note p{position:relative; color:rgba(255,245,235,.9);}
.quality-note .btn{position:relative; background:var(--gold); border-color:var(--gold); color:var(--ink);}
.quality-note .btn:hover{background:var(--gold-lt); border-color:var(--gold-lt);}
@media (min-width:700px){.checks{grid-template-columns:1fr 1fr;}}
@media (min-width:1050px){.quality-grid{grid-template-columns:1fr 340px; gap:24px;}}

/* ---------- OEM ---------- */
.oem-grid{display:grid; gap:14px;}
.oem-panel,.oem-flow{padding:22px; background:var(--card); border:1px solid var(--line); border-radius:6px;}
.oem-panel h3,.oem-flow h3{font-size:28px; text-transform:uppercase; margin-bottom:14px;}
.tick-list{list-style:none; display:grid; gap:8px;}
.tick-list li{position:relative; padding-left:30px; font-size:16px;}
.tick-list li::before{content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%; background:var(--cherry) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;}
.flow{list-style:none; counter-reset:f; display:grid; gap:0;}
.flow li{counter-increment:f; position:relative; display:grid; padding:0 0 16px 48px;}
.flow li::before{content:counter(f, decimal-leading-zero); position:absolute; left:0; top:0; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--ink); color:var(--gold-lt); font:700 16px var(--display);}
.flow li:not(:last-child)::after{content:""; position:absolute; left:16px; top:36px; bottom:2px; border-left:2px dashed var(--line);}
.flow strong{font:700 20px/1.1 var(--display); text-transform:uppercase; padding-top:6px;}
.flow span{font-size:14.5px; color:var(--muted);}
.page-body-oem .oem-panel,.home-sec-oem .oem-panel{background:var(--leather); color:#fff; border-color:var(--leather);}
.page-body-oem .oem-panel h3,.home-sec-oem .oem-panel h3{color:#fff;}
.page-body-oem .tick-list li::before,.home-sec-oem .tick-list li::before{background-color:var(--gold);}
@media (min-width:900px){.oem-grid{grid-template-columns:1fr 1fr; gap:18px;} .oem-panel,.oem-flow{padding:28px;}}

/* ---------- Contact ---------- */
.contact-grid{display:grid; gap:16px; align-items:start;}
.contact-cards{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.c-card{display:flex; flex-direction:column; gap:4px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:6px; text-decoration:none; transition:border-color .2s ease;}
.c-card:hover{border-color:var(--cherry);}
.c-label{font:700 14px/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--cherry);}
.c-value{font-weight:600; font-size:15.5px; word-break:break-word;}
.c-wa{background:#1F7A4D; border-color:#1F7A4D; color:#fff;}
.c-wa .c-label{color:#BFF0D4;}
.c-addr{grid-column:1 / -1;}
.c-more{font-size:13.5px; font-weight:600; color:var(--cherry);}
@media (min-width:1000px){.contact-grid{grid-template-columns:.8fr 1.2fr; gap:24px;} .contact-cards{grid-template-columns:1fr;}}

/* Form */
.lbm-form-card{background:var(--card); border:1px solid var(--line); border-top:5px solid var(--cherry); border-radius:6px; padding:20px 18px; box-shadow:0 18px 40px rgba(29,22,19,.08);}
.lbm-form-title{font-size:30px; text-transform:uppercase; margin-bottom:14px;}
.lbm-form .lbm-row{display:grid; gap:0 14px;}
.lbm-field{margin-bottom:12px;}
.lbm-field label{display:block; font-size:13.5px; font-weight:600; margin-bottom:5px;}
.lbm-field label span{color:var(--cherry);}
.lbm-field input,.lbm-field select,.lbm-field textarea{width:100%; min-height:46px; padding:10px 12px; font:inherit; font-size:16px; color:var(--ink); background:var(--paper); border:1px solid rgba(29,22,19,.2); border-radius:4px; transition:border-color .15s ease, box-shadow .15s ease;}
.lbm-field textarea{resize:vertical; min-height:100px;}
.lbm-field input:focus,.lbm-field select:focus,.lbm-field textarea:focus{outline:none; border-color:var(--cherry); box-shadow:0 0 0 3px rgba(179,35,31,.14); background:#fff;}
.lbm-field .is-invalid{border-color:var(--cherry);}
.lbm-submit{width:100%;}
.lbm-submit[disabled]{opacity:.6; cursor:wait;}
.lbm-hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.lbm-form-msg{padding:10px 14px; margin-bottom:14px; font-size:14.5px; border-left:3px solid var(--cherry); background:rgba(179,35,31,.07); border-radius:3px;}
.lbm-form-msg[data-state="sent"]{border-color:#1F7A4D; background:rgba(31,122,77,.1);}
@media (min-width:600px){.lbm-form .lbm-row{grid-template-columns:1fr 1fr;} .lbm-form-card{padding:26px 26px;} .lbm-submit{width:auto;}}

/* ---------- Masthead (inner pages) ---------- */
.masthead{position:relative; overflow:hidden; color:#fff; padding:34px 0 30px; background:radial-gradient(90% 140% at 90% 30%, #9C1E1C 0%, var(--leather) 45%, #3A0909 100%);}
.masthead::before{content:""; position:absolute; inset:0; opacity:.2; background-image:radial-gradient(rgba(0,0,0,.35) 1px, transparent 1.4px); background-size:5px 5px;}
.masthead .wrap{position:relative;}
.masthead .stitch{position:absolute; left:0; right:0; bottom:10px;}
.breadcrumb{display:flex; flex-wrap:wrap; gap:8px; font-size:13.5px; color:rgba(243,234,220,.7); margin-bottom:10px;}
.breadcrumb a{color:#fff; text-decoration:none;}
.masthead-kicker{margin:0 0 4px; font:700 15px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt);}
.masthead h1{font-size:clamp(38px,7vw,64px); text-transform:uppercase;}
.masthead-lead{max-width:62ch; margin:10px 0 0; font-size:17px; color:rgba(255,245,235,.9);}
@media (min-width:900px){.masthead{padding:48px 0 44px;}}
.page-body{padding:36px 0 44px;}
@media (min-width:900px){.page-body{padding:52px 0 60px;}}
.page-body-about,.page-body-quality{background:var(--hide);}
.page-extra{padding:0 0 40px;}

/* ---------- CTA band ---------- */
.cta-band{position:relative; background:var(--ink); color:#fff; padding:28px 0 30px;}
.cta-band > .stitch{position:absolute; left:0; right:0; top:8px;}
.cta-inner{display:grid; gap:14px; align-items:center;}
.cta-text{margin:0; font:800 clamp(26px,4.6vw,38px)/1.05 var(--display); text-transform:uppercase;}
.cta-sub{margin:6px 0 0; color:rgba(243,234,220,.75);}
.cta-actions{display:flex; flex-wrap:wrap; gap:10px;}
@media (min-width:900px){.cta-inner{grid-template-columns:1fr auto; gap:28px;} .cta-band{padding:36px 0 38px;}}

/* ---------- Plain pages ---------- */
.page-plain{padding:40px 0 56px;}
.page-title{font-size:clamp(34px,6vw,52px); text-transform:uppercase; margin-bottom:18px;}
.entry-content a{color:var(--cherry);}
.post-meta{font-size:13px; color:var(--muted);}
.post-item{padding:20px 0; border-bottom:1px solid var(--line);}
.post-item h2{font-size:28px;}
.post-item h2 a{text-decoration:none;}
.lbm-elementor-page .site-main > .elementor{margin:0;}

/* ---------- Footer ---------- */
.site-footer{position:relative; background:var(--char); color:rgba(243,234,220,.7); padding:34px 0 0; font-size:15px;}
.site-footer > .stitch{position:absolute; left:0; right:0; top:10px;}
.site-footer a{color:var(--hide); text-decoration:none;}
.site-footer a:hover{color:#fff; text-decoration:underline;}
.footer-inner{display:grid; gap:24px; padding-top:10px;}
.footer-brand address{margin-top:14px; line-height:1.6;}
.footer-title{font:700 17px/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--gold-lt); margin:0 0 10px;}
.footer-links ul{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:2px 20px;}
.footer-links a{display:inline-block; padding:4px 0;}
.footer-contact{display:flex; flex-direction:column; gap:6px;}
.footer-base{display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 20px; margin-top:26px; padding-top:14px; padding-bottom:20px; border-top:1px solid rgba(243,234,220,.12); font-size:13px;}
@media (min-width:900px){.footer-inner{grid-template-columns:1.1fr 1.2fr .9fr; gap:48px;}}

/* WhatsApp float */
.wa-float{position:fixed; right:16px; bottom:16px; z-index:90; width:54px; height:54px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#25D366; color:#fff; box-shadow:0 10px 24px rgba(0,0,0,.25); transition:transform .2s ease;}
.wa-float:hover{transform:scale(1.06);}

@media (max-width:480px){.brand{min-width:0;} .brand-text{min-width:0; overflow:hidden;} .brand-name{font-size:21px; overflow:hidden; text-overflow:ellipsis;} .brand-tag{font-size:9.5px; letter-spacing:.08em; overflow:hidden; text-overflow:ellipsis;} .brand-mark{width:34px; height:34px;} .navmenu-label{display:none;} .navmenu-btn{padding:0 12px;} .header-main{gap:10px;}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *{transition:none!important; animation:none!important;}}
.step-cta{display:flex; flex-direction:column; justify-content:center; gap:8px; background:var(--leather); border-color:var(--leather);}
.step-cta h3{padding-right:0;}
.step-cta .btn{align-self:flex-start; margin-top:4px;}
