/* ==========================================================================
   Ivan Hristov Team — WordPress theme styles
   ========================================================================== */

/* Base reset (replaces Tailwind preflight used in the original build) */
*,::before,::after { box-sizing:border-box; }
h1,h2,h3,h4,h5,h6,p,blockquote,figure,dl,dd { margin:0; }
h4,h5,h6 { font-size:inherit; font-weight:inherit; }
img,svg,video { vertical-align:middle; }
svg { display:block; flex:0 0 auto; }
button,input,select,textarea { font:inherit; color:inherit; letter-spacing:inherit; }
button { background:transparent; border:0; padding:0; border-radius:0; }
textarea { resize:vertical; }
[hidden] { display:none !important; }

/* ---- Original design ---- */
:root { --ink:#0b0c11; --ink-2:#15161d; --ink-3:#1d1f27; --paper:#f4f2ec; --white:#fffefb; --muted:#a9a9ae; --gold:#d6b46d; --gold-light:#f1d898; --blue:#3a76ff; --line:rgba(255,255,255,.13); --display:"Barlow Condensed", "Oswald", Impact, sans-serif; --body:"Manrope", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--white); font-family:var(--body); font-size:16px; line-height:1.7; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
img { max-width:100%; height:auto; display:block; }
.container { width:min(1240px, calc(100% - 64px)); margin:0 auto; }
.eyebrow { color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.18em; margin:0 0 15px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1; letter-spacing:-.015em; }
h1,h2 { font-family:var(--display); font-weight:800; text-transform:uppercase; }
h1 i,h2 i { color:var(--gold); font-style:italic; font-weight:700; }
h1 { font-size:clamp(66px, 9vw, 140px); }
h2 { font-size:clamp(48px, 5.2vw, 78px); }
h3 { font-family:var(--display); text-transform:uppercase; font-size:31px; font-weight:700; }
.button { display:inline-flex; align-items:center; gap:12px; border:1px solid transparent; padding:15px 20px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; transition:.25s ease; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:var(--ink); }
.button-gold:hover { background:var(--gold-light); }
.button-dark { background:var(--ink); color:var(--white); }
.button-dark:hover { background:#282a34; }
.button-ghost { color:var(--white); border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.02); }
.button-ghost:hover { background:rgba(255,255,255,.11); }
.site-header { position:absolute; width:100%; z-index:10; border-bottom:1px solid rgba(255,255,255,.13); background:linear-gradient(180deg, rgba(9,10,15,.7), transparent); }
.header-inner { width:min(1380px, calc(100% - 48px)); height:88px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.brand { display:inline-flex; align-items:center; gap:10px; min-width:180px; font-family:var(--display); line-height:.8; letter-spacing:.065em; }
.brand-mark { display:grid; place-items:center; width:33px; height:33px; background:var(--gold); color:var(--ink); transform:skewX(-10deg); }
.brand > span:last-child { display:grid; gap:4px; font-size:19px; }
.brand b { font-weight:800; }.brand em { color:var(--gold); font-size:9px; font-style:normal; font-family:var(--body); font-weight:800; letter-spacing:.38em; }
.main-nav { display:flex; align-items:center; gap:26px; color:#dddde0; font-size:11px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.main-nav a { position:relative; padding:6px 0; }.main-nav a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:.25s; }.main-nav a:hover::after,.main-nav a.active::after { width:100%; }.main-nav a.active { color:var(--white); }
.header-actions { display:flex; align-items:center; gap:14px; }.cart-button { position:relative; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.2); }.cart-count { position:absolute; top:-8px; right:-8px; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--gold); color:var(--ink); font-size:10px; font-weight:800; }.header-cta,.nav-mobile-cta { display:flex; gap:8px; align-items:center; color:var(--ink); background:var(--gold); padding:12px 15px; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.nav-mobile-cta { display:none; }
.menu-button { display:none; color:white; background:none; border:0; padding:6px; }
.hero { min-height:800px; height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; background:#0b0c11; }.hero-media { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.02); animation:heroPulse 13s ease-in-out infinite alternate; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,9,14,.93) 0%, rgba(8,9,14,.68) 38%, rgba(8,9,14,.13) 70%, rgba(8,9,14,.4) 100%), linear-gradient(0deg, rgba(8,9,14,.8), transparent 35%); }.hero-grid,.map-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px); background-size:92px 92px; mask-image:linear-gradient(90deg, black, transparent 65%); }.hero-content { position:relative; z-index:1; padding-top:82px; }.hero-copy { max-width:710px; }.hero-kicker { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:800; letter-spacing:.17em; color:#e6e1d3; }.hero-kicker span { width:25px; height:1px; background:var(--gold); }.hero h1 { margin:18px 0 20px; }.hero-text { max-width:520px; margin-bottom:30px; color:#dbdbe0; font-size:16px; }.hero-buttons { display:flex; gap:10px; flex-wrap:wrap; }.hero-proof { position:absolute; right:0; bottom:80px; display:flex; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(12,13,18,.38); backdrop-filter:blur(8px); }.hero-proof div { width:135px; padding:15px 18px; border-left:1px solid var(--line); display:flex; align-items:center; gap:10px; }.hero-proof div:first-child { border-left:0; }.hero-proof strong { color:var(--gold); font-family:var(--display); font-size:39px; line-height:1; }.hero-proof span { font-size:9px; line-height:1.25; text-transform:uppercase; font-weight:800; letter-spacing:.05em; }.hero-scroll { position:absolute; z-index:1; left:calc((100% - min(1240px, calc(100% - 64px)))/2); bottom:25px; font-size:9px; font-weight:800; letter-spacing:.15em; display:flex; gap:10px; align-items:center; }.hero-scroll span { display:block; width:30px; height:1px; background:var(--gold); }
.path-section { padding:150px 0 130px; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:46px; }.section-heading h2 { margin:0; }.section-copy { max-width:560px; color:#c0c0c6; margin:20px 0 0; font-size:15px; line-height:1.75; }.path-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:13px; }.path-card { position:relative; min-height:420px; padding:30px; display:flex; flex-direction:column; overflow:hidden; transition:.35s ease; }.path-card:hover { transform:translateY(-7px); }.path-card::before { content:""; position:absolute; inset:0; opacity:.7; background:radial-gradient(circle at 80% 12%, rgba(255,255,255,.15), transparent 29%); }.path-training { background:linear-gradient(135deg,#d4b36b,#a8833c); color:var(--ink); }.path-team { background:#1c2030; }.path-shop { background:#0f2a54; }.path-card > * { position:relative; }.path-index { font-family:var(--display); font-size:17px; font-weight:700; opacity:.7; }.path-card svg { margin:58px 0 18px; width:29px; height:29px; }.path-card h3 { font-size:44px; margin-bottom:12px; }.path-card h3 i { font-style:italic; }.path-card p { max-width:300px; font-size:14px; line-height:1.6; margin:0; opacity:.86; }.path-link { margin-top:auto; display:flex; align-items:center; gap:10px; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.1em; }.path-training .path-link { color:#17130d; }
.club-section { background:var(--paper); color:var(--ink); display:grid; grid-template-columns:1.1fr .9fr; min-height:680px; }.club-image { background-size:cover; background-position:center; min-height:450px; }.club-content { padding:94px min(8vw,130px) 86px 7vw; }.club-content h2 { margin:0 0 25px; }.club-content > p:not(.eyebrow) { color:#55545b; max-width:480px; margin-bottom:28px; }.feature-list { display:grid; gap:9px; margin:0 0 31px; font-size:12px; font-weight:700; }.feature-list span { display:flex; align-items:center; gap:8px; }.feature-list svg { width:16px; color:#aa8335; }
.approach-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; padding:135px 0; }.approach-copy h2 { margin:0 0 24px; }.approach-copy > p:not(.eyebrow) { color:var(--muted); max-width:420px; margin-bottom:30px; }.steps { border-top:1px solid var(--line); }.steps article { display:grid; grid-template-columns:68px 1fr; gap:18px; padding:28px 0; border-bottom:1px solid var(--line); }.steps span { color:var(--gold); font-family:var(--display); font-size:28px; font-style:italic; }.steps h3 { margin:0 0 7px; font-size:27px; }.steps p { margin:0; color:#c0c0c6; font-size:14px; line-height:1.65; max-width:520px; }
.shop-preview { background:#ebebe7; color:var(--ink); padding:130px 0; }.shop-preview .section-heading .section-copy { color:#5b5b60; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.product-card { background:var(--white); color:var(--ink); min-width:0; box-shadow:0 16px 30px rgba(11,12,17,.05); transition:.25s ease; }.product-card:hover { transform:translateY(-5px); box-shadow:0 24px 46px rgba(11,12,17,.13); }.product-image { position:relative; height:325px; display:flex; align-items:center; justify-content:center; padding:28px; overflow:hidden; background:linear-gradient(145deg,#e8e9e8,#cdd0d0); }.product-image::after { content:""; position:absolute; inset:auto -45px -70px; height:145px; background:radial-gradient(ellipse,rgba(0,0,0,.26),transparent 67%); filter:blur(8px); }.product-image img { position:relative; z-index:1; max-height:100%; object-fit:contain; transition:.4s; }.product-card:hover .product-image img { transform:scale(1.06) translateY(-3px); }.product-badge { position:absolute; z-index:2; top:14px; left:14px; background:var(--ink); color:var(--gold-light); padding:5px 8px; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.view-product { position:absolute; z-index:3; bottom:16px; right:16px; display:flex; align-items:center; gap:7px; padding:8px 10px; color:white; background:var(--ink); font-size:9px; letter-spacing:.06em; font-weight:800; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:.25s; }.product-card:hover .view-product { opacity:1; transform:none; }.product-details { padding:19px 20px 17px; }.product-meta { display:flex; justify-content:space-between; color:#77777d; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.065em; }.product-meta span:last-child { color:#bd8d27; }.product-details h3 { font-size:27px; margin:9px 0 8px; min-height:50px; }.product-details p { min-height:42px; margin:0; color:#55555c; font-size:12px; line-height:1.6; }.product-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:16px; }.product-bottom strong,.detail-buy strong { font-family:var(--display); font-size:30px; }.product-bottom small,.detail-buy small { font-size:16px; }.product-bottom .card-add { display:grid; place-items:center; width:36px; height:36px; border:0; background:var(--ink); color:white; transition:.2s; }.product-bottom .card-add:hover { background:var(--gold); color:var(--ink); }
.coach-highlight { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:130px 0; }.coach-photo { min-height:620px; position:relative; background-position:center; background-size:cover; }.coach-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,8,13,.8),transparent 50%); }.photo-caption { position:absolute; z-index:1; left:28px; bottom:25px; font-family:var(--display); font-size:28px; line-height:.82; letter-spacing:.08em; }.coach-copy { padding:55px 7vw; align-self:center; }.coach-copy h2 { margin:0 0 23px; }.coach-copy > p:not(.eyebrow) { color:#c0c0c6; max-width:460px; font-size:15px; line-height:1.7; }.quote-mark { color:var(--gold); font-family:var(--display); font-size:80px; line-height:.65; margin-top:37px; }blockquote { font-family:var(--display); font-size:30px; font-weight:600; line-height:1; margin:0 0 15px; max-width:390px; }cite { display:block; color:var(--gold); font-style:normal; font-size:9px; font-weight:800; letter-spacing:.12em; margin-bottom:28px; }.belief-band { background:var(--gold); color:var(--ink); }.belief-band .container { min-height:190px; display:flex; align-items:center; justify-content:space-between; }.belief-band svg { width:36px; height:36px; }.belief-band p { font-family:var(--display); font-size:clamp(32px,4.1vw,58px); line-height:.92; text-transform:uppercase; margin:0; }.belief-band a { display:grid; place-items:center; width:56px; height:56px; border:1px solid rgba(0,0,0,.4); transition:.2s; }.belief-band a:hover { background:var(--ink); color:var(--gold); }
.site-footer { background:#090a0e; }.footer-cta-wrap { border-bottom:1px solid var(--line); }.footer-cta { width:min(1240px, calc(100% - 64px)); margin:auto; min-height:290px; display:flex; justify-content:space-between; align-items:center; gap:30px; }.footer-cta h2 { margin:0; }.footer-grid { width:min(1240px, calc(100% - 64px)); margin:0 auto; padding:65px 0; display:grid; grid-template-columns:1.8fr 1fr 1fr .7fr; gap:45px; }.footer-copy { color:#b7b7bd; max-width:300px; margin:21px 0; font-size:13px; line-height:1.65; }.footer-label { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.16em; }.footer-grid > div:not(:first-child) { display:flex; flex-direction:column; align-items:flex-start; gap:9px; color:#c6c6ca; font-size:12px; }.footer-grid a:hover { color:var(--gold); }.footer-grid span { color:#8a8a91; line-height:1.7; }.footer-grid span b { color:#c2c2c7; font-weight:500; }.socials { display:flex; gap:7px; }.socials a { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--line); }.tiktok { font-size:20px; font-weight:800; }.footer-bottom { width:min(1240px, calc(100% - 64px)); margin:auto; padding:17px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:15px; color:#6f6f76; font-size:9px; }
.page-hero { position:relative; min-height:520px; display:flex; align-items:end; padding:155px 0 65px; overflow:hidden; background:radial-gradient(circle at 85% 30%,rgba(58,118,255,.32),transparent 30%), linear-gradient(135deg,#10131f,#08090d 68%); }.page-hero::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,transparent,black); opacity:.6; }.page-hero .container { position:relative; z-index:1; }.page-hero h1 { margin:0 0 20px; }.page-hero .container > p:not(.eyebrow) { max-width:600px; color:#dedee3; font-size:17px; line-height:1.65; }.shop-hero { background:radial-gradient(circle at 78% 15%,rgba(202,162,79,.27),transparent 22%),linear-gradient(135deg,#15120c,#08090d 64%); }.program-hero { background:radial-gradient(circle at 82% 24%,rgba(48,104,214,.35),transparent 26%),linear-gradient(135deg,#0e111a,#090a0e 68%); }.team-hero { background:radial-gradient(circle at 83% 24%,rgba(205,157,62,.25),transparent 25%),linear-gradient(135deg,#15100a,#090a0e 68%); }
.shop-section { padding:75px 0 130px; }.shop-toolbar { display:flex; justify-content:space-between; gap:15px; align-items:center; padding-bottom:21px; border-bottom:1px solid var(--line); }.category-pills { display:flex; flex-wrap:wrap; gap:8px; }.category-pills a { border:1px solid var(--line); background:transparent; color:#c7c7cc; padding:9px 12px; font-size:10px; font-weight:700; }.category-pills a.selected,.category-pills a:hover { background:var(--gold); border-color:var(--gold); color:var(--ink); }.search-field { display:flex; align-items:center; min-width:240px; border-bottom:1px solid #717178; padding:8px 0; color:#aaaab0; }.search-field input { width:100%; border:0; outline:0; background:transparent; color:var(--white); margin-left:9px; font-size:12px; }.search-field input::placeholder { color:#a2a2a9; }.shop-result { margin:20px 0 23px; display:flex; justify-content:space-between; color:#aaaab1; font-size:11px; }.shop-result span:first-child { color:var(--gold); display:flex; align-items:center; gap:7px; }.empty-state,.empty-cart { text-align:center; padding:85px 20px; color:#b9b9c0; }.empty-state svg,.empty-cart svg { color:var(--gold); }.empty-state h2,.empty-cart h2 { margin:17px 0 10px; }.text-button { background:none; color:var(--gold); border:0; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.08em; }
.product-detail { padding:155px 0 100px; display:grid; grid-template-columns:1fr .88fr; gap:80px; }.back-link { display:inline-block; color:#c5c5ca; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; margin-bottom:22px; }.back-link:hover { color:var(--gold); }.detail-main { min-height:560px; display:grid; place-items:center; background:linear-gradient(145deg,#e9ebea,#c8cbcb); padding:50px; position:relative; overflow:hidden; }.detail-main::after { content:""; position:absolute; inset:auto -70px -95px; height:180px; background:radial-gradient(ellipse,rgba(0,0,0,.31),transparent 67%); filter:blur(9px); }.detail-main img { position:relative; z-index:1; max-height:440px; object-fit:contain; }.detail-thumbs { display:flex; gap:10px; padding-top:12px; }.detail-thumbs button { width:68px; height:68px; display:grid; place-items:center; border:1px solid transparent; background:#e3e4e2; padding:7px; }.detail-thumbs button.active { border-color:var(--gold); }.detail-thumbs img { max-height:100%; object-fit:contain; }.detail-copy { padding-top:45px; }.detail-copy h1 { font-size:clamp(50px, 5vw,72px); margin:0 0 16px; }.detail-rating { display:flex; align-items:center; gap:6px; color:var(--gold); font-size:12px; font-weight:700; }.detail-rating span { color:#777; }.detail-description { max-width:480px; color:#bebec4; margin:25px 0; }.benefit-list { list-style:none; padding:0; display:grid; gap:10px; color:#dedee2; font-size:12px; }.benefit-list li { display:flex; gap:9px; align-items:center; }.benefit-list svg { color:var(--gold); }.detail-buy { display:flex; gap:20px; align-items:center; padding:29px 0 22px; margin-top:26px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.delivery-note { display:flex; align-items:center; gap:8px; color:#a4a4aa; font-size:10px; margin-top:15px; }.delivery-note svg { color:var(--gold); }.demo-note { display:flex; gap:9px; margin-top:27px; padding:13px; background:rgba(214,180,109,.1); color:#cec6b3; font-size:10px; line-height:1.55; }.demo-note svg { color:var(--gold); flex:0 0 auto; }.related-section { padding-bottom:130px; }
.programs { padding:115px 0 130px; }.program-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.program-grid article { padding:28px; border:1px solid var(--line); background:linear-gradient(150deg,rgba(255,255,255,.055),transparent); }.program-grid article > span { font-family:var(--display); color:var(--gold); font-size:28px; font-style:italic; }.program-grid article > svg { display:block; color:var(--gold); margin:45px 0 19px; }.program-grid h3 { margin:0 0 15px; }.program-grid p { color:var(--muted); min-height:62px; font-size:12px; }.program-grid ul { min-height:89px; list-style:none; padding:0; color:#d2d2d7; font-size:11px; line-height:1.9; }.program-grid li::before { content:"— "; color:var(--gold); }.program-grid a { display:flex; gap:8px; align-items:center; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }.consult-section { background:var(--gold); color:var(--ink); }.consult-section .container { min-height:365px; display:grid; grid-template-columns:1fr .7fr; align-items:center; gap:80px; }.consult-section h2 { margin:0; }.consult-section .container > div:last-child > p { max-width:390px; }.consult-section .button { margin-top:15px; }
.team-section { padding:115px 0 135px; }.coach-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.coach-card { display:grid; grid-template-columns:210px 1fr; background:#161820; min-height:280px; }.coach-portrait { position:relative; overflow:hidden; display:grid; place-items:center; background:linear-gradient(150deg,#4e3f24,#26231d); }.coach-blue .coach-portrait { background:linear-gradient(150deg,#183764,#1e232e); }.coach-red .coach-portrait { background:linear-gradient(150deg,#63312d,#281c1d); }.coach-silver .coach-portrait { background:linear-gradient(150deg,#5b5d66,#282930); }.coach-portrait > span { position:absolute; top:12px; left:15px; color:rgba(255,255,255,.4); font-family:var(--display); font-size:21px; }.portrait-silhouette { display:grid; place-items:center; width:115px; height:115px; border-radius:50%; background:rgba(0,0,0,.14); color:rgba(255,255,255,.6); }.coach-card > div:last-child { padding:32px 26px 24px; }.coach-specialty { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.coach-card h3 { margin:0 0 13px; font-size:35px; }.coach-card > div:last-child > p:not(.coach-specialty) { color:#c2c2c8; font-size:13px; line-height:1.6; margin:0 0 10px; min-height:0; }.coach-card a,.group-class-band a { display:flex; align-items:center; gap:8px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.group-class-band { background:#17181e; }.group-class-band .container { padding:77px 0; text-align:center; }.pill { display:inline-block; padding:7px 10px; border:1px solid rgba(214,180,109,.5); color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.11em; }.group-class-band h2 { font-size:clamp(36px,4vw,62px); margin:25px auto; max-width:880px; }.group-class-band a { justify-content:center; }
.contact-section { display:grid; grid-template-columns:1fr .9fr; gap:80px; padding:165px 0 120px; }.contact-intro h1 { margin:0 0 25px; }.contact-intro > p:not(.eyebrow) { color:#b5b5bb; max-width:470px; }.contact-details { display:grid; gap:17px; margin-top:42px; }.contact-details a,.contact-details > div { display:grid; grid-template-columns:38px 1fr; align-items:center; color:#e5e5e7; font-size:14px; line-height:1.35; }.contact-details span { display:grid; place-items:center; width:30px; height:30px; color:var(--gold); }.contact-details b { color:#929298; font-weight:500; font-size:11px; }.contact-form { align-self:start; background:#f3f1eb; color:var(--ink); padding:35px; }.form-label { margin:0 0 14px; color:#7c6841; font-size:10px; font-weight:800; letter-spacing:.12em; }.form-options { display:flex; flex-wrap:wrap; gap:13px; margin-bottom:27px; }.form-options label { font-size:10px; font-weight:700; }.form-options input { accent-color:#a88643; }.contact-form > label { display:grid; gap:7px; margin:17px 0; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.contact-form input,.contact-form textarea { border:0; border-bottom:1px solid #afada7; background:transparent; padding:8px 0; color:var(--ink); outline:0; resize:vertical; font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }.contact-form textarea { border:1px solid #cfccc3; padding:10px; }.form-success { display:flex; align-items:start; gap:7px; margin:15px 0 0; color:#52633c; font-size:11px; }.map-placeholder { min-height:455px; position:relative; overflow:hidden; display:grid; place-items:center; background:#12141b; }.map-grid { mask-image:none; opacity:.36; }.map-placeholder > div:last-child { position:relative; z-index:1; text-align:center; }.map-placeholder > div:last-child > svg { color:var(--gold); }.map-placeholder p { color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.16em; }.map-placeholder h2 { margin:0 0 23px; }.map-placeholder a { display:flex; gap:8px; align-items:center; justify-content:center; color:#dadade; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cart-section { padding:145px 0 125px; }.cart-title { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:30px; border-bottom:1px solid var(--line); }.cart-title h1 { margin:0; }.cart-layout { display:grid; grid-template-columns:1fr 350px; gap:50px; margin-top:30px; }.cart-lines { display:grid; align-content:start; }.cart-line { display:grid; grid-template-columns:95px 1fr auto 30px; align-items:center; gap:18px; padding:17px 0; border-bottom:1px solid var(--line); }.cart-line img { width:95px; height:95px; object-fit:contain; background:#e5e5e3; padding:8px; }.cart-line .eyebrow { margin-bottom:4px; font-size:8px; }.cart-line h3 { margin:0 0 8px; font-size:25px; }.cart-line strong { color:var(--gold); font-family:var(--display); font-size:23px; }.quantity-control { display:flex; align-items:center; border:1px solid var(--line); }.quantity-control button { display:grid; place-items:center; border:0; width:28px; height:28px; background:transparent; color:white; }.quantity-control span { width:26px; text-align:center; font-size:12px; }.remove-item { border:0; background:transparent; color:#939399; }.remove-item:hover { color:#d67067; }.cart-summary { align-self:start; padding:27px; background:#191a21; }.cart-summary > div { display:flex; justify-content:space-between; color:#aaaab0; padding:8px 0; font-size:12px; }.cart-summary strong { color:white; }.cart-summary hr { border:0; border-top:1px solid var(--line); margin:15px 0; }.cart-summary .summary-total { font-size:15px; }.cart-summary .summary-total strong { color:var(--gold); font-family:var(--display); font-size:31px; }.cart-summary .button { width:100%; justify-content:center; margin:17px 0; }.cart-summary > p:last-child { display:flex; gap:7px; color:#a9a9af; font-size:9px; }.cart-summary > p:last-child svg { color:var(--gold); flex:0 0 auto; }.empty-cart { margin:30px 0; border:1px solid var(--line); }.empty-cart p { max-width:380px; margin:0 auto 22px; }.order-demo { display:flex; gap:14px; align-items:start; margin-top:35px; padding:24px; color:#e7e3d6; background:rgba(214,180,109,.1); }.order-demo > svg { color:var(--gold); }.order-demo h2 { margin:0 0 7px; font-size:29px; }.order-demo p { margin:0; color:#bdb8a8; font-size:12px; }.not-found { padding:240px 0 150px; min-height:80vh; }.not-found h1 { margin:0 0 25px; }
@keyframes heroPulse { from { transform:scale(1.02); } to { transform:scale(1.08); } }
@media (max-width:950px) { .header-inner { width:calc(100% - 36px); }.main-nav { gap:17px; }.header-cta { display:none; }.path-grid { grid-template-columns:1fr 1fr; }.path-card:first-child { grid-column:span 2; }.club-content { padding:65px 40px; }.approach-section { gap:50px; }.coach-copy { padding:40px; }.coach-card { grid-template-columns:160px 1fr; }.contact-section { gap:48px; }.cart-layout { gap:30px; grid-template-columns:1fr 315px; } }
@media (max-width:720px) { .container,.footer-cta,.footer-grid,.footer-bottom { width:calc(100% - 40px); }.site-header { background:rgba(9,10,14,.85); backdrop-filter:blur(9px); }.header-inner { height:70px; width:calc(100% - 36px); }.brand { min-width:auto; }.brand > span:last-child { font-size:16px; }.brand-mark { width:29px; height:29px; }.main-nav { display:none; position:absolute; top:70px; left:0; width:100%; padding:24px 20px; background:#101116; border-top:1px solid var(--line); flex-direction:column; align-items:stretch; gap:8px; }.main-nav.is-open { display:flex; }.main-nav a { padding:12px 0; font-size:12px; }.nav-mobile-cta { display:flex!important; justify-content:center; margin-top:10px; }.menu-button { display:block; }.cart-button { width:35px; height:35px; }.hero { min-height:720px; }.hero-media { background-position:62% center; }.hero-shade { background:linear-gradient(90deg,rgba(8,9,14,.91),rgba(8,9,14,.45)),linear-gradient(0deg,rgba(8,9,14,.9),transparent 35%); }.hero-content { padding-top:70px; }.hero-text { font-size:14px; max-width:380px; }.hero-proof { left:0; right:auto; bottom:56px; }.hero-proof div { width:auto; padding:11px 10px; gap:6px; }.hero-proof strong { font-size:30px; }.hero-proof span { font-size:8px; }.hero-scroll { display:none; } .path-section,.shop-preview,.programs,.team-section { padding:85px 0; }.section-heading { align-items:start; flex-direction:column; margin-bottom:28px; }.section-heading .button { margin-top:5px; }.path-grid,.product-grid,.program-grid { grid-template-columns:1fr; }.path-card:first-child { grid-column:auto; }.path-card { min-height:315px; }.path-card svg { margin:30px 0 14px; }.path-card h3 { font-size:40px; }.club-section,.approach-section,.coach-highlight,.contact-section { grid-template-columns:1fr; }.club-image { min-height:320px; }.club-content { padding:65px 20px; }.approach-section { gap:42px; }.coach-highlight { padding:85px 0; }.coach-photo { min-height:435px; }.coach-copy { padding:48px 5px 0; }.belief-band .container { min-height:170px; gap:18px; }.belief-band svg { display:none; }.belief-band p { font-size:35px; }.footer-cta { min-height:265px; padding:50px 0; align-items:start; flex-direction:column; justify-content:center; }.footer-grid { grid-template-columns:1fr 1fr; gap:35px 20px; }.footer-grid > div:first-child { grid-column:span 2; }.footer-bottom { flex-direction:column; }.page-hero { min-height:440px; padding:140px 0 47px; }.page-hero h1 { font-size:58px; }.shop-toolbar { align-items:stretch; flex-direction:column; }.search-field { min-width:auto; }.desktop-only { display:none; }.product-image { height:300px; }.product-detail { padding:110px 0 75px; grid-template-columns:1fr; gap:20px; }.detail-main { min-height:390px; }.detail-main img { max-height:315px; }.detail-copy { padding-top:15px; }.detail-copy h1 { font-size:52px; }.detail-buy { align-items:stretch; flex-direction:column; }.detail-buy .button { justify-content:center; }.consult-section .container { min-height:420px; padding:70px 0; grid-template-columns:1fr; gap:25px; }.coach-grid { grid-template-columns:1fr; }.coach-card { grid-template-columns:125px 1fr; min-height:240px; }.coach-card > div:last-child { padding:25px 18px; }.coach-card h3 { font-size:29px; }.contact-section { padding:120px 0 85px; }.contact-form { padding:25px 20px; }.cart-section { padding:110px 0 85px; }.cart-title { align-items:start; flex-direction:column; }.cart-layout { grid-template-columns:1fr; }.cart-line { grid-template-columns:68px 1fr 26px; gap:11px; }.cart-line img { width:68px; height:68px; }.cart-line h3 { font-size:21px; }.cart-line .quantity-control { grid-column:2; justify-self:start; }.remove-item { grid-column:3; grid-row:1; }.cart-summary { margin-top:10px; }.product-grid-home .product-card:nth-child(3) { display:none; } }

.personal-promise { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:0 0 125px; }
.personal-promise h2 { margin:0; }
.promise-list { border-top:1px solid var(--line); }
.promise-list p { display:flex; align-items:flex-start; gap:12px; border-bottom:1px solid var(--line); padding:18px 0; margin:0; color:#d2d2d7; font-size:14px; line-height:1.6; }
.promise-list svg { color:var(--gold); flex:0 0 auto; margin-top:4px; width:18px; }
.coach-card > div:last-child { padding:29px 27px 25px; }
.coach-card h3 { font-size:34px; margin:0 0 10px; }
.coach-proof { color:var(--gold)!important; font-size:12px!important; font-weight:700; }
.coach-intro { color:#e1e1e4!important; }
.coach-approach b,.coach-best b { color:var(--gold); }
.coach-best { color:#b9b9c0!important; }
.group-coaches-section { background:var(--paper); color:var(--ink); padding:120px 0 125px; }
.group-coaches-heading { display:grid; grid-template-columns:1fr .8fr; gap:80px; align-items:end; margin-bottom:44px; }
.group-coaches-heading h2 { margin:0; }
.group-coaches-heading > p { color:#55555c; font-size:15px; line-height:1.75; max-width:480px; margin:0 0 4px; }
.group-coaches-placeholder { display:grid; grid-template-columns:70px 1fr auto; gap:25px; align-items:center; padding:28px 30px; border:1px dashed #aa8335; background:#ebe8df; }
.placeholder-number { color:#a8833c; font-family:var(--display); font-size:30px; font-style:italic; }
.group-coaches-placeholder h3 { margin:0 0 8px; font-size:32px; }
.group-coaches-placeholder p { color:#55555c; font-size:13px; line-height:1.65; max-width:660px; margin:0; }
.group-coaches-placeholder .pill { white-space:nowrap; color:#6f5422; border-color:#b69656; }
.group-class-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.group-class-list span { padding:9px 13px; border:1px solid #c8b98e; color:#6c5527; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
@media (max-width:720px) { .personal-promise { grid-template-columns:1fr; gap:35px; padding-bottom:85px; } .group-coaches-heading { grid-template-columns:1fr; gap:18px; } .group-coaches-placeholder { grid-template-columns:42px 1fr; gap:14px; padding:22px 18px; } .group-coaches-placeholder .pill { grid-column:2; justify-self:start; } .group-coaches-placeholder h3 { font-size:27px; } .coach-card h3 { font-size:29px; } .group-coaches-section { padding:85px 0; } }

/* Readability refinements for the personal-training and club sections. */
.club-content > p:not(.eyebrow) { font-size:16px; line-height:1.75; color:#4b4b52; }
.feature-list { gap:12px; font-size:14px; line-height:1.5; }
.program-grid article { padding:34px; }
.program-grid h3 { font-size:36px; line-height:1.02; margin-bottom:17px; }
.program-grid p { color:#c8c8ce; font-size:14px; line-height:1.7; min-height:92px; }
.program-grid ul { color:#e0e0e3; font-size:13px; line-height:2; min-height:112px; }
.contact-intro h1 { max-width:650px; font-size:clamp(54px, 6.6vw, 98px); line-height:.98; }
.contact-intro > p:not(.eyebrow) { color:#c6c6cc; font-size:15px; line-height:1.75; }
.contact-details a,.contact-details > div { align-items:start; }
.contact-details a > div,.contact-details > div > div { display:flex; flex-direction:column; gap:2px; }
.contact-details small { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.14em; }
.contact-details strong { color:#f2f2f3; font-size:15px; line-height:1.35; }
.contact-details b { color:#a9a9af; font-size:12px; line-height:1.5; font-weight:500; }
.belief-band p { font-size:clamp(30px, 3.4vw, 50px); line-height:1.05; letter-spacing:.01em; }
@media (max-width:720px) {
  .club-content > p:not(.eyebrow) { font-size:15px; }
  .program-grid article { padding:25px 22px; }
  .program-grid h3 { font-size:32px; }
  .program-grid p { min-height:0; }
  .program-grid ul { min-height:0; margin-bottom:25px; }
  .contact-intro h1 { font-size:56px; }
  .contact-details strong { font-size:14px; }
}
@media (max-width:720px) {
  .contact-intro h1 { max-width:100%; font-size:46px; line-height:1.02; overflow-wrap:anywhere; }
}

.product-information { padding:0 0 120px; }
.product-information-heading { display:grid; grid-template-columns:1fr .8fr; gap:80px; align-items:end; margin-bottom:38px; }
.product-information-heading h2 { margin:0; }
.product-information-heading > p { color:#b9b9bf; font-size:15px; line-height:1.75; margin:0; }
.product-data-note { display:flex; gap:12px; align-items:flex-start; padding:18px 20px; background:#f3ead3; border:1px solid #d9bd79; color:#6f5422; font-size:14px; line-height:1.6; margin-bottom:18px; }
.product-data-note svg { flex:0 0 auto; margin-top:3px; }
.product-info-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #d7d3ca; border-left:1px solid #d7d3ca; }
.product-info-grid article { padding:28px 30px; border-right:1px solid #d7d3ca; border-bottom:1px solid #d7d3ca; background:#f8f7f3; }
.product-info-grid h3 { margin:0 0 13px; font-size:20px; line-height:1.15; color:#17171a; }
.product-info-grid p { margin:0 0 10px; color:#5e5e65; font-size:14px; line-height:1.75; }
.product-info-grid p:last-child { margin-bottom:0; }
.product-source { display:inline-flex; align-items:center; gap:9px; margin-top:22px; color:#6f5422; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
@media (max-width:720px) {
  .product-information { padding-bottom:80px; }
  .product-information-heading { grid-template-columns:1fr; gap:18px; }
  .product-info-grid { grid-template-columns:1fr; }
  .product-info-grid article { padding:23px 20px; }
  .product-info-grid p { font-size:13px; }
}

.footer-grid { grid-template-columns:1.55fr 1fr 1fr .72fr 1.15fr; }
.footer-grid > div:last-child a { line-height:1.35; }
@media (max-width:720px) { .footer-grid { grid-template-columns:1fr 1fr; } }

.coach-more { margin:18px 0 15px; border-top:1px solid rgba(255,255,255,.12); padding-top:12px; }
.coach-more summary { display:flex; align-items:center; gap:7px; cursor:pointer; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; list-style:none; }
.coach-more summary::-webkit-details-marker { display:none; }
.coach-more summary svg { transition:transform .2s ease; }
.coach-more[open] summary svg { transform:rotate(90deg); }
.coach-more ul { display:grid; gap:8px; margin:14px 0 0; padding:0 0 0 16px; color:#c2c2c8; font-size:12px; line-height:1.55; }
.coach-more li::marker { color:var(--gold); }

/* Mobile polish: comfortable reading, no horizontal overflow, and clearer touch targets. */
@media (max-width:720px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .container, .footer-cta, .footer-grid, .footer-bottom { width:calc(100% - 28px); }
  .header-inner { width:calc(100% - 28px); gap:10px; }
  .brand { gap:7px; flex:1 1 auto; min-width:0; }
  .brand-mark { width:28px; height:28px; flex:0 0 28px; }
  .brand-mark svg { width:17px; }
  .brand > span:last-child { font-size:13px; letter-spacing:.04em; }
  .brand em { font-size:7px; letter-spacing:.3em; }
  .header-actions { gap:7px; flex:0 0 auto; }
  .cart-button { width:34px; height:34px; }
  .menu-button { padding:5px 2px 5px 5px; }
  .menu-button svg { width:23px; height:23px; }
  .main-nav { padding:18px 14px 20px; }
  .main-nav a { min-height:42px; display:flex; align-items:center; }

  h1 { font-size:clamp(49px, 15vw, 68px); line-height:.94; }
  h2 { font-size:clamp(40px, 12vw, 54px); line-height:.96; }
  h3 { line-height:1.02; }
  .eyebrow { font-size:9px; letter-spacing:.14em; }
  .section-copy, .page-hero .container > p:not(.eyebrow) { font-size:14px; line-height:1.65; }

  .hero { min-height:735px; height:100svh; }
  .hero-content { padding-top:72px; }
  .hero h1 { margin-top:15px; font-size:clamp(64px, 18vw, 82px); }
  .hero-text { max-width:310px; font-size:14px; line-height:1.6; }
  .hero-buttons { align-items:stretch; flex-direction:column; max-width:255px; }
  .hero-buttons .button { justify-content:center; }
  .hero-proof { bottom:42px; width:calc(100% - 28px); }
  .hero-proof div { flex:1; justify-content:center; padding:10px 7px; }
  .hero-proof strong { font-size:28px; }
  .hero-proof span { font-size:7px; }

  .path-section, .shop-preview, .programs, .team-section { padding:72px 0; }
  .section-heading { gap:12px; margin-bottom:25px; }
  .path-card { min-height:285px; padding:24px; }
  .path-card h3 { font-size:36px; }
  .path-card p { font-size:13px; }
  .club-content { padding:58px 14px; }
  .club-image { min-height:285px; }
  .approach-section { padding:78px 0; }
  .steps article { grid-template-columns:45px 1fr; gap:10px; padding:22px 0; }
  .steps h3 { font-size:25px; }
  .steps p { font-size:13px; }

  .page-hero { min-height:425px; padding:130px 0 42px; }
  .page-hero h1 { font-size:clamp(50px, 15vw, 66px); }
  .shop-section { padding:58px 0 86px; }
  .shop-toolbar { gap:18px; }
  .category-pills { gap:6px; }
  .category-pills a { padding:9px 10px; font-size:9px; }
  .product-image { height:265px; }
  .product-details { padding:16px 17px 15px; }
  .product-details h3 { min-height:0; font-size:25px; }
  .product-details p { min-height:0; font-size:12px; }
  .product-bottom { margin-top:13px; }

  .team-section { padding-top:70px; }
  .coach-grid { gap:14px; }
  .coach-card { grid-template-columns:88px minmax(0, 1fr); min-height:0; }
  .coach-portrait { min-height:100%; }
  .coach-portrait > span { top:9px; left:10px; font-size:17px; }
  .portrait-silhouette { width:62px; height:62px; }
  .portrait-silhouette svg { width:39px; height:39px; }
  .coach-card > div:last-child { min-width:0; padding:20px 14px 18px; }
  .coach-specialty { font-size:8px; line-height:1.3; letter-spacing:.06em; }
  .coach-card h3 { font-size:25px; line-height:1; overflow-wrap:anywhere; margin-bottom:9px; }
  .coach-card > div:last-child > p:not(.coach-specialty) { font-size:12px; line-height:1.55; margin-bottom:8px; }
  .coach-proof { font-size:11px!important; }
  .coach-more { margin:13px 0 12px; padding-top:10px; }
  .coach-more summary { font-size:8px; letter-spacing:.05em; }
  .coach-more ul { font-size:11px; line-height:1.5; padding-left:14px; }
  .coach-card a { font-size:8px; line-height:1.35; }

  .personal-promise { gap:27px; padding-bottom:70px; }
  .promise-list p { font-size:13px; padding:15px 0; }
  .consult-section .container { min-height:390px; padding:58px 0; }
  .consult-section .container > div > p:not(.eyebrow) { font-size:14px; line-height:1.65; }

  .contact-section { padding:112px 0 72px; gap:45px; }
  .contact-intro h1 { max-width:100%; font-size:clamp(46px, 14vw, 62px); }
  .contact-intro > p:not(.eyebrow) { font-size:14px; line-height:1.65; }
  .contact-details { margin-top:30px; gap:14px; }
  .contact-details strong { font-size:14px; }
  .contact-details b { font-size:11px; }
  .contact-form { padding:22px 16px; }
  .contact-form .button { width:100%; justify-content:center; }
  .map-placeholder { min-height:340px; }
  .map-placeholder h2 { font-size:42px; }

  .cart-section { padding:102px 0 72px; }
  .cart-line { grid-template-columns:62px minmax(0,1fr) 24px; gap:9px; }
  .cart-line img { width:62px; height:62px; }
  .cart-line h3 { font-size:19px; overflow-wrap:anywhere; }
  .cart-summary { padding:21px 17px; }

  .footer-cta { min-height:245px; padding:43px 0; }
  .footer-cta h2 { font-size:clamp(39px, 12vw, 52px); }
  .footer-cta .button { width:100%; justify-content:center; }
  .footer-grid { gap:28px 14px; padding:48px 0 34px; }
  .footer-grid > div:not(:first-child) { font-size:11px; gap:8px; }
  .footer-copy { font-size:12px; }
  .footer-bottom { font-size:8px; padding:14px 0; }
}

@media (max-width:720px) {
  .contact-intro h1 { font-size:clamp(40px, 11.5vw, 48px); letter-spacing:-.025em; }
}

.fit-section { padding:125px 0 120px; }
.fit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.fit-grid article { min-height:240px; padding:28px; border:1px solid var(--line); background:linear-gradient(145deg,#171921,#101116); }
.fit-grid span { color:var(--gold); font-family:var(--display); font-size:25px; font-style:italic; }
.fit-grid h3 { margin:45px 0 12px; font-size:27px; }
.fit-grid p { color:#bfc0c6; font-size:14px; line-height:1.7; margin:0; }
.faq-section { background:#f0eee8; color:var(--ink); padding:125px 0; }
.faq-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:95px; align-items:start; }
.faq-layout h2 { margin:0 0 22px; }
.faq-layout > div:first-child > p:not(.eyebrow) { color:#5e5d63; font-size:15px; line-height:1.75; max-width:420px; margin:0 0 28px; }
.faq-list { border-top:1px solid #c9c6be; }
.faq-list details { border-bottom:1px solid #c9c6be; padding:21px 0; }
.faq-list summary { display:flex; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; font-family:var(--display); font-size:24px; font-weight:700; text-transform:uppercase; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; color:#a8833c; font-family:var(--body); font-size:24px; font-weight:400; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { color:#5f5e64; font-size:14px; line-height:1.7; max-width:600px; margin:13px 42px 0 0; }
.cookie-banner { position:fixed; z-index:50; left:20px; right:20px; bottom:20px; display:flex; justify-content:space-between; align-items:center; gap:28px; max-width:980px; margin:auto; padding:18px 20px; border:1px solid rgba(214,180,109,.45); background:rgba(18,19,25,.97); box-shadow:0 18px 60px rgba(0,0,0,.38); backdrop-filter:blur(16px); color:#e8e8ea; }
.cookie-banner > div:first-child { max-width:650px; }
.cookie-title { color:var(--gold-light); font-weight:800; font-size:14px; margin:0 0 4px; }
.cookie-banner p:not(.cookie-title) { color:#c1c1c7; font-size:11px; line-height:1.55; margin:0 0 5px; }
.cookie-banner a { color:var(--gold); font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:8px; flex:0 0 auto; }
.cookie-actions .button { white-space:nowrap; padding:12px 14px; font-size:9px; }
@media (max-width:720px) {
  .fit-section { padding:76px 0 72px; }
  .fit-grid { grid-template-columns:1fr; gap:10px; }
  .fit-grid article { min-height:0; padding:22px; }
  .fit-grid h3 { margin:25px 0 8px; font-size:25px; }
  .fit-grid p { font-size:13px; }
  .faq-section { padding:76px 0; }
  .faq-layout { grid-template-columns:1fr; gap:36px; }
  .faq-layout > div:first-child > p:not(.eyebrow) { font-size:14px; }
  .faq-list summary { font-size:21px; }
  .faq-list details p { font-size:13px; margin-right:0; }
  .cookie-banner { left:10px; right:10px; bottom:10px; display:block; padding:16px; }
  .cookie-banner p:not(.cookie-title) { font-size:10px; }
  .cookie-actions { margin-top:13px; display:grid; grid-template-columns:1fr 1fr; }
  .cookie-actions .button { justify-content:center; width:100%; padding:11px 8px; font-size:8px; }
}

.coach-portrait > img { width:100%; height:100%; min-height:280px; object-fit:cover; object-position:center 30%; filter:saturate(.9) contrast(1.04); }
.coach-portrait > img + * { position:relative; z-index:2; }
@media (max-width:720px) {
  .coach-portrait > img { min-height:100%; object-position:center 28%; }
}

.coach-portrait > span { z-index:3; }
@media (max-width:720px) {
  .coach-card:has(.coach-portrait > img) { display:block; }
  .coach-card:has(.coach-portrait > img) .coach-portrait { height:230px; min-height:230px; }
  .coach-card:has(.coach-portrait > img) .coach-portrait > img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:center 32%; }
  .coach-card:has(.coach-portrait > img) > div:last-child { padding-top:21px; }
}


/* Personal training date and time picker */
.booking-picker { margin: 12px 0 24px; padding: 20px; border: 1px solid rgba(11,12,17,.13); background: #e9e6dd; }
.booking-picker-intro { margin-bottom: 15px; }
.booking-picker-intro .form-label { margin-bottom: 5px; }
.booking-picker-intro > p:last-child { margin: 0; color: #6e6b64; font-size: 11px; line-height: 1.55; }
.booking-calendar-toolbar { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; gap: 8px; margin: 10px 0 12px; }
.booking-calendar-toolbar h3 { margin: 0; color: var(--ink); text-align: center; font-family: var(--display); font-size: 27px; font-weight: 700; }
.booking-month-button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(11,12,17,.19); background: transparent; color: var(--ink); }
.booking-month-button:hover:not(:disabled) { border-color: #a88643; color: #7c6841; }
.booking-month-button:disabled { opacity: .35; cursor: not-allowed; }
.booking-weekdays,.booking-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.booking-weekdays { margin-bottom: 5px; }
.booking-weekdays span { padding: 4px 0; color: #74613d; text-align: center; font-size: 9px; font-weight: 800; }
.booking-day,.booking-day-placeholder { display: grid; width: 100%; aspect-ratio: 1; place-items: center; border: 1px solid transparent; background: transparent; color: var(--ink); font-family: var(--body); font-size: 11px; font-weight: 700; }
.booking-day:hover:not(:disabled) { border-color: #a88643; background: rgba(214,180,109,.2); }
.booking-day:disabled { opacity: .32; cursor: not-allowed; }
.booking-day.is-today:not(.is-selected) { border-color: #a88643; }
.booking-day.is-selected { border-color: var(--ink); background: var(--ink); color: var(--gold-light); }
.booking-hours { margin: 13px 0 0; color: #6e6b64; font-size: 9px; line-height: 1.5; }
.booking-hours span { padding: 0 3px; color: #9d8557; }
.booking-time-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(11,12,17,.14); }
.booking-time-section .form-label { margin-bottom: 10px; line-height: 1.5; }
.booking-time-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.booking-time-button { min-height: 36px; padding: 7px 4px; border: 1px solid rgba(11,12,17,.18); background: transparent; color: var(--ink); font-family: var(--body); font-size: 10px; font-weight: 700; }
.booking-time-button:hover { border-color: #a88643; background: rgba(214,180,109,.2); }
.booking-time-button.is-selected { border-color: var(--ink); background: var(--ink); color: var(--gold-light); }
.booking-no-times { margin: 0; color: #705d3e; font-size: 11px; line-height: 1.5; }
.booking-selection-summary { margin: 12px 0 0; color: #63502f; font-size: 10px; line-height: 1.5; }
.booking-selection-summary strong { color: var(--ink); }
.form-error { margin: 12px 0 0; color: #9d3b30; font-size: 11px; line-height: 1.5; }
@media (max-width:720px) {
  .booking-picker { padding: 16px 13px; }
  .booking-calendar-toolbar h3 { font-size: 24px; }
  .booking-time-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* ==========================================================================
   WordPress / WooCommerce additions
   ========================================================================== */

.skip-link { position:absolute; left:-9999px; top:0; z-index:100; background:var(--gold); color:var(--ink); padding:10px 14px; font-weight:800; }
.skip-link:focus { left:10px; top:10px; }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
body.admin-bar .main-nav { top:auto; }
.brand-image img { max-height:46px; width:auto; }
.button-dark { border-color:rgba(255,255,255,.18); }
.club-section .button-dark, .consult-section .button-dark { border-color:transparent; }

/* Mobile menu icon swap */
.menu-button .menu-icon-close { display:none; }
.menu-button[aria-expanded="true"] .menu-icon-open { display:none; }
.menu-button[aria-expanded="true"] .menu-icon-close { display:block; }
.header-cta svg, .nav-mobile-cta svg, .button svg { flex:0 0 auto; }

/* Image fallbacks while no photo is uploaded */
.hero-no-image .hero-media { background:radial-gradient(circle at 75% 35%, rgba(214,180,109,.28), transparent 32%), radial-gradient(circle at 92% 80%, rgba(58,118,255,.22), transparent 30%), linear-gradient(135deg,#171a26,#0b0c11 70%); }
.image-fallback { background:radial-gradient(circle at 30% 30%, rgba(214,180,109,.35), transparent 40%), linear-gradient(140deg,#262833,#0f1016); position:relative; }
.club-image.image-fallback::after { content:"PULSE ENERGY"; position:absolute; left:28px; bottom:25px; font-family:var(--display); font-size:28px; letter-spacing:.08em; color:rgba(255,255,255,.55); }

/* Compact page hero (cart, checkout, generic pages) */
.page-hero-compact { min-height:380px; padding-bottom:55px; }
.page-hero-compact h1 { font-size:clamp(52px, 7vw, 100px); }
.page-body { padding:70px 0 120px; }
.page-extra { padding:0 0 110px; }

/* Rich text from the editor */
.entry-content { max-width:820px; color:#d5d5da; font-size:16px; line-height:1.75; }
.entry-content > * + * { margin-top:1.1em; }
.entry-content h2 { font-size:clamp(36px,4vw,54px); margin-top:1.4em; }
.entry-content h3 { font-size:28px; margin-top:1.3em; }
.entry-content h4 { font-weight:800; margin-top:1.2em; }
.entry-content a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.entry-content ul, .entry-content ol { padding-left:1.3em; }
.entry-content li + li { margin-top:.35em; }
.entry-content li::marker { color:var(--gold); }
.entry-content img { margin:1.5em 0; }
.entry-content blockquote { border-left:3px solid var(--gold); padding-left:20px; font-size:26px; }
.entry-content table { width:100%; border-collapse:collapse; }
.entry-content th, .entry-content td { border:1px solid var(--line); padding:10px 12px; text-align:left; }
.entry-thumb { margin-bottom:40px; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.post-card { background:#15161d; border:1px solid var(--line); }
.post-card > div { padding:22px; }
.post-card h3 { font-size:28px; margin:6px 0 10px; }
.post-card p:not(.eyebrow) { color:#bdbdc3; font-size:14px; }
.post-card-image img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Pagination */
.pagination { margin-top:40px; }
.pagination ul, .pagination .nav-links { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; border:0 !important; }
.pagination li { border:0 !important; }
.pagination a, .pagination span.page-numbers { display:grid; place-items:center; min-width:40px; height:40px; padding:0 10px; border:1px solid var(--line) !important; color:#d4d4d8; font-size:12px; font-weight:800; background:transparent !important; }
.pagination span.current, .pagination a:hover { background:var(--gold) !important; border-color:var(--gold) !important; color:var(--ink) !important; }

/* ---- Product cards (WooCommerce) ---- */
.category-pills a { display:inline-block; }
.product-image img { width:auto; }
.product-bottom .card-add { position:relative; color:white; }
.product-bottom .card-add .card-add-check { display:none; }
.product-bottom .card-add.added .card-add-plus { display:none; }
.product-bottom .card-add.added .card-add-check { display:block; }
.product-bottom .card-add.added { background:var(--gold); color:var(--ink); }
.product-bottom .card-add.loading { opacity:.55; pointer-events:none; }
.product-bottom .card-add.loading::after { display:none; }
.product-card .added_to_cart { display:none !important; }
.card-price, .detail-price { font-family:var(--display); font-size:30px; line-height:1; color:inherit; }
.card-price .woocommerce-Price-currencySymbol, .detail-price .woocommerce-Price-currencySymbol { font-size:.55em; }
.card-price del, .detail-price del { opacity:.45; font-size:.6em; margin-right:6px; }
.card-price ins, .detail-price ins { text-decoration:none; }
.card-price .screen-reader-text, .detail-price .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.shop-result { align-items:center; }
.shop-ordering form { margin:0; }
.shop-ordering select { appearance:none; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d6b46d' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; border:1px solid var(--line); color:#d4d4d8; padding:8px 32px 8px 12px; font-size:11px; }
.shop-ordering select option { color:#111; }
.search-field input::-webkit-search-cancel-button { filter:invert(1); }

/* ---- Single product ---- */
.product-detail .detail-main { min-height:560px; }
.detail-main img { width:auto; }
.detail-main .product-badge { z-index:2; }
.detail-description { max-width:480px; color:#bebec4; margin:25px 0; }
.detail-description p + p { margin-top:.8em; }
a.detail-rating:hover { color:var(--gold-light); }
.detail-buy { flex-wrap:wrap; }
.detail-buy form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 !important; }
.detail-buy form.cart::before, .detail-buy form.cart::after { display:none !important; }
.detail-buy .quantity { margin:0 !important; float:none !important; }
.detail-buy .quantity .qty { width:70px; height:48px; text-align:center; border:1px solid var(--line); background:transparent; color:var(--white); font-weight:700; }
.detail-buy .single_add_to_cart_button { display:inline-flex !important; align-items:center; gap:12px; border:0 !important; border-radius:0 !important; background:var(--gold) !important; color:var(--ink) !important; padding:16px 22px !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.07em; text-transform:uppercase; float:none !important; transition:.25s ease; }
.detail-buy .single_add_to_cart_button:hover { background:var(--gold-light) !important; transform:translateY(-2px); }
.detail-buy .single_add_to_cart_button.disabled { opacity:.5; }
.detail-buy .stock { margin:0; font-size:12px; color:#a9d39a; width:100%; }
.detail-buy .stock.out-of-stock { color:#e08b80; }
.detail-buy table.variations { width:100%; margin-bottom:12px; border-collapse:collapse; }
.detail-buy table.variations th, .detail-buy table.variations td { padding:6px 0; text-align:left; font-size:12px; }
.detail-buy table.variations select { width:100%; background:#15161d; border:1px solid var(--line); padding:10px; color:var(--white); }
.detail-buy .reset_variations { color:var(--gold); font-size:11px; }
.detail-buy .single_variation_wrap { width:100%; }
.detail-buy .woocommerce-variation-price { margin-bottom:10px; font-family:var(--display); font-size:26px; }
.detail-buy .woocommerce-variation-add-to-cart { display:flex; gap:12px; align-items:center; }
.detail-buy .grouped_form table { width:100%; }
.product_meta { margin-top:18px; color:#8b8b92; font-size:11px; display:grid; gap:4px; }
.product_meta a { color:#c9c9ce; }
.product_meta a:hover { color:var(--gold); }
.product-long { margin-top:30px; max-width:none; }
.product-reviews { padding:0 0 110px; }
.product-information { padding-top:20px; }

/* ---- Notices ---- */
.woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	border:1px solid rgba(214,180,109,.45) !important; border-top-width:1px !important; background:rgba(214,180,109,.1) !important; color:#e7e3d6 !important; padding:14px 18px !important; margin:0 0 22px !important; list-style:none; font-size:13px; line-height:1.5; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display:none !important; }
.woocommerce-error { border-color:rgba(214,112,103,.6) !important; background:rgba(214,112,103,.1) !important; }
.woocommerce-message .button, .woocommerce-info .button { order:2; background:var(--gold) !important; color:var(--ink) !important; border-radius:0 !important; font-size:10px !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.07em; padding:10px 14px !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { color:var(--gold); }

/* ---- Cart / checkout / account: light panel so WooCommerce forms stay clear ---- */
.wc-panel { background:#f3f1eb; color:var(--ink); padding:clamp(20px, 3.5vw, 44px); font-size:14px; line-height:1.6; }
.page-body > .back-link { margin-bottom:18px; }
.wc-panel a:not(.button):not(.wc-block-components-button):not(.wp-element-button) { color:#7c6841; }
.wc-panel h1, .wc-panel h2, .wc-panel h3 { color:var(--ink); margin:0 0 18px; }
.wc-panel h2 { font-size:clamp(28px, 3vw, 38px); }
.wc-panel h3 { font-size:24px; }
.wc-panel p { margin:0 0 1em; }
.wc-panel ul, .wc-panel ol { padding-left:1.2em; }
.wc-panel table { border-collapse:collapse; width:100%; }
.wc-panel table th, .wc-panel table td { border-color:#d9d5ca !important; }
.wc-panel .woocommerce-message, .wc-panel .woocommerce-info, .wc-panel .woocommerce-error { color:#3c3527 !important; background:#ebe2c9 !important; }
.wc-panel input[type="text"], .wc-panel input[type="email"], .wc-panel input[type="tel"], .wc-panel input[type="password"], .wc-panel input[type="number"], .wc-panel input[type="search"], .wc-panel textarea, .wc-panel select {
	background:#fff; border:1px solid #cfccc3; padding:11px 12px; color:var(--ink); border-radius:0; width:100%; max-width:100%;
}
.wc-panel .quantity .qty { width:72px; text-align:center; }
.wc-panel input:focus, .wc-panel textarea:focus, .wc-panel select:focus { outline:2px solid var(--gold); outline-offset:0; }
.wc-panel .button, .wc-panel button.button, .wc-panel a.button, .wc-panel input.button, .wc-panel .checkout-button, .wc-panel #place_order,
.wc-panel .wc-block-components-button:not(.is-link), .wc-panel .wp-element-button {
	background:var(--ink) !important; color:var(--white) !important; border:0 !important; border-radius:0 !important; padding:14px 20px !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.07em; text-transform:uppercase; transition:.2s;
}
.wc-panel .checkout-button, .wc-panel #place_order, .wc-panel .wc-block-cart__submit-button, .wc-panel .wc-block-components-checkout-place-order-button { background:var(--gold) !important; color:var(--ink) !important; }
.wc-panel .button:hover, .wc-panel .wc-block-components-button:not(.is-link):hover { background:#2a2c36 !important; color:var(--white) !important; }
.wc-panel .checkout-button:hover, .wc-panel #place_order:hover, .wc-panel .wc-block-cart__submit-button:hover, .wc-panel .wc-block-components-checkout-place-order-button:hover { background:var(--gold-light) !important; color:var(--ink) !important; }
.wc-panel .button:disabled, .wc-panel .button.disabled { opacity:.5; }
.wc-panel table.shop_table { border:1px solid #d9d5ca; border-radius:0; }
.wc-panel table.shop_table img { width:70px; height:auto; background:#e5e5e3; padding:4px; }
.wc-panel .cart_totals h2, .wc-panel #order_review_heading, .wc-panel .woocommerce-billing-fields h3 { font-size:30px; }
.wc-panel .woocommerce-Price-amount { font-weight:700; }
.wc-panel .wc-block-components-product-name { color:var(--ink) !important; font-weight:700; }
.wc-panel .wc-block-components-text-input input, .wc-panel .wc-blocks-components-select__select { background:#fff !important; }
.wc-panel .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0 0 20px; border-top:1px solid #d9d5ca; }
.wc-panel .woocommerce-MyAccount-navigation li { border-bottom:1px solid #d9d5ca; }
.wc-panel .woocommerce-MyAccount-navigation a { display:block; padding:11px 0; color:var(--ink) !important; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.wc-panel .woocommerce-MyAccount-navigation .is-active a { color:#7c6841 !important; }
.wc-panel .cart-empty, .wc-panel .wc-block-cart__empty-cart__title { font-family:var(--display); font-size:34px; text-transform:uppercase; }
.wc-panel .wp-block-woocommerce-empty-cart-block .wp-block-heading { font-size:28px; }
.wc-panel .wc-block-grid__products { list-style:none; padding:0; }
.wc-panel .wc-block-grid__product-title { color:var(--ink); }

/* ---- Contact form extras ---- */
.contact-form select { width:100%; border:0; border-bottom:1px solid #afada7; background:transparent; padding:8px 0; color:var(--ink); outline:0; font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }
.select-label { display:grid; gap:7px; margin:0 0 17px; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.form-consent { color:#6e6b64; font-size:10px; line-height:1.55; margin:0 0 18px; }
.form-consent a { color:#7c6841; text-decoration:underline; }
.form-success { padding:12px 14px; background:#e3ead7; margin:0 0 22px !important; font-size:12px !important; line-height:1.5; }
.form-success svg { margin-top:2px; }
.contact-form > .form-error { margin:0 0 18px; padding:10px 12px; background:#f2dcd8; }
.contact-form [data-form-error] { margin:12px 0 0; }
.contact-form { position:relative; scroll-margin-top:110px; }
.contact-details a:hover strong { color:var(--gold); }
.cookie-banner .button { border-radius:0; }

@media (max-width:950px) {
	.post-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
	.post-grid { grid-template-columns:1fr; }
	.page-hero-compact { min-height:330px; }
	.page-hero-compact h1 { font-size:clamp(42px, 12vw, 60px); }
	.page-body { padding:45px 0 80px; }
	.wc-panel { padding:18px 14px; }
	.detail-buy form.cart { width:100%; }
	.detail-buy .single_add_to_cart_button { flex:1; justify-content:center; }
	.shop-result { flex-wrap:wrap; gap:10px; }
	.product-detail .detail-main { min-height:390px; }
}
.path-card .path-link svg { margin:0; width:17px; height:17px; }

/* Keep theme buttons when WooCommerce's .woocommerce .button styles are loaded */
body .button.button-gold, body .button.button-dark, body .button.button-ghost { border-radius:0; line-height:1.2; font-size:11px; font-weight:800; padding:15px 20px; letter-spacing:.07em; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; }
body .button.button-gold { background:var(--gold); color:var(--ink); }
body .button.button-gold:hover { background:var(--gold-light); color:var(--ink); }
body .button.button-dark { background:var(--ink); color:var(--white); }
body .button.button-dark:hover { background:#282a34; color:var(--white); }
body .button.button-ghost { background:rgba(255,255,255,.02); color:var(--white); }
body .button.button-ghost:hover { background:rgba(255,255,255,.11); color:var(--white); }

/* Footer brand keeps its colours */
.footer-grid .brand span { color:inherit; line-height:.8; }
.footer-grid .brand-mark { color:var(--ink) !important; }
.footer-grid .brand b { color:var(--white); }
.footer-grid .brand em { color:var(--gold); }

/* Reviews */
.wc-panel #submit, .wc-panel input[type="submit"] { background:var(--ink); color:var(--white); border:0; border-radius:0; padding:14px 20px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.review-toggle summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; font-family:var(--display); font-size:26px; font-weight:700; text-transform:uppercase; }
.review-toggle summary::-webkit-details-marker { display:none; }
.review-toggle summary::after { content:"+"; color:#a8833c; font-family:var(--body); font-weight:400; }
.review-toggle[open] summary::after { content:"−"; }
.review-toggle[open] summary { margin-bottom:20px; }
.review-toggle .woocommerce-Reviews-title, .review-toggle .woocommerce-noreviews { display:none; }
.wc-panel .wc-block-components-button.wc-block-cart__submit-button, .wc-panel .wc-block-components-button.wc-block-components-checkout-place-order-button, .wc-panel a.checkout-button.button, .wc-panel button#place_order { background:var(--gold) !important; color:var(--ink) !important; }
.wc-panel .wc-block-components-button.wc-block-cart__submit-button:hover, .wc-panel .wc-block-components-button.wc-block-components-checkout-place-order-button:hover { background:var(--gold-light) !important; }
@media (max-width:720px) {
	.hero { height:auto; min-height:100svh; padding:110px 0 80px; align-items:flex-end; }
	.hero-content { padding-top:0; }
	.hero-buttons { max-width:320px; }
	.hero-proof { position:relative; left:auto; right:auto; bottom:auto; width:100%; max-width:420px; margin-top:34px; }
	.hero-scroll { display:none; }
}

/* Logo (Ivan Hristov's Team emblem) */
.brand .brand-emblem { height:64px; width:auto; max-width:none; flex:0 0 auto; }
.brand { gap:12px; }
.brand-footer { display:inline-block; min-width:0; }
.brand-footer .brand-emblem { height:130px; }
.brand-image img { max-height:64px; width:auto; }
.brand-image.brand-footer img { max-height:130px; }
@media (max-width:720px) {
	.brand .brand-emblem { height:48px; }
	.brand-footer .brand-emblem { height:110px; }
	.brand-image img { max-height:48px; }
}
@media (max-width:380px) {
	.brand .brand-text { display:none; }
}

/* Coach photos are pre-framed with the face in the upper part */
.coach-portrait > img { object-position:center 20%; }
@media (max-width:720px) {
	.coach-card:has(.coach-portrait > img) .coach-portrait { height:300px; min-height:300px; }
	.coach-card:has(.coach-portrait > img) .coach-portrait > img { object-position:center 20%; }
}

/* Seller / payment details */
.footer-company { width:min(1240px, calc(100% - 64px)); margin:0 auto; padding:0 0 22px; display:grid; gap:6px; }
.footer-company p { margin:0; color:#8a8a91; font-size:11px; line-height:1.6; }
.footer-company .footer-label { display:inline-block; margin:0 8px 0 0; }
@media (max-width:720px) { .footer-company { width:calc(100% - 28px); } }

/* Company details (privacy / terms pages, contact page) */
.ivanfit-company { margin-top:2.2em; padding:24px 26px; border:1px solid var(--line); background:#13141a; }
.ivanfit-company h3 { font-size:24px; margin:0 0 14px; }
.ivanfit-company dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 22px; margin:0; font-size:14px; }
.ivanfit-company dt { color:var(--gold); font-weight:700; }
.ivanfit-company dd { margin:0; color:#d5d5da; }
.ivanfit-company a { color:var(--gold); }
.contact-company { margin:34px 0 0; max-width:470px; color:#8a8a91; font-size:11px; line-height:1.6; }
@media (max-width:720px) { .ivanfit-company dl { grid-template-columns:1fr; gap:2px; } .ivanfit-company dd { margin-bottom:8px; } }
