:root{
  --bg:#FFFFFF;
  --surface:#F5F8FC;
  --ink:#0E1A26;
  --ink-soft:#4A5B6C;
  --accent:#1B6BC7;
  --accent-dark:#12518F;
  --amber:#E8A33D;
  --line:#DCE6F2;
  --font-heading:'Outfit',sans-serif;
  --font-body:'DM Sans',sans-serif;
  --radius:10px;
  --radius-lg:16px;
  --radius-xl:24px;
  --shadow:0 20px 40px -24px rgba(14,26,38,.28);
  --shadow-lg:0 28px 56px -28px rgba(14,26,38,.35);
  --space-sm:8px;
  --space-md:20px;
  --space-lg:56px;
  --space-xl:112px;
  --wrap:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.1;margin:0 0 var(--space-md);color:var(--ink);}
h1{font-size:clamp(34px,5vw,58px);}
h2{font-size:clamp(26px,3vw,36px);}
h3{font-size:20px;margin-bottom:8px;}
p{margin:0 0 var(--space-md);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.wrap--narrow{max-width:760px;}
.eyebrow{
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);
  margin:0 0 12px;font-weight:500;
}
.lede{font-size:18px;color:var(--ink-soft);max-width:640px;}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:50;}
.site-header__inner{display:flex;align-items:center;gap:32px;padding:18px 24px;}
.site-logo{font-family:var(--font-heading);font-weight:600;font-size:19px;color:var(--ink);white-space:nowrap;}
.site-logo span{color:var(--accent);}
.site-nav{flex:1;}
.site-nav__list{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.site-nav__list a{font-size:15px;color:var(--ink-soft);}
.site-nav__list a:hover{color:var(--accent);}
.site-header__cta{white-space:nowrap;}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:22px;height:2px;background:var(--ink);display:block;}

/* Buttons */
.btn{display:inline-block;padding:13px 24px;border-radius:var(--radius);font-size:15px;font-weight:500;font-family:var(--font-body);border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;}
.btn--primary{background:var(--accent);color:#fff;}
.btn--primary:hover{background:var(--accent-dark);}
.btn--ghost{border-color:var(--accent);color:var(--accent);}
.btn--ghost:hover{background:var(--accent);color:#fff;}

/* Hero */
.hero{padding:var(--space-xl) 0 var(--space-lg);}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero__actions{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;}
.blueprint-svg{width:100%;height:auto;}
.bp-frame{fill:none;stroke:var(--line);stroke-width:1;}
.bp-line{fill:none;stroke:var(--accent);stroke-width:1;}
.bp-shape{fill:none;stroke:var(--accent-dark);stroke-width:1.5;}
.draw{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.4s ease;}
.reveal-group.in-view .draw{stroke-dashoffset:0;}

/* Sections */
.section{padding:var(--space-xl) 0;}
.section--alt{background:var(--surface);}
.section__head{max-width:680px;margin-bottom:var(--space-lg);}
.section__head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}

/* Why section: image + icon grid */
.why-section-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
.why-visual{position:relative;}
.why-visual img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);min-height:340px;}
.icon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:8px;}
.icon-item{padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.why-icon{color:var(--accent);width:26px;height:26px;display:block;margin-bottom:18px;}
.why-num{display:block;font-family:var(--font-heading);color:var(--accent);font-size:13px;margin-bottom:8px;}
.icon-item h3{margin-bottom:6px;}
.icon-item p{margin-bottom:0;color:var(--ink-soft);}

/* Founder strip (home) */
.founder-strip{display:grid;grid-template-columns:.4fr .6fr;gap:40px;align-items:center;margin-top:56px;padding-top:40px;border-top:1px solid var(--line);}
.founder-strip__photo{max-width:220px;margin:0 auto;}
.founder-strip__photo img{border-radius:var(--radius);border:1px solid var(--line);width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;display:block;}
.founder-strip__copy .lede{font-family:var(--font-heading);font-weight:500;font-size:20px;color:var(--ink);}

/* Services preview (home) */
.services-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.services-preview__item{transition:transform .35s ease, box-shadow .35s ease;}
.services-preview__item:hover{transform:translateY(-6px);}
.services-preview__item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:16px;transition:transform .5s ease;}
.services-preview__item:hover img{transform:scale(1.03);}
.services-preview__item h3{margin-bottom:4px;}
.services-preview__item p{color:var(--ink-soft);margin-bottom:0;}

/* Services grid (services page) */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px -18px rgba(12,68,124,.35);}
.service-card__img{aspect-ratio:16/9;overflow:hidden;}
.service-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.service-card:hover .service-card__img img{transform:scale(1.06);}
.service-card__body{padding:24px;}
.service-card__num{font-family:var(--font-heading);color:var(--accent);font-size:13px;}
.service-card__link{color:var(--accent);font-size:14px;font-weight:500;}

/* Process list */
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.process-list li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);}
.process-num{font-family:var(--font-heading);color:var(--accent);font-size:22px;min-width:44px;}
.process-list h3{margin-bottom:4px;}

/* Founder — same photo size/style as home's founder-strip */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;}
.founder__photo{max-width:260px;width:100%;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.founder__photo img{display:block;width:100% !important;height:auto !important;max-width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:var(--radius-lg);}
.founder__placeholder{aspect-ratio:3/4;background:#E6F1FB;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);}

/* CTA section */
.cta-section{text-align:center;}
.cta-section__inner{max-width:600px;margin:0 auto;}
.cta-section__inner .lede{margin-left:auto;margin-right:auto;}

/* Page hero */
.page-hero{padding:var(--space-lg) 0 var(--space-md);border-bottom:1px solid var(--line);}
.prose p{color:var(--ink-soft);}
.prose h2{margin-top:var(--space-lg);}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:56px;}
.contact-form label{display:block;margin-bottom:16px;font-size:14px;color:var(--ink-soft);}
.contact-form input,.contact-form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-body);font-size:15px;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}
.form-success{background:#E6F1FB;color:var(--accent-dark);padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;}
.contact-info{background:var(--surface);padding:32px;border-radius:var(--radius);}

/* Footer */
.site-footer{background:var(--ink);color:#fff;padding-top:var(--space-lg);}
.site-footer a{color:#C9D8E8;}
.site-footer h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em;}
.site-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-bottom:var(--space-lg);}
.site-logo--footer{color:#fff;}
.site-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding:18px 24px;font-size:13px;color:#9FB4C8;}

/* Scroll reveal */
.reveal-group{opacity:1;}
.js .reveal-group{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.js .reveal-group.in-view{opacity:1;transform:none;}

/* Woo tweaks: product cards */
ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;list-style:none;padding:0;}
ul.products li.product{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;transition:transform .3s ease, box-shadow .3s ease;}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 32px -20px rgba(12,68,124,.4);}
ul.products li.product a img{border-radius:8px;background:#fff;transition:transform .5s ease;}
ul.products li.product:hover img{transform:scale(1.03);}
ul.products li.product h2,
ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-heading);font-weight:600;font-size:16px;line-height:1.3;color:var(--ink);margin:14px 0 8px;}
ul.products li.product .price{font-family:var(--font-heading);font-weight:600;font-size:17px;color:var(--accent-dark);display:block;margin-bottom:14px;}
ul.products li.product .price del{color:var(--ink-soft);opacity:.55;font-weight:400;font-size:14px;margin-right:6px;}
ul.products li.product .price ins{text-decoration:none;}
.pz-vat-note{display:block;font-family:var(--font-body);font-weight:400;font-size:12px;color:var(--ink-soft);margin-top:2px;}
ul.products li.product span.onsale{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;white-space:nowrap;background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:500;border-radius:20px;font-size:12px;padding:5px 12px 5px 10px;min-height:0;line-height:1.4;box-shadow:0 4px 10px -4px rgba(12,68,124,.5);}
ul.products li.product a.button,
ul.products li.product a.added_to_cart{display:block;width:100%;text-align:center;background:var(--accent);color:#fff;border-radius:8px;padding:12px 16px;font-family:var(--font-body);font-weight:500;font-size:14px;margin-top:4px;}
ul.products li.product a.button:hover{background:var(--accent-dark);}
.woocommerce ul.products li.product .price{color:var(--accent-dark);font-weight:500;}
.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{background:var(--accent);color:#fff;border-radius:var(--radius);border:0;font-family:var(--font-body);}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--accent-dark);}

@media(max-width:900px){
  .hero__grid,.founder,.contact-grid,.why-section-grid,.founder-strip,.services-preview{grid-template-columns:1fr;}
  .services-grid,.checklist-grid{grid-template-columns:1fr;}
  ul.products{grid-template-columns:repeat(2,1fr);}
  .icon-grid{grid-template-columns:1fr;}
  .top-bar__note{display:none;}
  .site-nav__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;display:none;}
  .menu-item-has-children:hover .sub-menu{display:block;}
  .site-nav,.site-header__cta{display:none;}
  .nav-toggle{display:flex;}
  .site-header.nav-open .site-nav{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;}
  .site-header.nav-open .site-nav__list{flex-direction:column;gap:14px;}
}
@media(prefers-reduced-motion:reduce){
  .js .reveal-group{opacity:1;transform:none;transition:none;}
  .draw{stroke-dashoffset:0;transition:none;}
}

/* Single product page */
.woocommerce-breadcrumb{font-size:13px;color:var(--ink-soft);margin-bottom:24px;}
.woocommerce-breadcrumb a{color:var(--ink-soft);}
.woocommerce-breadcrumb a:hover{color:var(--accent);}

.woocommerce div.product{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}

/* Gallery */
.woocommerce div.product .woocommerce-product-gallery{position:relative;grid-column:1;width:100%;max-width:100%;float:none;margin:0;}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);margin:0;}
.woocommerce div.product .woocommerce-product-gallery__image{width:100%;}
.woocommerce div.product .woocommerce-product-gallery img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:4/3;}

/* Sale badge must not occupy a grid cell */
.woocommerce div.product > span.onsale{position:absolute;top:16px;left:16px;z-index:5;display:inline-flex;align-items:center;white-space:nowrap;width:auto;background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:500;border-radius:20px;font-size:12px;padding:5px 12px 5px 10px;min-height:0;line-height:1.4;box-shadow:0 4px 10px -4px rgba(12,68,124,.5);}

/* Summary */
.woocommerce div.product .summary{grid-column:2;width:100%;max-width:100%;float:none;margin:0;padding-top:4px;}
.woocommerce div.product h1.product_title{font-family:var(--font-heading);font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1.2;margin-bottom:16px;color:var(--ink);}
.woocommerce div.product p.price{font-family:var(--font-heading);font-weight:600;font-size:26px;color:var(--ink);margin:0 0 6px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--ink);}
.woocommerce div.product p.price del{color:var(--ink-soft);opacity:.55;font-weight:400;font-size:19px;margin-right:8px;}
.pz-vat-note{font-family:var(--font-body);font-weight:400;font-size:12px;color:var(--ink-soft);}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft);font-size:15px;line-height:1.65;margin:18px 0 24px;}
.woocommerce div.product .woocommerce-product-details__short-description p:last-child{margin-bottom:0;}

.woocommerce div.product .stock{display:inline-block;font-size:13px;font-weight:500;color:var(--accent-dark);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:5px 12px;margin-bottom:16px;}
.woocommerce div.product .stock.out-of-stock{color:#A32D2D;}

/* Variation selector */
.woocommerce div.product form.cart{margin-bottom:8px;}
.woocommerce div.product table.variations{width:100%;border:0;margin:0 0 20px;}
.woocommerce div.product table.variations tr{display:block;margin-bottom:12px;}
.woocommerce div.product table.variations th,
.woocommerce div.product table.variations td{display:block;text-align:left;padding:0;border:0;}
.woocommerce div.product table.variations th label{font-family:var(--font-body);font-weight:500;font-size:14px;color:var(--ink);margin-bottom:8px;display:block;}
.woocommerce div.product table.variations select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:15px;background:#fff;color:var(--ink);cursor:pointer;}
.woocommerce div.product table.variations select:focus{outline:2px solid var(--accent);outline-offset:1px;}
.woocommerce div.product .reset_variations{font-size:13px;color:var(--accent);display:inline-block;margin-top:8px;}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price{margin-bottom:16px;}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price .price{font-size:24px;border:0;padding:0;}

/* Quantity + add to cart row */
.woocommerce div.product form.cart .quantity,
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.woocommerce div.product form.cart .quantity{margin:0;}
.woocommerce div.product form.cart .quantity input.qty{width:72px;padding:14px 10px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:15px;text-align:center;}
.woocommerce div.product form.cart button.single_add_to_cart_button.button{flex:1;min-width:180px;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:15px 32px;font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s;}
.woocommerce div.product form.cart button.single_add_to_cart_button.button:hover{background:var(--accent-dark);}
.woocommerce div.product form.cart button.single_add_to_cart_button.button.disabled{opacity:.5;cursor:not-allowed;}

/* Trust panel */
.trust-row{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:24px 0;}
.trust-row__item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);}
.trust-row__item svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;}

/* Specifications list */
.pz-specs{margin:24px 0;}
.pz-specs h2{font-size:18px;margin-bottom:14px;}
.pz-specs__list{list-style:none;margin:0;padding:0;}
.pz-specs__list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-soft);}
.pz-specs__list li svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;}
.pz-specs__list li strong{color:var(--ink);font-weight:500;}

.woocommerce div.product .product_meta{font-size:13px;color:var(--ink-soft);padding-top:18px;border-top:1px solid var(--line);}
.woocommerce div.product .product_meta > span{display:block;margin-bottom:4px;}
.woocommerce div.product .product_meta a{color:var(--accent);}

/* Tabs: full width below the two columns */
.woocommerce-tabs{grid-column:1 / -1;margin-top:64px;}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:32px;margin:0 0 32px;padding:0;border-bottom:1px solid var(--line);}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{display:inline-block;padding:0 0 14px;font-size:14px;font-weight:500;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px;}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--accent);}
.woocommerce-tabs .woocommerce-Tabs-panel{color:var(--ink-soft);line-height:1.7;max-width:75ch;}
.woocommerce-tabs .woocommerce-Tabs-panel h2{font-size:20px;margin-bottom:16px;}
.woocommerce-tabs table.shop_attributes{width:100%;border-collapse:collapse;}
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;}
.woocommerce-tabs table.shop_attributes th{font-weight:500;color:var(--ink);width:220px;}
.woocommerce-tabs table.shop_attributes td{color:var(--ink-soft);}
.woocommerce-tabs table.shop_attributes td p{margin:0;}

.related.products{grid-column:1 / -1;margin-top:80px;padding-top:56px;border-top:1px solid var(--line);}
.related.products > h2{font-size:clamp(22px,2.5vw,28px);margin-bottom:32px;}

@media(max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr;gap:32px;}
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary{grid-column:1;}
}
/* Checklist grid (services) */
.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;}
.checklist-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);}
.checklist-item svg{color:var(--accent);flex-shrink:0;margin-top:2px;}
.checklist-item span{color:var(--ink);font-size:15px;}

/* Top utility bar */
.top-bar{background:var(--ink);color:#C9D8E8;font-size:13px;}
.top-bar__inner{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;gap:16px;}
.top-bar__contact{display:flex;gap:20px;}
.top-bar__contact a{color:#C9D8E8;}
.top-bar__contact a:hover{color:#fff;}
.top-bar__note{opacity:.8;}

/* Services dropdown in nav */
.menu-item-has-children{position:relative;}
.site-nav__list .sub-menu{list-style:none;margin:0;padding:12px;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 32px -20px rgba(12,68,124,.35);min-width:280px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease, transform .2s ease, visibility .2s;z-index:60;}
.menu-item-has-children:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.site-nav__list .sub-menu li a{display:block;padding:9px 10px;font-size:14px;border-radius:var(--radius);color:var(--ink-soft);}
.site-nav__list .sub-menu li a:hover{background:var(--surface);color:var(--accent);}

/* Cart icon in header */
.header-cart{position:relative;display:inline-flex;align-items:center;color:var(--ink);margin-left:8px;}
.header-cart svg{width:22px;height:22px;}
.header-cart__count{position:absolute;top:-6px;right:-8px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;}

/* Product breadcrumbs */
.product-crumbs{padding-top:28px;}
.product-crumbs .woocommerce-breadcrumb{margin:0;font-size:13px;color:var(--ink-soft);}
.product-crumbs .crumb-sep{opacity:.4;margin:0 4px;}

/* Global product list resets (shortcode grids outside woo templates) */
ul.products{margin:0;}
ul.products li.product{list-style:none;display:flex;flex-direction:column;}
ul.products li.product > a{display:block;}
ul.products li.product .woocommerce-loop-product__link{display:block;}
ul.products li.product a.button{margin-top:auto;}
ul.products li.product .star-rating{display:none;}
/* ---- Shop toolbar: category filter, result count, sorting ---- */
.shop-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.shop-filters a{display:inline-block;padding:9px 18px;border:1px solid var(--line);border-radius:20px;font-size:14px;color:var(--ink-soft);background:#fff;transition:background .15s,color .15s,border-color .15s;}
.shop-filters a:hover{border-color:var(--accent);color:var(--accent);}
.shop-filters a.is-active{background:var(--accent);border-color:var(--accent);color:#fff;}
.shop-filters__count{opacity:.7;font-size:12px;margin-left:2px;}

.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:32px;border-bottom:1px solid var(--line);}
.woocommerce-result-count{margin:0;font-size:14px;color:var(--ink-soft);}
.woocommerce-ordering{margin:0;}
.woocommerce-ordering select{padding:11px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;font-family:var(--font-body);font-size:14px;color:var(--ink);cursor:pointer;}
.woocommerce-ordering select:focus{outline:2px solid var(--accent);outline-offset:1px;}

/* ---- Pagination ---- */
.woocommerce-pagination{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);}
.woocommerce-pagination ul.page-numbers{display:flex;justify-content:center;gap:8px;list-style:none;margin:0;padding:0;border:0;}
.woocommerce-pagination ul.page-numbers li{border:0;margin:0;}
.woocommerce-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-heading);font-size:14px;font-weight:500;color:var(--ink-soft);background:#fff;transition:background .15s,color .15s,border-color .15s;}
.woocommerce-pagination a.page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.woocommerce-pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff;}
.woocommerce-pagination .page-numbers.dots{border-color:transparent;background:transparent;}

/* Woo notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:14px 18px;margin-bottom:24px;font-size:14px;color:var(--ink);list-style:none;}
.woocommerce-error{border-left-color:#A32D2D;}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;background:var(--accent);color:#fff;padding:7px 16px;border-radius:var(--radius);font-size:13px;}

@media(max-width:640px){
  .shop-toolbar{flex-direction:column;align-items:stretch;}
  .woocommerce-ordering select{width:100%;}
}

/* ===== Homepage v2 ===== */
h1,h2,h3{letter-spacing:-.02em;}
h1{font-size:clamp(38px,5.4vw,64px);font-weight:700;}
h2{font-size:clamp(28px,3.4vw,44px);font-weight:700;}

/* Buttons */
.btn{border-radius:var(--radius);font-family:var(--font-body);font-weight:500;}
.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow);}
.btn--primary:hover{background:var(--accent-dark);}
.btn--amber{background:var(--amber);color:#1A1206;box-shadow:0 14px 28px -14px rgba(232,163,61,.7);font-weight:700;}
.btn--amber:hover{background:#D9942F;}
.btn--glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(6px);}
.btn--glass:hover{background:rgba(255,255,255,.26);}
.btn--lg{padding:16px 32px;font-size:16px;}

/* Hero */
.hero-lg{position:relative;min-height:min(78vh,660px);display:flex;align-items:flex-end;overflow:hidden;}
.hero-lg__media{position:absolute;inset:0;}
.hero-lg__media img{width:100%;height:100%;object-fit:cover;}
.hero-lg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,26,38,.92) 0%,rgba(14,26,38,.75) 45%,rgba(14,26,38,.25) 100%);}
.hero-lg__inner{position:relative;z-index:2;padding-top:96px;padding-bottom:80px;max-width:var(--wrap);}
.hero-lg h1{color:#fff;margin-bottom:20px;}
.hero-lg__eyebrow{color:var(--amber);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}
.hero-lg__lede{color:rgba(255,255,255,.86);font-size:18px;max-width:560px;margin-bottom:32px;}
.hero-lg__actions{display:flex;gap:14px;flex-wrap:wrap;}

/* Stats strip */
.stats-strip{background:var(--ink);color:#fff;}
.stats-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:28px 24px;}
.stat{display:flex;flex-direction:column;gap:2px;}
.stat__num{font-family:var(--font-heading);font-weight:700;font-size:28px;color:var(--amber);line-height:1.1;}
.stat__label{font-size:13px;color:rgba(255,255,255,.7);}

/* Service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.svc-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.svc-card__img{aspect-ratio:16/10;overflow:hidden;}
.svc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.svc-card:hover .svc-card__img img{transform:scale(1.05);}
.svc-card__body{padding:24px;}
.svc-card__body h3{font-size:19px;margin-bottom:8px;}
.svc-card__body p{color:var(--ink-soft);font-size:15px;margin-bottom:14px;}
.svc-card__link{color:var(--accent);font-weight:500;font-size:14px;}

/* Split section */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
.split__media img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;}
.steps{list-style:none;margin:28px 0 32px;padding:0;}
.steps li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);}
.steps li:last-child{border-bottom:0;}
.steps li > span{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:14px;}
.steps h3{font-size:17px;margin-bottom:2px;}
.steps p{color:var(--ink-soft);font-size:15px;margin:0;}

/* Founder + quote */
.founder-strip{display:grid;grid-template-columns:.35fr .65fr;gap:48px;align-items:center;margin:0;padding:0;border:0;}
.founder-strip__photo{max-width:260px;}
.founder-strip__photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.quote{font-family:var(--font-heading);font-weight:500;font-size:clamp(20px,2.2vw,27px);line-height:1.45;color:var(--ink);margin-bottom:18px;}

/* CTA band */
.cta-band{background:var(--ink);color:#fff;padding:var(--space-xl) 0;text-align:center;}
.cta-band h2{color:#fff;margin-bottom:14px;}
.cta-band p{color:rgba(255,255,255,.75);font-size:17px;max-width:520px;margin:0 auto 32px;}

@media(max-width:900px){
  .svc-grid{grid-template-columns:1fr;}
  .split,.founder-strip{grid-template-columns:1fr;gap:36px;}
  .stats-strip__grid{grid-template-columns:repeat(2,1fr);}
  .founder-strip__photo{max-width:200px;margin:0 auto;}
  .hero-lg{min-height:auto;}
  .hero-lg__inner{padding-top:72px;padding-bottom:56px;}
}

/* Align all content to the same gutter as the logo */
.wrap{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box;}
.wrap.section__head{max-width:var(--wrap);}
.wrap.section__head:not(.section__head--row) > *{max-width:720px;}

/* Square product thumbnails in all card grids */
ul.products li.product a img,
ul.products li.product img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#fff;display:block;}
/* Badge must sit above the square image */
ul.products li.product span.onsale{z-index:3;}

/* ===== Footer v2 (responsive) ===== */
.site-footer{background:var(--ink);color:#fff;padding-top:var(--space-lg);overflow-x:hidden;}
.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:var(--space-lg);}
.site-footer p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.65;margin-bottom:14px;overflow-wrap:break-word;}
.site-footer h3{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:16px;font-family:var(--font-body);font-weight:700;}
.site-footer a{color:rgba(255,255,255,.72);overflow-wrap:break-word;}
.site-footer a:hover{color:#fff;}
.site-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;}
.site-footer__list li{margin:0;}
.site-logo--footer{color:#fff;margin-bottom:14px;}
.site-footer__contact a{color:var(--amber);font-weight:500;}
.site-footer__legal strong{color:#fff;font-weight:700;}
.site-footer__sic{font-size:12px;opacity:.6;}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;padding-bottom:24px;}
.site-footer__bottom p{margin:0;font-size:13px;color:rgba(255,255,255,.55);}

@media(max-width:900px){
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;}
  .site-footer__brand{grid-column:1 / -1;}
}
@media(max-width:560px){
  .site-footer__grid{grid-template-columns:minmax(0,1fr);gap:32px;}
  .site-footer__brand,.site-footer__nav,.site-footer__legal{grid-column:auto;min-width:0;}
}

/* Prevent horizontal overflow site-wide */
html,body{max-width:100%;overflow-x:hidden;}
img,svg,video{max-width:100%;}
*{min-width:0;}

/* ===== Cookie banner ===== */
.pz-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;}
.pz-cookie.is-in{opacity:1;transform:none;}
.pz-cookie__inner{display:flex;align-items:center;gap:28px;padding:20px 24px;max-width:var(--wrap);margin:0 auto;flex-wrap:wrap;}
.pz-cookie__text{flex:1;min-width:260px;}
.pz-cookie__text strong{display:block;font-family:var(--font-heading);font-size:16px;margin-bottom:4px;color:var(--ink);}
.pz-cookie__text p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.6;}
.pz-cookie__text a{color:var(--accent);text-decoration:underline;}
.pz-cookie__actions{display:flex;gap:12px;flex-shrink:0;}
.pz-cookie__btn{padding:12px 22px;font-size:14px;white-space:nowrap;cursor:pointer;}
button.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-family:var(--font-body);}
button.btn--ghost:hover{border-color:var(--accent);color:var(--accent);}
button.btn--primary{border:0;cursor:pointer;font-family:var(--font-body);}

@media(max-width:640px){
  .pz-cookie{left:10px;right:10px;bottom:10px;}
  .pz-cookie__inner{padding:18px;gap:16px;}
  .pz-cookie__actions{width:100%;}
  .pz-cookie__btn{flex:1;text-align:center;}
}

/* Policy pages */
.policy-updated{font-size:13px;color:var(--ink-soft);padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.policy-table{width:100%;border-collapse:collapse;margin:18px 0 28px;font-size:14px;}
.policy-table th,.policy-table td{text-align:left;padding:11px 14px;border:1px solid var(--line);vertical-align:top;}
.policy-table th{background:var(--surface);font-weight:700;color:var(--ink);font-family:var(--font-body);}
.policy-table td{color:var(--ink-soft);}
.prose h2{margin-top:40px;font-size:22px;}
.prose ul{color:var(--ink-soft);line-height:1.7;padding-left:20px;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--accent);text-decoration:underline;}
@media(max-width:560px){.policy-table,.policy-table tbody,.policy-table tr,.policy-table td,.policy-table th{display:block;width:100%;}.policy-table thead{display:none;}.policy-table tr{margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}.policy-table td{border:0;border-bottom:1px solid var(--line);}}
