/*
Theme Name: DoubleSeam Clean Stable
Theme URI: https://doubleseam.co.uk/
Author: DoubleSeam
Description: Clean WooCommerce-first DoubleSeam theme rebuilt from the approved site reference. UK phase 1.
Version: 0.2.6
Text Domain: doubleseam-clean
*/

:root{--ink:#101515;--ink-soft:#1b2322;--paper:#f4f1ea;--white:#fff;--teal:#075e5a;--teal-bright:#0b817a;--brass:#c4a35a;--line:#d7d2c7;--muted:#606967;--review:#d4142a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:30;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;min-height:78px;padding:0 clamp(20px,4vw,58px);background:var(--ink);border-bottom:1px solid rgba(255,255,255,.13);color:#fff}.brand-logo{display:block;width:150px;max-height:58px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(22px,3vw,45px);align-items:center}.desktop-nav a{position:relative;padding:30px 0 27px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--teal-bright);transform:scaleX(0);transition:.18s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{justify-self:end;display:flex;align-items:center;gap:18px}.language-static{display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.26);font-size:12px;font-weight:900;letter-spacing:.08em}.basket-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.basket-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--teal-bright);font-size:10px}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;padding:9px 12px;font-weight:800}.mobile-nav{display:none;background:var(--ink-soft);color:#fff;padding:12px 24px 22px}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:800;text-transform:uppercase}
.ds-main{min-height:60vh}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:var(--paper)}.hero-copy{position:relative;overflow:hidden;padding:clamp(58px,7vw,105px) clamp(28px,6vw,105px)}.hero-copy:after{content:"";position:absolute;width:440px;height:440px;right:-100px;bottom:-220px;border:1px solid rgba(7,94,90,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(7,94,90,.03),0 0 0 140px rgba(7,94,90,.02)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 30px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:1px;background:var(--brass)}.hero h1,.catalogue-hero h1,.page-hero h1{margin:0;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(48px,5vw,74px);line-height:.88;letter-spacing:-.03em;text-transform:uppercase}.hero-line{margin:28px 0 0;font-size:26px;font-weight:800}.hero-line em{color:var(--teal);font-style:normal}.hero-intro{max-width:590px;margin:24px 0 0;color:var(--muted);font-size:17px;line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.single_add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:0 19px!important;border-radius:0!important;border:1px solid var(--teal)!important;background:var(--teal)!important;color:#fff!important;font-size:12px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important}.button-secondary{background:transparent!important;color:var(--ink)!important;border-color:var(--ink)!important}.trade-note{margin-top:24px;font-size:12px;font-weight:700}.hero-media{position:relative;min-height:560px;background:#e9e4d9;overflow:hidden}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-strip article{display:flex;gap:18px;padding:28px clamp(22px,4vw,58px);border-right:1px solid var(--line)}.proof-strip article:last-child{border-right:0}.proof-number{color:var(--brass);font-family:Georgia,serif;font-size:20px}.proof-strip strong{display:block;font-size:14px}.proof-strip small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}
.home-section{padding:clamp(58px,7vw,95px) clamp(24px,6vw,90px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading h2{max-width:780px;margin:0;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(36px,4vw,58px);line-height:.92;text-transform:uppercase}.text-link{color:var(--teal);font-size:12px;font-weight:900;text-transform:uppercase}.featured-grid,.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.featured-card{display:flex;min-height:390px;flex-direction:column;background:#fff;border:1px solid var(--line)}.featured-card img{width:100%;height:240px;object-fit:contain;background:#e8e4db}.featured-card small{margin:18px 20px 8px;color:var(--teal);font-size:10px;font-weight:900;text-transform:uppercase}.featured-card strong{margin:0 20px;font-size:21px}.featured-card b{margin:16px 20px 22px;color:var(--teal)}.category-section{background:#fff}.category-grid{background:var(--line);gap:1px;border:1px solid var(--line)}.category-grid a{display:flex;min-height:150px;flex-direction:column;justify-content:flex-end;gap:8px;padding:24px;background:var(--paper)}.category-grid span{color:var(--brass);font-size:22px}.category-grid strong{font-size:20px}.category-grid small{color:var(--muted);font-size:12px}.uk-made-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;padding:clamp(65px,8vw,110px) clamp(24px,7vw,105px);background:var(--teal);color:#fff}.uk-made-panel .eyebrow{color:#cce6e2}.uk-made-panel h2{margin:0;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(42px,5vw,68px);line-height:.9;text-transform:uppercase}.uk-made-panel p{max-width:620px;color:#c6e0dc;font-size:18px;line-height:1.6}.uk-made-visual{align-self:center;background:rgba(255,255,255,.07);padding:18px}.uk-made-visual img{display:block;width:100%;max-height:360px;object-fit:contain}.contact-strip{display:flex;flex-wrap:wrap;gap:26px;align-items:center;padding:46px clamp(24px,7vw,105px);background:var(--ink);color:#fff}.contact-strip h2{margin:0;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(34px,4vw,52px);text-transform:uppercase}.contact-strip .button{margin-left:auto;background:var(--brass)!important;border-color:var(--brass)!important;color:var(--ink)!important}
.catalogue-hero,.page-hero{padding:30px clamp(24px,6vw,90px) 42px;background:var(--ink);color:#fff}.catalogue-hero .eyebrow,.page-hero .eyebrow{color:var(--teal-bright);margin-bottom:28px}.catalogue-hero p:last-child,.page-hero p:last-child{max-width:690px;color:#c6d0ce;line-height:1.55}.catalogue{padding:24px clamp(20px,6vw,90px) 90px}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.category-nav a{padding:13px 16px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:900;text-transform:uppercase}.category-nav a:hover{border-color:var(--teal);color:var(--teal)}.catalogue-title{margin:0 0 14px;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:38px;text-transform:uppercase}
.woocommerce ul.products,.ds-products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin:0!important;padding:0!important;list-style:none!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product,.ds-product-card{float:none!important;width:auto!important;margin:0!important;padding:0!important;display:flex!important;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--line);overflow:hidden}.ds-product-image{position:relative;width:100%;aspect-ratio:1.8;background:#e8e4db;overflow:hidden;display:grid;place-items:center}.ds-product-image img{display:block!important;width:100%!important;height:100%!important;margin:0!important;object-fit:contain!important;object-position:center!important}.ds-product-meta{display:flex;flex:1;flex-direction:column;padding:14px}.ds-product-category{margin:0 0 8px;color:var(--teal);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.ds-product-title{min-height:43px;margin:0!important;font-size:18px!important;line-height:1.16!important}.ds-product-price{margin:12px 0 0;font-size:17px;font-weight:900}.ds-product-price .price{color:var(--ink)!important;font-size:inherit!important}.ds-uk-note{display:block;margin-top:7px;color:var(--teal);font-size:11px;font-weight:800}.ds-card-button{align-self:flex-start;margin-top:12px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:18px}.woocommerce .woocommerce-ordering select{padding:10px;border:1px solid var(--line);background:#fff}.woocommerce nav.woocommerce-pagination{margin-top:34px}.woocommerce nav.woocommerce-pagination ul{border:0!important}.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0 4px!important}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:10px 13px!important;background:#fff!important;color:var(--ink)!important}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--teal)!important;color:#fff!important}
.woocommerce div.product{max-width:1480px;margin:0 auto;padding:42px clamp(20px,5vw,70px) 90px}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:30px}.woocommerce div.product div.images img{background:#f1eee7;object-fit:contain}.woocommerce div.product .woocommerce-product-gallery__image>a{display:block;background:#f1eee7}.woocommerce div.product .woocommerce-product-gallery__image img{width:100%!important;max-height:720px;object-fit:contain}.woocommerce div.product div.summary .product_title{font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(42px,4.8vw,70px);line-height:.92}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink)!important;font-size:23px!important}.woocommerce-product-details__short-description{font-size:18px;line-height:1.6}.woocommerce div.product form.cart .variations select{min-width:260px;padding:12px;border:1px solid #777}.woocommerce div.product form.cart div.quantity{margin-right:10px}.woocommerce .quantity .qty{height:48px}.woocommerce-tabs{margin-top:40px}.woocommerce-tabs ul.tabs{padding:0!important}.woocommerce-tabs ul.tabs:before{border-bottom-color:var(--line)!important}.woocommerce-tabs ul.tabs li{border-radius:0!important;background:#fff!important}.related.products>h2,.upsells.products>h2{font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:36px;text-transform:uppercase}
/* Never crop WooCommerce product imagery in this theme. */
.woocommerce ul.products li.product img,.wc-block-grid__product-image img,.woocommerce-product-gallery img{object-fit:contain!important;object-position:center!important}
.story-page{background:#fff}.story-hero{padding:clamp(70px,9vw,125px) clamp(24px,12vw,180px);background:var(--ink);color:#fff}.story-hero h1{max-width:960px;margin:0;font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(52px,8vw,108px);line-height:.88;text-transform:uppercase}.story-lede{max-width:620px;color:#c6d0ce;font-size:21px;line-height:1.5}.story-reading{display:grid;grid-template-columns:150px minmax(0,760px);justify-content:center;gap:55px;padding:clamp(60px,8vw,110px) clamp(24px,8vw,120px)}.story-rail{display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line)}.story-rail a{color:var(--brass);font-size:28px;font-weight:900}.story-rail small{margin:0 20px 24px 0;color:var(--muted);font-size:11px}.story-reading-copy p{color:var(--muted);font-size:19px;line-height:1.75}.story-reading-copy .story-kicker{margin-top:40px;color:var(--teal);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.story-reading-copy h2{font-family:"Arial Narrow",Impact,Arial,sans-serif;font-size:clamp(40px,5vw,66px);line-height:.92;text-transform:uppercase}.support-content,.basic-page{max-width:1100px;margin:0 auto;padding:0 28px 88px}.support-nav{display:flex;flex-wrap:wrap;gap:10px;padding:28px 0;border-bottom:1px solid var(--line)}.support-nav a{padding:12px 16px;border:1px solid var(--line);font-weight:700}.support-section{padding:42px 0;border-bottom:1px solid var(--line)}.support-section h2{margin:0 0 16px;color:var(--teal);font-size:clamp(28px,3vw,42px)}.support-section p{font-size:17px;line-height:1.65}.support-section details{padding:15px 0;border-top:1px solid var(--line)}.support-section summary{cursor:pointer;font-size:18px;font-weight:800}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{max-width:1180px;margin:0 auto;padding:45px 28px 90px}.woocommerce table.shop_table{border-radius:0!important}.woocommerce-cart table.cart img{width:90px!important;height:75px!important;object-fit:contain!important;background:#f1eee7}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:12px;border:1px solid var(--line);background:#fff}.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--teal)!important}.woocommerce-info:before,.woocommerce-message:before{color:var(--teal)!important}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:32px;padding:45px clamp(24px,7vw,105px) 22px;background:#0b0f0f;color:#d4dcda}.footer-brand p{max-width:360px;color:#8e9b98;font-size:13px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;align-content:start;justify-content:flex-end}.footer-links a{font-size:12px}.footer-bottom{grid-column:1/-1;padding-top:20px;border-top:1px solid #293131;color:#81908c;font-size:11px}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.language-static{display:none}.menu-toggle{display:block}.mobile-nav.is-open{display:block}.hero{grid-template-columns:1fr}.hero-media{min-height:400px}.proof-strip{grid-template-columns:1fr}.proof-strip article{border-right:0;border-bottom:1px solid var(--line)}.featured-grid,.category-grid{grid-template-columns:1fr 1fr}.uk-made-panel{grid-template-columns:1fr}.woocommerce ul.products,.ds-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.story-reading{grid-template-columns:1fr}.story-rail{display:none}}
@media(max-width:650px){.site-header{padding:0 18px}.brand-logo{width:125px}.header-actions{gap:9px}.basket-link span:not(.basket-count){display:none}.hero-copy{padding:50px 24px}.hero-media{min-height:320px}.proof-strip article{padding:22px 24px}.home-section{padding:52px 22px}.section-heading{align-items:flex-start;flex-direction:column}.featured-grid,.category-grid,.woocommerce ul.products,.ds-products{grid-template-columns:1fr!important}.catalogue{padding:22px 18px 70px}.woocommerce div.product{padding:28px 18px 70px}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-bottom{grid-column:1}.story-hero{padding:60px 22px}.story-reading{padding:55px 22px}.support-content{padding:0 20px 70px}}

/* v0.1.2 — WooCommerce single-product pages use WooCommerce core templates.
   Theme only styles them; it does not override their PHP templates. */
.single-product .site-main,
.single-product main {
    max-width: 1480px;
    margin: 0 auto;
    padding: 42px clamp(20px,5vw,70px) 90px;
}
.single-product div.product {
    display: flow-root;
}
.single-product div.product .woocommerce-product-gallery img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
.single-product div.product .summary {
    margin-bottom: 2rem;
}
.single-product .woocommerce-tabs,
.single-product .related {
    clear: both;
}


/* Stable v0.2.0 — visual-only WooCommerce refinements.
   No custom single-product PHP templates or cart hooks. */

/* Product cards: fixed media area, entire original image visible, no cropping. */
.ds-product-image{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:250px!important;
    overflow:hidden!important;
    padding:0!important;
    background:#e8e4db!important;
}
.ds-product-image img{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
}

/* Core WooCommerce single-product layout only; WooCommerce keeps control of the PHP. */
.single-product .woocommerce{
    max-width:1480px;
    margin:0 auto;
    padding:40px clamp(20px,5vw,70px) 90px;
}
.single-product div.product .woocommerce-product-gallery img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
}
.single-product div.product .woocommerce-product-gallery__image{
    background:#ebe7dc;
}
.single-product div.product .flex-control-thumbs img{
    height:110px!important;
    object-fit:contain!important;
    background:#e8e4db;
}
.single-product div.product .summary .button{
    background:var(--teal)!important;
    color:#fff!important;
    text-transform:uppercase;
    font-weight:800;
}

/* Keep generic WooCommerce cart readable until the bespoke cart pass. */
.woocommerce-cart .woocommerce{
    max-width:1220px;
    margin:0 auto;
    padding:46px 28px 90px;
}


/* =========================
   Stable v0.2.1 refinements
   ========================= */

/* Cards: price and action share one aligned bottom row on every tile. */
.ds-product-meta{
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
}
.ds-product-title{
    min-height:43px;
}
.ds-uk-note{
    margin-bottom:8px;
}
.ds-card-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    margin-top:auto;
    padding-top:14px;
}
.ds-card-bottom .ds-product-price{
    margin:0!important;
    flex:1 1 auto;
}
.ds-card-bottom .ds-card-button{
    margin:0!important;
    flex:0 0 auto;
}
.ds-card-bottom .button{
    min-height:42px!important;
    padding:0 14px!important;
    white-space:nowrap;
}

/* Single product: WooCommerce keeps all PHP control; theme only arranges it. */
.single-product .woocommerce{
    max-width:1480px;
    margin:0 auto;
    padding:38px clamp(20px,5vw,70px) 82px;
}
.single-product div.product{
    display:flow-root;
}
.single-product div.product div.images{
    width:54%!important;
}
.single-product div.product div.summary{
    width:42%!important;
}
.single-product div.product .product_title{
    margin-top:0!important;
}
.single-product div.product form.cart:not(.variations_form){
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-top:26px!important;
}
.single-product div.product form.cart:not(.variations_form) .quantity{
    margin:0!important;
}
.ds-inline-product-price{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:48px;
    color:var(--teal);
    font-size:21px;
    font-weight:900;
    white-space:nowrap;
}
.ds-inline-product-price__label{
    color:var(--ink);
    font-size:14px;
}
.single-product .product-type-simple .summary > p.price{
    display:none;
}
.single-product div.product form.cart:not(.variations_form) .single_add_to_cart_button{
    min-width:205px;
}

/* Keep accelerated checkout useful but visually secondary to Add to basket. */
.single-product .summary .wc-stripe-product-checkout-container,
.single-product .summary .ppc-button-wrapper,
.single-product .summary .wc-block-components-express-payment,
.single-product .summary .express-payment-methods{
    max-width:620px!important;
    margin-top:12px!important;
}
.single-product .summary iframe{
    max-height:46px;
}

/* Description and additional product content sit cleanly below the buying area. */
.single-product .woocommerce-tabs{
    clear:both;
    padding-top:24px;
    margin-top:34px!important;
}
.single-product .woocommerce-tabs .panel{
    max-width:980px;
    font-size:16px;
    line-height:1.65;
}

/* Footer: four-column structure from the approved reference. */
.site-footer{
    display:grid!important;
    grid-template-columns:1.15fr .8fr .8fr 1.15fr!important;
    gap:54px!important;
    padding:52px clamp(28px,6vw,105px) 22px!important;
    background:#0b0f0f!important;
    color:#d4dcda!important;
}
.footer-brand p{
    max-width:260px;
    margin-top:18px;
    color:#a7b3b0;
    font-size:13px;
    line-height:1.45;
}
.footer-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}
.footer-column h3{
    margin:2px 0 18px;
    color:var(--brass);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.footer-column a,
.footer-column span{
    color:#fff;
    font-size:12px;
    line-height:1.45;
}
.footer-contact span:last-child{
    max-width:310px;
}
.footer-bottom{
    grid-column:1/-1!important;
    margin-top:20px;
    padding-top:20px!important;
    border-top:1px solid #293131!important;
    color:#81908c!important;
    font-size:11px!important;
}

@media(max-width:1050px){
    .site-footer{
        grid-template-columns:1fr 1fr!important;
    }
    .footer-bottom{
        grid-column:1/-1!important;
    }
}
@media(max-width:900px){
    .single-product div.product div.images,
    .single-product div.product div.summary{
        float:none!important;
        width:100%!important;
    }
}
@media(max-width:650px){
    .ds-card-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
    .single-product div.product form.cart:not(.variations_form){
        align-items:stretch!important;
    }
    .single-product div.product form.cart:not(.variations_form) .single_add_to_cart_button{
        width:100%;
    }
    .site-footer{
        grid-template-columns:1fr!important;
        gap:30px!important;
    }
    .footer-bottom{
        grid-column:1!important;
    }
}


/* =========================
   Stable v0.2.2 homepage pass
   ========================= */

/* Make the hero product image smaller and fully visible inside the right panel. */
.home .hero{
    min-height:520px;
}
.home .hero-media{
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:46px clamp(34px,5vw,72px);
    background:#e9e4d9;
}
.home .hero-media img{
    position:static!important;
    display:block;
    width:auto!important;
    max-width:78%!important;
    height:auto!important;
    max-height:420px!important;
    object-fit:contain!important;
    object-position:center!important;
}

/* UK-made CTA: Union Jack background instead of solid green. */
.home .hero-actions .button:first-child{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-color:#182b49!important;
    background:
        linear-gradient(33deg, transparent 42%, #fff 42%, #fff 47%, #c8102e 47%, #c8102e 53%, #fff 53%, #fff 58%, transparent 58%),
        linear-gradient(-33deg, transparent 42%, #fff 42%, #fff 47%, #c8102e 47%, #c8102e 53%, #fff 53%, #fff 58%, transparent 58%),
        linear-gradient(90deg, transparent 39%, #fff 39%, #fff 44%, #c8102e 44%, #c8102e 56%, #fff 56%, #fff 61%, transparent 61%),
        linear-gradient(0deg, transparent 34%, #fff 34%, #fff 41%, #c8102e 41%, #c8102e 59%, #fff 59%, #fff 66%, transparent 66%),
        #012169!important;
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
    box-shadow:inset 0 0 0 999px rgba(0,0,0,.10);
}
.home .hero-actions .button:first-child:hover{
    filter:brightness(1.08);
}

/* Keep the three homepage feature tiles deliberately static. */
.home .featured-grid{
    overflow:visible;
}
.home .featured-card{
    transform:none!important;
    animation:none!important;
}

/* Mobile hero remains compact and readable. */
@media(max-width:900px){
    .home .hero{
        min-height:0;
    }
    .home .hero-media{
        min-height:360px;
        padding:30px;
    }
    .home .hero-media img{
        max-width:86%!important;
        max-height:310px!important;
    }
}


/* =========================
   Stable v0.2.3 homepage polish
   ========================= */

/* More accurate, softer Union Jack CTA treatment. */
.home .hero-actions .button:first-child{
    min-width:220px;
    padding:0 24px!important;
    border-color:#20324f!important;
    background-image:
        linear-gradient(rgba(10, 16, 28, .18), rgba(10, 16, 28, .18)),
        url("assets/union-jack.svg")!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;
}
.home .hero-actions .button:first-child:hover{
    filter:none;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;
}

/* Hero media: larger but still fully visible, with no awkward empty frame. */
.home .hero-media{
    min-height:520px;
    padding:30px clamp(20px,3vw,40px);
}
.home .hero-media img{
    max-width:92%!important;
    width:auto!important;
    height:auto!important;
    max-height:500px!important;
}

/* UK-made panel image: remove the pale green frame and let the image breathe. */
.uk-made-visual{
    background:transparent!important;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
}
.uk-made-visual img{
    width:100%;
    max-width:540px;
    max-height:360px;
    object-fit:contain;
    background:transparent!important;
}

@media(max-width:900px){
    .home .hero-media{
        min-height:400px;
        padding:24px;
    }
    .home .hero-media img{
        max-width:95%!important;
        max-height:360px!important;
    }
    .uk-made-visual img{
        max-height:300px;
    }
}


/* =========================
   Stable v0.2.4 hero image crop
   ========================= */

/*
 * Match the supplied crop reference:
 * - fill the hero vertically
 * - no top/bottom padding around the Decoiler image
 * - keep the portrait crop centred
 * - retain the complete Decoiler from top handles to bottom plate
 */
.home .hero-media{
    padding:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
}

.home .hero-media img{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    flex:0 0 auto!important;
}

@media(max-width:900px){
    .home .hero-media{
        min-height:380px!important;
    }
    .home .hero-media img{
        height:100%!important;
        min-height:380px!important;
        width:auto!important;
        max-width:none!important;
        max-height:none!important;
    }
}


/* =========================
   Stable v0.2.5 hero image sizing correction
   ========================= */

/*
 * Keep the v0.2.4 portrait crop, but put the image back inside the
 * original cream hero box with visible cream above and below.
 */
@media(min-width:901px){
    .home .hero{
        min-height:520px!important;
    }

    .home .hero-media{
        height:520px!important;
        min-height:520px!important;
        padding:0!important;
        overflow:hidden!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        background:#e9e4d9!important;
    }

    .home .hero-media img{
        position:static!important;
        display:block!important;
        width:auto!important;
        height:460px!important;
        min-height:0!important;
        max-height:460px!important;
        max-width:none!important;
        object-fit:cover!important;
        object-position:center center!important;
        flex:0 0 auto!important;
    }
}

@media(max-width:900px){
    .home .hero-media{
        min-height:360px!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        background:#e9e4d9!important;
    }

    .home .hero-media img{
        width:auto!important;
        height:320px!important;
        min-height:0!important;
        max-height:320px!important;
        max-width:none!important;
        object-fit:cover!important;
        object-position:center center!important;
    }
}


/* =========================
   Stable v0.2.6
   Homepage hero background + Our Story reference layout
   ========================= */

/* Homepage: same hero height and image crop, but no darker cream media panel. */
@media(min-width:901px){
    .home .hero-media{
        height:520px!important;
        min-height:520px!important;
        padding:0!important;
        background:var(--paper)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
    }

    .home .hero-media img{
        width:auto!important;
        height:460px!important;
        min-height:0!important;
        max-height:460px!important;
        max-width:none!important;
        object-fit:cover!important;
        object-position:center center!important;
    }
}

@media(max-width:900px){
    .home .hero-media{
        background:var(--paper)!important;
    }
}

/* Our Story: match the supplied clean white editorial reference. */
.story-page-reference{
    background:#fff!important;
}

.story-page-reference .story-reading-reference{
    display:grid!important;
    grid-template-columns:150px minmax(0,760px)!important;
    justify-content:center!important;
    gap:58px!important;
    padding:120px clamp(28px,8vw,120px) 88px!important;
    background:#fff!important;
}

.story-page-reference .story-rail{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    align-self:start!important;
    border-right:1px solid var(--line)!important;
    padding-right:22px!important;
}

.story-page-reference .story-rail a{
    color:var(--brass)!important;
    font-family:"Arial Narrow",Impact,Arial,sans-serif!important;
    font-size:38px!important;
    line-height:1!important;
    font-weight:900!important;
}

.story-page-reference .story-rail small{
    margin:5px 0 28px!important;
    color:var(--muted)!important;
    font-size:11px!important;
    line-height:1.35!important;
}

.story-page-reference .story-reading-copy{
    max-width:760px!important;
}

.story-page-reference .story-reading-copy p{
    margin:0 0 28px!important;
    color:#5d6664!important;
    font-size:20px!important;
    line-height:1.72!important;
}

.story-page-reference .story-reading-copy .story-kicker{
    margin:0 0 20px!important;
    padding-top:6px!important;
    color:var(--teal)!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
}

.story-page-reference .story-reading-copy p + .story-kicker{
    margin-top:40px!important;
}

.story-page-reference .story-reading-copy h2{
    margin:0 0 24px!important;
    max-width:780px!important;
    color:var(--ink)!important;
    font-family:"Arial Narrow",Impact,Arial,sans-serif!important;
    font-size:clamp(56px,5.8vw,78px)!important;
    line-height:.84!important;
    letter-spacing:-.025em!important;
    text-transform:uppercase!important;
}

.story-page-reference .story-browse-link{
    display:inline-block!important;
    margin-top:14px!important;
    color:var(--teal)!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
}

@media(max-width:1050px){
    .story-page-reference .story-reading-reference{
        grid-template-columns:130px minmax(0,720px)!important;
        gap:38px!important;
    }
}

@media(max-width:780px){
    .story-page-reference .story-reading-reference{
        grid-template-columns:1fr!important;
        padding:70px 24px!important;
    }

    .story-page-reference .story-rail{
        display:none!important;
    }

    .story-page-reference .story-reading-copy h2{
        font-size:clamp(44px,12vw,66px)!important;
    }

    .story-page-reference .story-reading-copy p{
        font-size:18px!important;
    }
}
