/* Responsive scale and finishing details. Component sizes are design choices, not WCAG mandates. */
:root{--fin-space:8px;--fin-content:1200px}
body{font-size:16px;line-height:1.65}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}p{max-width:70ch}.container{width:min(var(--fin-content),calc(100% - 64px))}
.section{padding-block:56px}.section-top{padding-bottom:48px}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.14em;margin-bottom:16px}.section-heading{margin-bottom:26px;gap:24px;align-items:end}.section-heading h2,.fin-home-products .section-heading h2,.fin-category-section h2{font-size:clamp(28px,2.6vw,38px);line-height:1.15}
.announcement{font-size:12px;line-height:1.5;padding:7px 20px}.announcement span{font-size:10px}.site-header .header-row{min-height:72px}.wordmark{font-size:30px}.wordmark small{font-size:9px}.primary-navigation .menu>li>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.primary-navigation .sub-menu a{font-size:14px;min-height:44px;padding:10px 18px}.icon-button,.bag-link,.submenu-toggle{min-width:44px;min-height:44px}.header-search.fin-search-pinned{padding-block:8px}.fin-search-pinned .search-form{max-width:720px}.fin-search-pinned input{font-size:14px;min-height:44px}.fin-search-pinned .button{min-height:44px;font-size:13px;padding:10px 18px}
.hero.container{padding:60px max(32px,calc((100vw - 1200px)/2)) 54px;min-height:0;gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(36px,4vw,56px);line-height:1.08;margin-bottom:24px}.hero .hero-copy{padding-top:0}.hero .hero-description{font-size:16px;line-height:1.65;margin-bottom:24px}.hero .hero-art{height:430px;max-height:430px;aspect-ratio:auto}.hero .hero-footnote{display:block;font-size:10px;line-height:1.6;margin-top:24px;letter-spacing:.1em}.hero .art-caption{font-size:9px;padding:6px 8px}.hero .button-row{gap:12px;align-items:center}.hero .button,.hero .text-link{font-size:14px}
.fin-category-section{padding-block:40px 32px}.fin-category-cards{gap:16px}.fin-category-cards>a>div{aspect-ratio:1.15}.fin-category-cards>a>span{font-size:13px;line-height:1.5;align-items:start}.fin-category-cards small{font-size:11px;white-space:nowrap}.fin-home-products.section{padding-block:40px 48px}.fin-home-products .section-heading p:not(.eyebrow){font-size:15px;margin:12px 0 0}
.woocommerce ul.products{gap:28px 20px}.woocommerce ul.products li.product .woocommerce-loop-product__title,.product-card h3{font-size:20px;line-height:1.3;min-height:2.6em;padding:10px 0 8px}.woocommerce ul.products li.product .price,.price-row{font-size:15px;font-weight:600;margin-bottom:12px}.woocommerce ul.products li.product .button{font-size:13px;min-height:44px}.woocommerce ul.products li.product img{aspect-ratio:1;object-fit:contain}.card-meta{font-size:11px;line-height:1.5;gap:8px}.card-meta span,.card-meta time{font-size:11px}
.fin-shopping-guide{padding:32px;margin-block:24px 40px}.fin-shopping-guide h2{font-size:32px}.fin-shopping-guide>div{gap:28px}.fin-shopping-guide h3{font-size:22px;margin-block:16px 10px}.fin-shopping-guide p:not(.eyebrow){font-size:14px;line-height:1.7}.fin-shopping-guide article>span{font-size:12px}
.studio-split{margin-block:32px}.studio-split>img{min-height:0;max-height:430px;height:100%;object-fit:cover}.studio-split>div{padding:40px}.studio-split h2{font-size:36px}.studio-split p:not(.eyebrow){font-size:15px;line-height:1.7}
.story-grid{gap:24px}.story-card h3{font-size:24px;line-height:1.25;margin:14px 0 12px}.story-card>p{font-size:14px;line-height:1.7}.story-photo{aspect-ratio:4/3}.story-card>.text-link,.section-heading>.text-link,.fin-product-guidance>.text-link{font-size:13px}.story-card .card-meta{flex-wrap:wrap;margin-top:12px}
.page-intro{padding:48px 32px 42px;margin:24px 0 32px}.page-intro h1{font-size:clamp(32px,3.4vw,48px);line-height:1.12;margin-bottom:20px}.page-intro p{font-size:16px;line-height:1.65;margin-bottom:0}.page-intro .eyebrow{font-size:11px;margin-bottom:16px}.about-image img{width:100%;height:360px;max-height:360px;object-fit:cover;object-position:center 64%}.about-story{padding-block:48px;gap:48px}.about-story h2{font-size:34px}.prose{font-size:16px;line-height:1.8}.prose p{margin-bottom:20px}.values{padding-top:48px!important;padding-bottom:40px;gap:28px}.values h3{font-size:23px;line-height:1.25;margin:16px 0 12px}.values p{font-size:14px}.values article{border-top:0;padding-top:0}.values article>span{font-size:11px}
.values::before{height:15px;top:-7px;left:-3px;right:-3px;clip-path:none;border-radius:1px;background:linear-gradient(180deg,#961B28,#D83238 25%,#ED6068 38%,#C12633 65%,#851624);box-shadow:0 3px 6px #123d2d2b}.values::after{width:174px;height:94px;top:-43px;background-image:url('images/christmas-ribbon.svg');filter:drop-shadow(0 4px 2px #123d2d30)}
.closing-note{padding:48px 24px 65px}.closing-note p:not(.eyebrow){font-size:clamp(32px,3.6vw,46px);line-height:1.15;margin-bottom:24px}.site-footer{padding-top:40px}.site-footer h2{font:600 12px/1.5 var(--sans);letter-spacing:.1em}.site-footer p,.site-footer a:not(.wordmark),.footer-bottom{font-size:14px;line-height:1.7}.footer-grid{gap:28px}.footer-bottom{padding-block:20px}
.fin-shop-sidebar summary{font-size:22px}.fin-shop-filter-form>label,.fin-shop-filter-form legend,.fin-shop-filter-form select{font-size:14px}.fin-price-range label,.fin-filter-help{font-size:12px}.fin-price-range input{font-size:14px}.filter-chips a{font-size:13px;padding:9px 14px;min-height:40px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:14px}.woocommerce .woocommerce-ordering select{min-height:44px;font-size:14px}.woocommerce div.product .product_title{font-size:clamp(30px,3vw,42px);line-height:1.15}.woocommerce div.product .woocommerce-product-details__short-description,.fin-product-guidance p{font-size:15px}.woocommerce div.product form.cart select,.woocommerce .quantity .qty{min-height:44px;font-size:15px}.woocommerce div.product .woocommerce-product-gallery img{max-height:560px;object-fit:contain}.woocommerce div.product .woocommerce-tabs{font-size:15px}.fin-product-guidance details{padding-block:16px}.fin-product-guidance summary{font-size:15px;min-height:28px}.woocommerce div.product form.cart{gap:12px}.woocommerce-product-details__short-description p{line-height:1.7}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea,.woocommerce input.input-text{font-size:16px;min-height:44px}.contact-form label,.contact-details p{font-size:14px}.contact-form-panel h2,.contact-details h2,.contact-faq h2{font-size:30px}.contact-faq summary{font-size:16px;min-height:44px;padding-block:10px}.contact-faq p{font-size:15px}.contact-form-panel{padding:32px}.contact-faq{padding-top:40px}
@media(max-width:1000px){.primary-navigation .menu{gap:16px}.hero.container{gap:28px}.hero .hero-art{height:390px}.studio-split>div{padding:28px}.studio-split h2{font-size:32px}}
@media(max-width:900px){.site-header .header-row{min-height:64px}.primary-navigation .menu>li>a{display:flex}.hero.container{padding:44px 32px 48px}.hero h1{font-size:40px}.hero .hero-art{height:360px}.hero .hero-description{font-size:15px}.hero .button-row{gap:10px}.hero .button,.hero .text-link{padding-inline:16px;font-size:13px}.story-card h3{font-size:21px}.section{padding-block:40px}.about-story{gap:28px}.card-meta span,.card-meta time{font-size:10px}.fin-shopping-guide h2{font-size:28px}}
@media(max-width:650px){.container{width:calc(100% - 32px)}.site-header{position:relative;top:auto}.announcement{font-size:11px}.announcement span{display:none}.wordmark{font-size:26px}.primary-navigation .menu>li>a{font-size:15px}.header-search .container{width:calc(100% - 32px)}.fin-search-pinned input{font-size:14px;min-width:0}.fin-search-pinned .button{font-size:12px;padding-inline:14px}.hero.container{padding:42px 24px 44px;grid-template-columns:1fr;gap:24px}.hero h1{font-size:38px}.hero .hero-description{font-size:15px}.hero .hero-art{height:320px;width:100%;max-width:380px;margin-inline:auto}.hero .hero-footnote{margin-top:20px}.hero .art-caption{font-size:8px}.section-heading{align-items:start;gap:12px;flex-wrap:wrap}.section-heading h2,.fin-home-products .section-heading h2,.fin-category-section h2{font-size:28px}.fin-category-section,.fin-home-products.section{padding-block:28px}.fin-category-cards{gap:16px 12px}.fin-category-cards>a>span{flex-wrap:wrap;gap:4px;font-size:13px}.fin-category-cards small{font-size:11px}.woocommerce ul.products{gap:24px 12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 15px/1.4 var(--sans);min-height:2.8em}.woocommerce ul.products li.product .price{font-size:14px}.woocommerce ul.products li.product .button{font-size:12px;min-height:44px}.fin-shopping-guide{padding:24px 20px;margin-block:20px 28px}.fin-shopping-guide>div{gap:20px}.fin-shopping-guide h3{font-size:21px}.studio-split{display:block;margin-block:24px}.studio-split>img{height:280px;width:100%;object-fit:cover}.studio-split>div{padding:28px 24px}.studio-split h2{font-size:30px}.story-grid{grid-template-columns:1fr;gap:24px}.story-card h3{font-size:23px}.story-photo{aspect-ratio:3/2}.story-card .card-meta span,.story-card .card-meta time{font-size:11px}.page-intro{padding:40px 22px 32px;margin-block:20px 24px}.page-intro h1{font-size:32px}.page-intro p{font-size:15px}.about-image img{height:260px}.about-story{display:block;padding-block:32px}.about-story h2{font-size:28px;margin-bottom:24px}.prose{font-size:15px;line-height:1.75}.values{padding-top:46px!important;padding-bottom:28px;gap:26px}.values::after{width:145px;height:79px;top:-36px}.values h3{font-size:22px}.closing-note{padding:36px 20px 55px}.closing-note p:not(.eyebrow){font-size:32px}.footer-grid{gap:26px}.site-footer{padding-top:32px}.site-footer p,.site-footer a:not(.wordmark),.footer-bottom{font-size:13px}.fin-shop-layout{padding:16px}.woocommerce .woocommerce-result-count{font-size:13px}.woocommerce .woocommerce-ordering{width:100%}.woocommerce .woocommerce-ordering select{max-width:100%;width:100%}.woocommerce div.product .product_title{font-size:30px}.woocommerce div.product .woocommerce-product-gallery img{max-height:400px}.contact-form-panel{padding:24px 20px}.contact-details h2,.contact-form-panel h2{font-size:28px}.contact-layout{gap:28px}.fin-shop-sidebar{margin-bottom:20px}}
@media(max-width:360px){.hero h1{font-size:34px}.hero .button-row>a{width:100%}.hero .hero-art{height:280px}.woocommerce ul.products li.product .button{padding-inline:6px;font-size:11px}.fin-shop-filter-form{grid-template-columns:1fr}.section-heading>.text-link{margin-top:0}}
.woocommerce .woocommerce-products-header.page-intro h1{font-size:clamp(32px,3.4vw,48px)}
@media(max-width:650px){.hero.container{background-image:radial-gradient(circle at 22px 20px,#ffffffaa 1px,transparent 1.9px),radial-gradient(circle at 94px 97px,#ffffff60 1px,transparent 1.8px);background-size:160px 140px,230px 180px;background-repeat:repeat}.hero .hero-art{height:280px}.woocommerce .woocommerce-products-header.page-intro h1{font-size:32px}}
/* Editorial brand principles: a restrained, ceremonial hierarchy. */
.values{padding:60px 40px 48px!important;gap:0;text-align:center;background:var(--fin-snow)}
.values article{padding:0 30px;position:relative}.values article+article{border-left:1px solid #123d2d26}.values article>span{font:500 10px/1.7 var(--sans);letter-spacing:.16em;display:block;margin-bottom:22px;color:var(--fin-green)}
.values h3{font:400 clamp(25px,2.3vw,32px)/1.18 var(--serif);letter-spacing:-.025em;margin:0 0 20px}.values h3 em{font-weight:400}.values p{font:400 14px/1.85 var(--sans);color:var(--muted);max-width:31ch;margin:0 auto}
.values article::after{content:"";display:block;width:24px;height:1px;background:var(--fin-red);margin:24px auto 0}
@media(max-width:900px){.values{padding-inline:16px!important}.values article{padding-inline:18px}.values h3{font-size:26px}.values article>span{font-size:9px;letter-spacing:.1em}.values p{font-size:13px}}
@media(max-width:650px){.values{padding:52px 24px 32px!important;gap:28px}.values article{padding:0 0 28px}.values article+article{border-left:0;border-top:1px solid #123d2d20;padding-top:28px}.values article:last-child{padding-bottom:0}.values h3{font-size:28px}.values article>span{font-size:10px;margin-bottom:16px}.values p{font-size:14px;max-width:34ch}.values article::after{margin-top:18px}}
/* Seven useful categories: balanced grid instead of an overcrowded single row. */
.fin-category-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.fin-category-cards>a>span{flex-wrap:wrap;align-items:start;gap:4px 10px}.primary-navigation .sub-menu{min-width:255px;max-height:calc(100vh - 180px);overflow-y:auto}.primary-navigation .sub-menu a{white-space:normal;line-height:1.45}
@media(max-width:900px){.fin-category-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.fin-category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.primary-navigation .sub-menu{max-height:none;min-width:0;overflow:visible}}
/* Quiet announcement: one message, restrained festive accents. */
.announcement,.fin-festive .announcement{display:flex;align-items:center;justify-content:center;gap:14px;min-height:36px;padding:8px 24px;background:var(--fin-green)!important;background-image:none!important;color:var(--fin-snow);border-bottom:1px solid #ffffff26;font:400 12px/1.5 var(--sans);letter-spacing:.045em;text-align:center}
.announcement::before,.announcement::after{content:"";display:block;flex:0 0 5px;width:5px;height:5px;background:var(--fin-red);transform:rotate(45deg)}
.site-header{border-top:0}
@media(max-width:650px){.announcement,.fin-festive .announcement{min-height:34px;padding:7px 16px;font-size:11px;gap:10px;letter-spacing:.02em}.announcement::before,.announcement::after{flex-basis:4px;width:4px;height:4px}}
