/* Library 1.3. Add once alongside Northcode Starter 1.4; do not replace tokens.css. */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap');
.ncl-skin{--ncl-panel:var(--c-surface);font-family:var(--font-body);color:var(--c-text);background:var(--c-bg)}
.ncl-skin.ncl-north{--c-ink:#171717;--c-brand:#353535;--c-accent:#ff6418;--c-bg:#fff;--c-surface:#fff;--c-soft:#f4f4f2;--c-text:#444;--font-head:'Outfit',Arial,sans-serif;--font-body:'Outfit',Arial,sans-serif;--radius-btn:0px;--e-global-color-primary:#171717;--e-global-color-secondary:#353535;--e-global-color-text:#444;--e-global-color-accent:#ff6418;--e-global-typography-primary-font-family:'Outfit';--e-global-typography-text-font-family:'Outfit'}
.ncl-skin.ncl-forno{--c-ink:#17392e;--c-brand:#496448;--c-accent:#d34229;--c-bg:#fff8ec;--c-surface:#fff8ec;--c-soft:#f2e7d3;--c-text:#485348;--font-head:Georgia,'Times New Roman',serif;--font-body:'Outfit',Arial,sans-serif;--radius-btn:6px;--e-global-color-primary:#17392e;--e-global-color-secondary:#496448;--e-global-color-text:#485348;--e-global-color-accent:#d34229;--e-global-typography-primary-font-family:Georgia;--e-global-typography-text-font-family:'Outfit'}
.ncl-skin{--c-heading:var(--c-ink);--c-line:color-mix(in srgb,var(--c-ink) 15%,var(--c-bg));--c-muted:color-mix(in srgb,var(--c-ink) 65%,var(--c-bg));--c-link:var(--c-ink);--c-on-accent:#fff;--e-global-typography-primary-font-weight:600}
/* 1.5.1: system.css derives these on <body> from the SITE globals; a custom property resolves where it is declared,
   so inside a skin they kept the site's colours. Re-derive them here so each skin (or the site, without a brand class) is used. */
.ncl-skin{--c-eyebrow:var(--c-link);--c-field:color-mix(in srgb,var(--c-ink) 60%,var(--c-bg));--c-focus:var(--c-ink);--gradient:var(--gradient-custom,linear-gradient(160deg,var(--c-brand) 0%,var(--c-ink) 70%));--ghost-hover-text:var(--c-surface);--light-hover-fill:color-mix(in srgb,#fff 88%,var(--c-ink));--light-hover-text:var(--c-ink);--shadow:0 1px 2px color-mix(in srgb,var(--c-ink) 6%,transparent),0 8px 24px color-mix(in srgb,var(--c-ink) 8%,transparent)}
.ncl-skin .elementor-heading-title{font-family:var(--font-head);color:var(--c-heading)}.ncl-skin .elementor-widget-text-editor{font-family:var(--font-body);color:inherit}.ncl-skin .e-con{min-width:0}.ncl-skin .elementor-widget-button{width:auto}.ncl-skin .ncl-wordmark .elementor-heading-title{font-family:var(--font-body);font-size:1.5rem;letter-spacing:.16em}.ncl-forno .ncl-wordmark .elementor-heading-title{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.04em}
.ncl-skin .ncl-header{justify-content:space-between;gap:var(--sp-m);padding-block:var(--sp-m)}.ncl-skin .ncl-header>.elementor-widget{width:auto;max-width:100%}.ncl-skin .ncl-header>.ncl-menu{flex:1}.ncl-skin .ncl-menu .elementor-nav-menu a{font-family:var(--font-body);color:inherit;font-size:var(--fs-small)}.ncl-skin .ncl-icons{gap:var(--sp-xs)}.ncl-skin .ncl-header-icon .elementor-icon{font-size:24px;color:inherit}.ncl-skin .ncl-search{min-width:0;max-width:320px}.ncl-skin .ncl-announcement{background:var(--c-accent);color:var(--c-ink);text-align:center;padding:var(--sp-2xs) var(--sp-s)}.ncl-forno .ncl-announcement{color:#fff8ec}
.ncl-skin .ncl-image img{display:block;width:100%;height:auto;object-fit:cover}.ncl-skin .ncl-split>.ncl-image img{height:clamp(250px,35vw,440px)}.ncl-skin .ncl-split-copy{padding:var(--sp-l)}.ncl-skin .ncl-photo-hero{color:#fff;justify-content:center}.ncl-skin .ncl-photo-hero .elementor-heading-title,.ncl-skin .ncl-photo-hero p{color:#fff}.ncl-skin .ncl-accent-panel{background:var(--c-accent);color:var(--c-ink)}.ncl-forno .ncl-accent-panel,.ncl-forno .ncl-accent-panel .elementor-heading-title{color:#fff8ec}
.ncl-skin .ncl-editorial-heading{justify-content:space-between;align-items:center}.ncl-skin .ncl-footer-main,.ncl-skin .ncl-contact-footer{padding-block:var(--sp-xl)}.ncl-skin .ncl-footer-bottom{justify-content:space-between;border-top:1px solid var(--c-line);padding-block:var(--sp-s)}.ncl-skin .ncl-footer-inline{justify-content:space-between;padding-block:var(--sp-l)}.ncl-skin .ncl-footer-subscribe{padding-block:var(--sp-l);border-bottom:1px solid var(--c-line)}.ncl-skin .ncl-word-strip{justify-content:space-around;flex-wrap:wrap;padding-block:var(--sp-l);border-block:1px solid var(--c-line)}.ncl-skin .ncl-feature-icon .elementor-icon{font-size:26px;color:var(--c-ink)}
.ncl-skin .ncl-shop-sidebar{display:grid;grid-template-columns:minmax(180px,24%) minmax(0,1fr);gap:var(--sp-xl)}.ncl-skin .ncl-filter-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-m)}.ncl-skin .ncl-shop-grid{min-width:0}.ncl-skin .ncl-products ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-m);margin:0}.ncl-skin .ncl-products ul.products::before,.ncl-skin .ncl-products ul.products::after{display:none}.ncl-skin .ncl-products ul.products li.product{float:none;width:auto!important;margin:0!important}.ncl-skin .nc-carousel-track .ncl-products ul.products{grid-template-columns:1fr}.ncl-skin .ncl-arrows .elementor-icon{font-size:20px;color:var(--c-ink);border:1px solid var(--c-line);border-radius:50%;padding:12px}
.ncl-skin .bg-ink,.ncl-skin .on-dark{--c-heading:var(--c-surface);--c-text:var(--c-surface);color:var(--c-surface)}.ncl-skin .bg-ink .elementor-heading-title,.ncl-skin .bg-ink .elementor-icon,.ncl-skin .bg-ink .elementor-nav-menu a{color:var(--c-surface)}
@media(max-width:767px){.ncl-skin .ncl-shop-sidebar{grid-template-columns:1fr}.ncl-skin .ncl-filter-toolbar{grid-template-columns:1fr 1fr}.ncl-skin .ncl-header{gap:var(--sp-s)}.ncl-skin .ncl-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.ncl-skin .ncl-split-copy{padding:var(--sp-m)}.ncl-skin .ncl-header>.ncl-search{width:100%;max-width:none;order:3}.ncl-skin .ncl-footer-main{grid-template-columns:1fr}.ncl-skin .ncl-shop-filters{padding-bottom:var(--sp-m);border-bottom:1px solid var(--c-line)}}
/* Editable cards and native WooCommerce galleries. */
.ncl-skin.shop-card{min-width:0;overflow-wrap:anywhere}
.ncl-skin .ncl-product-image img{aspect-ratio:3/4;object-fit:cover}
.ncl-skin.ncl-card-framed{padding:var(--sp-m);border:1px solid var(--c-line);background:var(--c-soft)}
.ncl-skin .ncl-card-heading{align-items:flex-start;justify-content:space-between;gap:var(--sp-s)}
.ncl-skin .ncl-card-price,.ncl-skin .ncl-card-price .price{font-family:var(--font-body);font-size:var(--fs-body);font-weight:500;color:var(--c-ink);margin:0}
.ncl-skin.shop-card.ncl-card-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;gap:var(--sp-m)}
.ncl-skin .card-body{min-width:0;height:100%}
.ncl-skin.ncl-service-card{padding:var(--sp-l);border:1px solid var(--c-line)}
.ncl-skin .ncl-service-number .elementor-heading-title{font-size:var(--fs-h2);color:var(--c-muted)}
.ncl-skin.ncl-service-card .ncl-image img{aspect-ratio:3/2}
.ncl-skin .ncl-gallery-framed,.ncl-skin.ncl-gallery-framed{padding:var(--sp-m);border:1px solid var(--c-line);background:var(--c-soft)}
.ncl-skin .ncl-native-product-gallery{min-width:0;max-width:100%}
.ncl-skin .ncl-native-product-gallery .woocommerce-product-gallery{float:none;width:100%;margin:0}
.ncl-skin .ncl-faq .elementor-accordion-item{border:0;border-bottom:1px solid var(--c-line)}
.ncl-skin .ncl-faq .elementor-tab-title{font-family:var(--font-head);color:var(--c-ink);padding:var(--sp-m) 0}
.ncl-skin .ncl-faq .elementor-tab-content{border:0;padding:0 0 var(--sp-m);color:var(--c-text)}
.ncl-skin .ncl-clean-arrow .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:12px;border:1px solid var(--c-line);border-radius:50%;font-size:18px;color:var(--c-ink);background:transparent;box-sizing:border-box;transition:background .2s,color .2s}
.ncl-skin .ncl-clean-arrow .elementor-icon:hover{background:var(--c-ink);color:var(--c-bg)}
.ncl-skin .ncl-clean-arrow .elementor-icon:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
@media(max-width:767px){.ncl-skin.ncl-service-card{padding:var(--sp-m)}.ncl-skin .ncl-card-heading{flex-wrap:wrap}}
.ncl-skin .ncl-product-title .elementor-heading-title{font-family:var(--font-head);font-weight:500}
.ncl-skin .ncl-product-link .elementor-button{padding:10px 0 5px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--c-ink);font-size:var(--fs-small);box-shadow:none}
.ncl-skin .ncl-product-link .elementor-button:hover{color:var(--c-accent)}
.ncl-skin.ncl-card-framed{background:var(--c-bg)}
.ncl-skin .ncl-card-heading{flex-direction:column;align-items:flex-start;gap:var(--sp-xs)}
.ncl-skin.ncl-forno .ncl-product-image img{aspect-ratio:1}

/* Utility retail header correction. Native controls also set row/nowrap. */
.ncl-skin.ncl-utility-header{position:relative;gap:0;--gap:0;overflow:visible}
.ncl-skin.ncl-utility-header .ncl-utility.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--sp-m);padding:var(--sp-s) var(--gutter);background:var(--c-soft)}
.ncl-skin.ncl-utility-header .ncl-utility>.elementor-widget{width:auto;flex:0 1 auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-utility p{margin:0}
.ncl-skin.ncl-utility-header .ncl-header.e-con{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-m);padding:var(--sp-l) var(--gutter)}
.ncl-skin.ncl-utility-header .ncl-header>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-header>.ncl-icons.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;justify-self:end;justify-content:flex-end;align-items:center;width:auto;--width:auto;flex:0 0 auto;padding:0;gap:var(--sp-s)}
.ncl-skin.ncl-utility-header .ncl-icons>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-menu .elementor-nav-menu--main>.elementor-nav-menu{justify-content:center}
.ncl-skin.ncl-utility-header .ncl-search-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:10px;background:transparent;color:var(--c-ink);border:0;border-radius:0;cursor:pointer;line-height:1}
.ncl-skin.ncl-utility-header .ncl-search-icon svg{display:block;flex:none}
.ncl-skin.ncl-utility-header .ncl-search-icon:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.ncl-skin.ncl-utility-header .ncl-cart .elementor-menu-cart__toggle_button{border:0;padding:10px;background:transparent;color:var(--c-ink);box-shadow:none}
.ncl-skin.ncl-utility-header .ncl-cart .elementor-button-icon{color:var(--c-ink)}
.ncl-skin.ncl-utility-header .ncl-search-panel.e-con{display:none;position:absolute;top:100%;right:var(--gutter);width:min(360px,calc(100% - 2 * var(--gutter)));padding:var(--sp-m);background:var(--c-bg);border:1px solid var(--c-line);z-index:100}
.ncl-skin.ncl-utility-header .ncl-search-panel.is-open.e-con{display:flex}
.ncl-skin.ncl-utility-header .ncl-search-panel .ncl-search{width:100%;max-width:none}
@media(max-width:767px){.ncl-skin.ncl-utility-header .ncl-header.e-con{grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-xs);padding-block:var(--sp-m)}.ncl-skin.ncl-utility-header .ncl-utility{font-size:var(--fs-small)}.ncl-skin.ncl-utility-header .ncl-wordmark .elementor-heading-title{font-size:1.2rem}.ncl-skin.ncl-utility-header .ncl-header>.ncl-icons.e-con{gap:0}}

/* ── 1.5.1 Shop header variants: all NORTH/FORNO headers now share the approved Utility Retail structure ──
   Root: ncl-skin ncl-<brand> ncl-component ncl-utility-header + one ncl-hv-* variant. Rows set their own gutter.
   Tablet/mobile swaps use Elementor's native "Hide on" controls, so this file never sets display on hidden parts. */
.ncl-skin .ncl-menu .elementor-nav-menu a{text-decoration:none}
.ncl-skin .ncl-menu .elementor-menu-toggle{--nav-menu-icon-color:var(--c-heading);color:var(--c-heading);background:transparent}
.ncl-skin.ncl-utility-header .ncl-header-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--c-heading);text-decoration:none}
.ncl-skin.ncl-utility-header .ncl-header-link svg{display:block;flex:none}
.ncl-skin.ncl-utility-header .ncl-header-link:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.ncl-skin.ncl-utility-header .ncl-nav-row.e-con{flex-direction:row;align-items:center;padding:var(--sp-s) var(--gutter);border-top:1px solid var(--c-line)}
.ncl-skin.ncl-utility-header .ncl-nav-row>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header:is(.ncl-hv-centred,.ncl-hv-dark) .ncl-nav-row.e-con{justify-content:center}
.ncl-skin.ncl-utility-header:is(.ncl-hv-centred,.ncl-hv-dark) .ncl-nav-row .elementor-nav-menu--main>.elementor-nav-menu{justify-content:center}
.ncl-skin.ncl-utility-header .ncl-announcement.e-con{flex-direction:row;justify-content:center;padding:var(--sp-2xs) var(--gutter)}
.ncl-skin.ncl-utility-header .ncl-announcement>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-announcement p{margin:0}
.ncl-skin.ncl-utility-header .ncl-header>.ncl-wordmark{justify-self:start}
.ncl-skin.ncl-utility-header.ncl-hv-centred .ncl-header>.ncl-wordmark{justify-self:center}
.ncl-skin.ncl-utility-header.ncl-hv-centred .ncl-header>.ncl-header-start.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-self:start;width:auto;--width:auto;padding:0;gap:var(--sp-xs)}
.ncl-skin.ncl-utility-header.ncl-hv-centred .ncl-header-start>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header.ncl-hv-search .ncl-header.e-con{grid-template-columns:minmax(0,1fr) minmax(0,26rem) minmax(0,1fr)}
.ncl-skin.ncl-utility-header.ncl-hv-search .ncl-header>.ncl-search-inline{order:0;width:100%;max-width:none;justify-self:stretch}
.ncl-skin.ncl-utility-header.ncl-hv-dark .ncl-dark-band.e-con{gap:0;padding:0}
.ncl-skin.ncl-utility-header.ncl-hv-dark :is(.ncl-search-icon,.ncl-cart .elementor-menu-cart__toggle_button,.ncl-cart .elementor-button-icon){color:var(--c-heading)}
.ncl-skin.ncl-utility-header.ncl-hv-dark .ncl-search :is(input[type="search"],input[type="text"]){background:transparent;color:var(--c-heading);border-color:var(--c-line)}
.ncl-skin.ncl-utility-header.ncl-hv-dark .ncl-search ::placeholder{color:var(--c-muted)}
.ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-header>.elementor-widget-button{justify-self:end}
@media(max-width:1024px){
 .ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-header.e-con{grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-s)}
 .ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-header>.elementor-widget-button{grid-column:2;grid-row:1}
 .ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-header>.ncl-menu{grid-column:3;grid-row:1;justify-self:end}
}
@media(max-width:767px){
 .ncl-skin.ncl-utility-header.ncl-hv-centred .ncl-header.e-con{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .ncl-skin.ncl-utility-header.ncl-hv-search .ncl-header.e-con{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--sp-s)}
 .ncl-skin.ncl-utility-header.ncl-hv-search .ncl-header>.ncl-search-inline{grid-column:1/-1;grid-row:2}
 .ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-header>.elementor-widget-button .elementor-button{padding:var(--sp-xs) var(--sp-s);font-size:var(--fs-small)}
}

/* ── 1.5.1 Outline icon family inside functional widgets, drawn with CSS masks ──
   No SVG uploads needed: Pro's default burger/close, Menu Cart icon and the carousel arrows (Font Awesome)
   are hidden and the matching nc-* outline icon is drawn in currentColor. Bubble, links and behaviour unchanged. */
.ncl-skin{--nc-i-basket:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 9h18l-2 11H5L3 9Zm4 0 5-6 5 6M8 13l1 4m3-4v4m4-4-1 4%22/%3E%3C/svg%3E");--nc-i-menu:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 5h18M3 12h18M3 19h18%22/%3E%3C/svg%3E");--nc-i-close:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 5 14 14M19 5 5 19%22/%3E%3C/svg%3E");--nc-i-arrow-left:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 12H4m7-7-7 7 7 7%22/%3E%3C/svg%3E");--nc-i-arrow-right:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12h16m-7-7 7 7-7 7%22/%3E%3C/svg%3E")}
.ncl-skin .ncl-cart .elementor-menu-cart__toggle .elementor-button-icon>:is(svg,i){display:none}
.ncl-skin .ncl-cart .elementor-menu-cart__toggle .elementor-button-icon::before{content:"";display:block;width:24px;height:24px;background:currentColor;-webkit-mask:var(--nc-i-basket) center/contain no-repeat;mask:var(--nc-i-basket) center/contain no-repeat}
.ncl-skin .ncl-menu .elementor-menu-toggle{width:44px;height:44px;padding:0;border-radius:0}
.ncl-skin .ncl-menu .elementor-menu-toggle>:is(svg,i,span:not(.elementor-screen-only)){display:none}
.ncl-skin .ncl-menu .elementor-menu-toggle::before{content:"";display:block;width:24px;height:24px;background:currentColor;-webkit-mask:var(--nc-i-menu) center/contain no-repeat;mask:var(--nc-i-menu) center/contain no-repeat}
.ncl-skin .ncl-menu .elementor-menu-toggle.elementor-active::before{-webkit-mask-image:var(--nc-i-close);mask-image:var(--nc-i-close)}
.ncl-skin .elementor-widget-icon:is(.nc-carousel-prev,.nc-carousel-next) .elementor-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:0;border:1px solid var(--c-line);border-radius:50%;font-size:20px;color:var(--c-ink);background:transparent;transition:background .2s,color .2s,border-color .2s}
.ncl-skin .elementor-widget-icon:is(.nc-carousel-prev,.nc-carousel-next) .elementor-icon>:is(svg,i){display:none}
.ncl-skin .elementor-widget-icon:is(.nc-carousel-prev,.nc-carousel-next) .elementor-icon::before{content:"";display:block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--nc-i-arrow-left) center/contain no-repeat;mask:var(--nc-i-arrow-left) center/contain no-repeat}
.ncl-skin .elementor-widget-icon.nc-carousel-next .elementor-icon::before{-webkit-mask-image:var(--nc-i-arrow-right);mask-image:var(--nc-i-arrow-right)}
.ncl-skin .elementor-widget-icon:is(.nc-carousel-prev,.nc-carousel-next) .elementor-icon:is(:hover,:focus-visible){background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg)}
.ncl-skin .elementor-widget-icon:is(.nc-carousel-prev,.nc-carousel-next) .elementor-icon:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.ncl-skin .ncl-arrows.e-con{gap:var(--sp-xs)}
/* 1.5.1: left-aligned second nav row lines up with the wordmark (Pro pads every link 20px); Studio wordmark fits on phones. */
.ncl-skin.ncl-utility-header .ncl-nav-row .elementor-nav-menu--main>.elementor-nav-menu>li:first-child>a{padding-inline-start:0}
.ncl-skin.ncl-utility-header:is(.ncl-hv-centred,.ncl-hv-dark) .ncl-nav-row .elementor-nav-menu--main>.elementor-nav-menu>li:first-child>a{padding-inline-start:20px}
@media(max-width:767px){.ncl-skin.ncl-utility-header .ncl-header>.ncl-wordmark{min-width:0}.ncl-skin.ncl-utility-header.ncl-hv-studio .ncl-wordmark .elementor-heading-title{font-size:1.05rem;letter-spacing:.08em}}

/* ── NORTH v2 "studio" direction (draft) ───────────────────────────────────────────
   The page uses the photography's studio grey as its ground, so models and garments bleed into the page.
   One bold element per section (product-led display type); no caps labels, eyebrows or arrow links.
   Opt in with ncl-v2 on the component root; ncl-v2-studio sets the grey ground. Sizes/spacing stay on Starter tokens. */
.ncl-skin.ncl-north.ncl-v2{--ncl-studio:#e6e7e9;--c-muted:#6b6862;--c-line:#d4d5d8}
.ncl-skin.ncl-v2.ncl-v2-studio{background:var(--ncl-studio)}
.ncl-skin.ncl-v2 .ncl-v2-display .elementor-heading-title{font-weight:500;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.ncl-skin.ncl-v2 .ncl-v2-link .elementor-button{background:none;border:0;border-radius:0;padding:var(--sp-2xs) 0;color:var(--c-ink);font-family:var(--font-body);font-size:var(--fs-body);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}
.ncl-skin.ncl-v2 .ncl-v2-link .elementor-button:hover{text-decoration-thickness:2px}
.ncl-skin.ncl-v2 .ncl-v2-link .elementor-button::after{content:none}
.ncl-skin.ncl-v2 .ncl-v2-photo img{display:block;width:100%;height:auto}
/* Hero: photo anchored to the bottom edge of the studio field, copy beside it */
.ncl-skin.ncl-v2.ncl-v2-hero{padding-block-start:var(--sp-xl)}
.ncl-skin.ncl-v2 .ncl-v2-hero-grid.e-con>.e-con-inner{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:end;gap:var(--sp-2xl)}
.ncl-skin.ncl-v2 .ncl-v2-hero-photo .ncl-v2-photo img{max-height:min(80vh,820px);object-fit:cover;object-position:center top;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ncl-skin.ncl-v2 .ncl-v2-hero-copy.e-con{align-self:center;padding-block:var(--sp-2xl)}
.ncl-skin.ncl-v2 .ncl-v2-price .elementor-heading-title{font-weight:400;letter-spacing:-.01em}
/* Range: every piece as one contact sheet on the studio grey; the whole tile is the link */
.ncl-skin.ncl-v2.ncl-v2-range{background:var(--c-surface)}
.ncl-skin.ncl-v2 .ncl-v2-range-head>.elementor-widget{width:auto;--container-widget-width:auto}
.ncl-skin.ncl-v2 .ncl-v2-sheet.e-con{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.ncl-skin.ncl-v2 .ncl-v2-tile.e-con{position:relative;background:var(--ncl-studio);padding:0;gap:0;overflow:hidden}
.ncl-skin.ncl-v2 .ncl-v2-tile .ncl-v2-photo img{aspect-ratio:4/5;object-fit:cover}
.ncl-skin.ncl-v2 .ncl-v2-tile-caption.e-con{position:static;padding:0 var(--sp-m) var(--sp-m);gap:0}
.ncl-skin.ncl-v2 .ncl-v2-tile-name .elementor-heading-title{font-family:var(--font-body);font-size:var(--fs-body);font-weight:500;letter-spacing:0;line-height:1.3}
.ncl-skin.ncl-v2 .ncl-v2-tile-name a{color:var(--c-ink);text-decoration:none}
.ncl-skin.ncl-v2 .ncl-v2-tile-name a::after{content:"";position:absolute;inset:0}
.ncl-skin.ncl-v2 .ncl-v2-tile-name a:focus-visible{outline:none}
.ncl-skin.ncl-v2 .ncl-v2-tile:has(a:focus-visible){outline:2px solid var(--c-ink);outline-offset:-2px}
.ncl-skin.ncl-v2 .ncl-v2-tile-caption p{margin:0;color:var(--c-ink)}
.ncl-skin.ncl-v2 .ncl-v2-colours{margin-inline-start:.6em;color:var(--c-muted)}
/* Fit notes */
.ncl-skin.ncl-v2.ncl-v2-fitnotes{background:var(--c-surface)}
.ncl-skin.ncl-v2 .ncl-v2-fit-grid.e-con>.e-con-inner{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}
.ncl-skin.ncl-v2 .ncl-v2-fit{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--sp-s) var(--sp-m);margin:0}
.ncl-skin.ncl-v2 .ncl-v2-fit dt{font-weight:500;color:var(--c-ink)}
.ncl-skin.ncl-v2 .ncl-v2-fit dd{margin:0}
/* Footer: link columns over a full-width wordmark, back on the studio grey */
.ncl-skin.ncl-v2.ncl-v2-footer{background:var(--ncl-studio)}
.ncl-skin.ncl-v2 .ncl-v2-foothead .elementor-heading-title{font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;letter-spacing:0;color:var(--c-ink)}
.ncl-skin.ncl-v2 .ncl-v2-footlist ul{list-style:none;margin:0;padding:0}
.ncl-skin.ncl-v2 :is(.ncl-v2-footlist,.ncl-v2-legal-links) a{color:var(--c-text);text-decoration:none}
.ncl-skin.ncl-v2 :is(.ncl-v2-footlist,.ncl-v2-legal-links) a:hover{color:var(--c-ink);text-decoration:underline;text-underline-offset:.25em}
.ncl-skin.ncl-v2 .ncl-v2-legal-links a+a{margin-inline-start:var(--sp-m)}
.ncl-skin.ncl-v2.ncl-v2-footer .e-con-inner{container-type:inline-size}
.ncl-skin.ncl-v2 .ncl-v2-bigmark{overflow:hidden}
.ncl-skin.ncl-v2 .ncl-v2-bigmark .elementor-heading-title{font-family:var(--font-head);font-size:clamp(4.5rem,20vw,17.5rem);font-size:28cqi;font-weight:600;letter-spacing:-.045em;line-height:.78;color:var(--c-ink);margin-inline-start:-.05em}
.ncl-skin.ncl-v2 .ncl-v2-legal.e-con{gap:var(--sp-s)}
@media(max-width:767px){
 .ncl-skin.ncl-v2 :is(.ncl-v2-hero-grid,.ncl-v2-fit-grid).e-con>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:0 var(--sp-l)}
 .ncl-skin.ncl-v2 .ncl-v2-fit-grid.e-con>.e-con-inner{gap:var(--sp-l)}
 .ncl-skin.ncl-v2.ncl-v2-hero{padding-block-start:0}
 .ncl-skin.ncl-v2 .ncl-v2-hero-photo .ncl-v2-photo img{max-height:62vh}
 .ncl-skin.ncl-v2 .ncl-v2-hero-copy.e-con{padding-block:var(--sp-l) var(--sp-xl)}
 .ncl-skin.ncl-v2 .ncl-v2-sheet.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ncl-skin.ncl-v2 .ncl-v2-tile-caption.e-con{padding:0 var(--sp-s) var(--sp-s)}
 .ncl-skin.ncl-v2 .ncl-v2-colours{display:none}
 .ncl-skin.ncl-v2 .ncl-v2-footcols.e-con>.e-con-inner,.ncl-skin.ncl-v2 .ncl-v2-footcols.e-con:not(.e-con-boxed){grid-template-columns:repeat(2,minmax(0,1fr))}
}
