/* Display font is loaded in functions.php for better performance. */

@theme {
	--color-ink: #1f1a17;
	--color-cream: #f7f2ec;
	--color-paper: #fffdf9;
	--color-rose: #b9897e;
	--color-rose-soft: #eadad3;
	--color-taupe: #8c7b70;
	--color-line: #ded4cc;
	--font-display: "Instrument Serif", Georgia, serif;
	--font-sans: "DM Sans", system-ui, sans-serif;
}

:root {
	--ds-ink: #1f1a17;
	--ds-cream: #f7f2ec;
	--ds-paper: #fffdf9;
	--ds-rose: #b9897e;
	--ds-rose-soft: #eadad3;
	--ds-taupe: #8c7b70;
	--ds-line: #ded4cc;
	--ds-white: #ffffff;
	--ds-shadow: 0 22px 60px rgba(42, 30, 23, .10);
	--ds-display: "Instrument Serif", Georgia, serif;
	--ds-sans: "DM Sans", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.dreamy-styles-site {
	margin: 0;
	background: var(--ds-paper);
	color: var(--ds-ink);
	font-family: var(--ds-sans);
	font-size: 15px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { 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; }
.ds-shell { width: min(1600px, calc(100% - 96px)); margin-inline: auto; }

.ds-announcement { background: var(--ds-ink); color: #fff; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.ds-announcement-inner { min-height: 34px; display:flex; align-items:center; justify-content:center; gap:18px; }
.ds-announcement-dot { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.55); }
.ds-announcement-hide { opacity:.72; }

.ds-site-header { position: sticky; top:0; z-index:60; background:rgba(255,253,249,.95); backdrop-filter:blur(14px); border-bottom:1px solid rgba(222,212,204,.85); }
.ds-header-row { min-height:88px; display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:30px; }
.ds-brand { grid-column:2; text-decoration:none; text-align:center; display:flex; flex-direction:column; align-items:center; line-height:1; }
.ds-brand-name { font-family:var(--ds-display); font-size:30px; letter-spacing:.02em; }
.ds-brand-sub { margin-top:7px; font-size:8px; letter-spacing:.28em; color:var(--ds-taupe); }
.ds-main-nav { grid-column:1; grid-row:1; }
.ds-nav-list { list-style:none; display:flex; gap:24px; align-items:center; margin:0; padding:0; }
.ds-nav-list li { margin:0; }
.ds-nav-list a { position:relative; text-decoration:none; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.ds-nav-list a:after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--ds-ink); transition:right .25s ease; }
.ds-nav-list a:hover:after { right:0; }
.ds-header-actions { grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; gap:20px; }
.ds-header-link { text-decoration:none; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.ds-wa-icon { width:42px; height:42px; border:1px solid var(--ds-line); border-radius:50%; display:grid; place-items:center; transition:.25s ease; }
.ds-wa-icon:hover { background:var(--ds-ink); color:#fff; border-color:var(--ds-ink); }
.ds-wa-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
.ds-menu-toggle { display:none; border:0; padding:10px; background:transparent; width:42px; height:42px; }
.ds-menu-toggle span:not(.screen-reader-text) { display:block; height:1px; background:var(--ds-ink); margin:5px 0; width:20px; }
.ds-mobile-nav { display:none; border-top:1px solid var(--ds-line); background:var(--ds-paper); }
.ds-mobile-nav.is-open { display:block; }
.ds-mobile-nav-list, .ds-mobile-nav .ds-nav-list { list-style:none; padding:22px 0 8px; margin:0; display:block; }
.ds-mobile-nav-list a, .ds-mobile-nav .ds-nav-list a { display:block; padding:11px 0; text-decoration:none; font-family:var(--ds-display); font-size:25px; text-transform:none; letter-spacing:0; }
.ds-mobile-nav .ds-nav-list a:after { display:none; }
.ds-mobile-cart { display:block; margin:12px 0 8px; padding:13px 18px; border:1px solid var(--ds-ink); color:var(--ds-ink); text-align:center; text-decoration:none; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.ds-mobile-wa { display:block; margin:8px 0 24px; padding:14px 18px; background:var(--ds-ink); color:#fff; text-align:center; text-decoration:none; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }

.ds-hero { position:relative; overflow:hidden; background:var(--ds-cream); min-height:720px; display:flex; align-items:stretch; }
.ds-hero-grid { width:100%; display:grid; grid-template-columns: 43% 57%; }
.ds-hero-copy { padding:90px clamp(48px, 5vw, 110px) 84px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.ds-kicker, .ds-eyebrow { margin:0 0 18px; color:var(--ds-rose); font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.ds-hero h1 { margin:0; max-width:720px; font-family:var(--ds-display); font-size:clamp(58px, 5vw, 96px); font-weight:400; line-height:.93; letter-spacing:-.045em; }
.ds-hero h1 em { color:var(--ds-rose); font-weight:400; }
.ds-hero-lede { max-width:560px; margin:28px 0 0; color:#695d56; font-size:17px; line-height:1.8; }
.ds-hero-actions { display:flex; align-items:center; gap:12px; margin-top:34px; flex-wrap:wrap; }
.ds-btn { min-height:52px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:1px solid var(--ds-ink); font-size:10px; font-weight:600; letter-spacing:.10em; text-transform:uppercase; transition:.25s ease; }
.ds-btn-dark { background:var(--ds-ink); color:#fff; }
.ds-btn-dark:hover { background:#3a302b; border-color:#3a302b; }
.ds-btn-light { background:transparent; color:var(--ds-ink); }
.ds-btn-light:hover { background:#fff; }
.ds-hero-note { margin-top:28px; color:var(--ds-taupe); font-size:11px; letter-spacing:.02em; }
.ds-hero-visual { position:relative; min-height:720px; overflow:hidden; background:#d8c7bd; }
.ds-hero-image-main { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.ds-hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(247,242,236,.16), transparent 34%); pointer-events:none; }
.ds-hero-stamp { position:absolute; z-index:3; left:34px; bottom:34px; width:128px; height:128px; border-radius:50%; background:rgba(255,253,249,.92); display:grid; place-items:center; text-align:center; font-family:var(--ds-display); font-size:15px; line-height:1.25; box-shadow:var(--ds-shadow); }

.ds-trust-strip { border-bottom:1px solid var(--ds-line); background:#fff; }
.ds-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ds-trust-item { padding:24px 28px; border-right:1px solid var(--ds-line); text-align:center; }
.ds-trust-item:last-child { border-right:0; }
.ds-trust-item strong { display:block; font-family:var(--ds-display); font-size:17px; font-weight:500; }
.ds-trust-item span { display:block; margin-top:4px; color:var(--ds-taupe); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

.ds-section { padding:105px 0; }
.ds-section-soft { background:var(--ds-cream); }
.ds-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:42px; }
.ds-section-head h2 { margin:0; font-family:var(--ds-display); font-weight:400; font-size:clamp(43px,5vw,72px); line-height:1; letter-spacing:-.035em; }
.ds-section-head p { max-width:450px; margin:0; color:#776960; font-size:14px; }
.ds-text-link { text-decoration:none; border-bottom:1px solid var(--ds-ink); padding-bottom:4px; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }

/* Homepage latest edit */
.ds-home-products { background:var(--ds-paper); }
.ds-home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; }
.ds-home-product-card { min-width:0; }
.ds-home-product-image { display:block; overflow:hidden; background:var(--ds-cream); text-decoration:none; }
.ds-home-product-image img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; transition:transform .45s ease; }
.ds-home-product-card:hover .ds-home-product-image img { transform:scale(1.02); }
.ds-home-product-copy { padding-top:18px; }
.ds-home-product-copy h3 { margin:0 0 8px; font-family:var(--ds-display); font-size:30px; font-weight:400; line-height:1.02; letter-spacing:-.02em; }
.ds-home-product-copy h3 a { color:var(--ds-ink); text-decoration:none; }
.ds-home-product-price { color:var(--ds-taupe); font-size:13px; letter-spacing:.02em; }
.ds-home-product-price .woocommerce-Price-currencySymbol { margin-right:2px; }
.ds-home-product-card .ds-product-view { margin-top:14px; }


.ds-category-grid { display:grid; grid-template-columns:1.25fr .85fr .85fr; gap:18px; }
.ds-category-card { position:relative; min-height:510px; overflow:hidden; background:#dccbc1; text-decoration:none; color:#fff; }
.ds-category-card:nth-child(2), .ds-category-card:nth-child(3) { min-height:510px; }
.ds-category-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.ds-category-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(31,26,23,.7)); }
.ds-category-card:hover img { transform:scale(1.035); }
.ds-category-copy { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; }
.ds-category-copy span { display:block; font-size:9px; letter-spacing:.16em; text-transform:uppercase; opacity:.8; }
.ds-category-copy h3 { margin:7px 0 0; font-family:var(--ds-display); font-size:35px; font-weight:400; line-height:1; }

.ds-story { display:grid; grid-template-columns:1fr 1fr; height:clamp(620px,48vw,820px); min-height:0; background:#251f1c; color:#fff; overflow:hidden; }
.ds-story-media { position:relative; min-height:0; overflow:hidden; }
.ds-story-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.ds-story-copy { padding:72px clamp(48px,7vw,120px); display:flex; flex-direction:column; justify-content:center; }
.ds-story-copy .ds-kicker { color:#d6a89d; }
.ds-story-copy h2 { margin:0; max-width:620px; font-family:var(--ds-display); font-size:clamp(46px,4.3vw,68px); font-weight:400; line-height:.98; }
.ds-story-copy p { margin:24px 0 0; max-width:580px; color:#d7cdc7; font-size:15px; line-height:1.8; }
.ds-story-copy .ds-text-link { align-self:flex-start; color:#fff; border-color:#fff; margin-top:28px; }

/* WooCommerce shop and product cards */
.ds-shop-main { padding:36px 0 88px; }
.woocommerce .woocommerce-breadcrumb { color:var(--ds-taupe); font-size:10px; letter-spacing:.06em; text-transform:uppercase; margin:0 0 30px; }
.woocommerce .woocommerce-breadcrumb a { color:inherit; text-decoration:none; }
.woocommerce-products-header, .ds-shop-header { padding:68px 0 35px; }
.woocommerce-products-header__title.page-title, .woocommerce h1.page-title { font-family:var(--ds-display); font-size:clamp(48px,6vw,78px); font-weight:400; letter-spacing:-.04em; }
.woocommerce .woocommerce-result-count { color:var(--ds-taupe); font-size:12px; }
.woocommerce .woocommerce-ordering select { border:1px solid var(--ds-line); background:#fff; padding:10px 34px 10px 12px; }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 18px; margin:0!important; padding:0!important; }
.woocommerce ul.products:before, .woocommerce ul.products:after { display:none!important; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; list-style:none; }
.woocommerce ul.products li.product a { text-decoration:none; }
.woocommerce ul.products li.product { display:flex!important; flex-direction:column; min-width:0; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display:block!important; width:100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price { display:block!important; width:100%; }
.ds-home-products .woocommerce ul.products li.product .ds-product-view { align-self:flex-start; }
.woocommerce ul.products li.product a img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; margin:0 0 18px!important; background:var(--ds-cream); transition:transform .45s ease; }
.woocommerce ul.products li.product:hover a img { transform:translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0!important; margin:0 0 6px!important; color:var(--ds-ink); font-family:var(--ds-display); font-size:21px!important; font-weight:500!important; line-height:1.25; }
.woocommerce ul.products li.product .price { color:#6f6158!important; font-size:12px!important; letter-spacing:.04em; margin-bottom:14px!important; }
.woocommerce ul.products li.product .button { width:100%; min-height:44px; margin-top:auto!important; display:flex!important; align-items:center; justify-content:center; border:1px solid var(--ds-ink)!important; border-radius:0!important; background:transparent!important; color:var(--ds-ink)!important; font-size:9px!important; font-weight:600!important; letter-spacing:.09em; text-transform:uppercase; transition:.22s ease; }
.woocommerce ul.products li.product .button:hover { background:var(--ds-ink)!important; color:#fff!important; }
.ds-product-view { display:inline-flex; margin-top:12px; padding-bottom:4px; border-bottom:1px solid var(--ds-ink); color:var(--ds-ink); text-decoration:none; font-size:9px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.ds-home-products .woocommerce ul.products { margin-top:10px!important; }
.ds-home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 22px; }
.ds-home-product-card { min-width:0; }
.ds-home-product-image { display:block; overflow:hidden; background:var(--ds-cream); text-decoration:none; }
.ds-home-product-image img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; transition:transform .45s ease; }
.ds-home-product-card:hover .ds-home-product-image img { transform:translateY(-3px) scale(1.01); }
.ds-home-product-copy { padding-top:18px; }
.ds-home-product-copy h3 { margin:0 0 7px; font-family:var(--ds-display); font-size:23px; font-weight:400; line-height:1.14; letter-spacing:-.018em; }
.ds-home-product-copy h3 a { color:var(--ds-ink); text-decoration:none; }
.ds-home-product-price { color:var(--ds-taupe); font-size:12px; letter-spacing:.04em; }
.ds-home-product-price .woocommerce-Price-amount { color:inherit; }
.ds-home-product-card .ds-product-view { margin-top:13px; }

/* Single product */
.woocommerce div.product { padding:62px 0 90px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom:0; }
.woocommerce div.product div.images img { background:var(--ds-cream); }
.woocommerce div.product .product_title { font-family:var(--ds-display); font-size:clamp(44px,5vw,67px); font-weight:400; line-height:1; letter-spacing:-.035em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--ds-ink); font-size:18px; }
.woocommerce-product-details__short-description { color:#6e625b; font-size:14px; }
.woocommerce div.product .woocommerce-tabs { padding-top:55px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; border-bottom:1px solid var(--ds-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs:before { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0!important; background:transparent!important; margin:0 25px 0 0!important; padding:0!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:14px 0!important; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-family:var(--ds-display); font-weight:400; font-size:32px; }
.woocommerce div.product .related.products > h2 { margin:70px 0 30px; font-family:var(--ds-display); font-size:44px; font-weight:400; }

.ds-enquiry-card { margin-top:28px; padding:26px; border:1px solid var(--ds-line); background:#fff; }
.ds-enquiry-card h3 { margin:0; font-family:var(--ds-display); font-size:29px; font-weight:400; }
.ds-enquiry-copy { color:#73665f; font-size:13px; line-height:1.65; }
.ds-option-group { margin-top:18px; }
.ds-option-label, .ds-qty-row > label { display:block; margin-bottom:8px; font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.ds-size-options { display:flex; gap:8px; flex-wrap:wrap; }
.ds-size-option { min-width:45px; height:42px; border:1px solid var(--ds-line); background:#fff; cursor:pointer; transition:.2s ease; }
.ds-size-option:hover, .ds-size-option.is-selected { background:var(--ds-ink); border-color:var(--ds-ink); color:#fff; }
.ds-qty-row { margin-top:18px; }
.ds-qty-control { width:132px; display:grid; grid-template-columns:40px 1fr 40px; border:1px solid var(--ds-line); }
.ds-qty-control button { height:42px; border:0; background:#fff; cursor:pointer; }
.ds-qty-control input { width:100%; border:0!important; padding:0!important; text-align:center; appearance:textfield; }
.ds-enquiry-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:22px; }
.ds-order-note { margin:12px 0 0; color:var(--ds-taupe); font-size:10px; }

/* Generic pages */
.ds-page-wrap { width:min(900px,calc(100% - 48px)); margin:0 auto; padding:78px 0 100px; }
.ds-page-wrap h1 { margin:0 0 35px; font-family:var(--ds-display); font-size:clamp(48px,7vw,82px); font-weight:400; letter-spacing:-.04em; }
.ds-page-wrap h2, .ds-page-wrap h3 { font-family:var(--ds-display); font-weight:500; }
.ds-page-wrap h2 { margin-top:45px; font-size:34px; }
.ds-page-wrap p, .ds-page-wrap li { color:#5f544e; }
.ds-page-wrap a { text-underline-offset:3px; }

/* Footer */
.ds-footer { background:#211c19; color:#f7f2ec; padding:78px 0 0; }
.ds-footer-grid { display:grid; grid-template-columns:1.5fr .7fr .8fr .7fr 1.2fr; gap:42px; }
.ds-footer-brand p, .ds-footer-contact p { color:#bfb2aa; max-width:320px; font-size:12px; }
.ds-footer-logo { font-family:var(--ds-display); font-size:34px; text-decoration:none; }
.ds-footer-socials { display:flex; gap:16px; margin-top:22px; }
.ds-footer-socials a, .ds-footer-column a, .ds-footer-contact a { color:#ded4cc; text-decoration:none; font-size:11px; }
.ds-footer-column { display:flex; flex-direction:column; gap:10px; }
.ds-footer-title { margin:0 0 14px!important; color:#fff!important; font-size:9px!important; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.ds-footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.ds-footer-contact > p:not(.ds-footer-title) { margin:0 0 14px; line-height:1.7; }
.ds-footer-contact > a { display:inline-block; width:max-content; max-width:100%; padding-bottom:3px; border-bottom:1px solid transparent; transition:border-color .2s ease,color .2s ease; }
.ds-footer-contact > a + a { margin-top:8px; }
.ds-footer-contact > a:hover { color:#fff; border-bottom-color:#7e6c62; }
.ds-footer-wa { margin:0; }
.ds-footer-bottom { margin-top:60px; min-height:62px; border-top:1px solid #3c332e; display:flex; align-items:center; justify-content:space-between; color:#998b83; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.ds-floating-wa { position:fixed; z-index:70; right:22px; bottom:22px; min-height:48px; padding:0 16px; border-radius:999px; background:var(--ds-ink); color:#fff; box-shadow:0 12px 32px rgba(31,26,23,.24); display:flex; align-items:center; gap:9px; text-decoration:none; font-size:10px; font-weight:600; letter-spacing:.05em; }
.ds-floating-wa svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; }

@media (max-width: 1120px) {
	.ds-shell { width:min(100% - 40px, 1380px); }
	.ds-main-nav { display:none; }
	.ds-menu-toggle { display:block; grid-column:1; grid-row:1; justify-self:start; }
	.ds-header-actions .ds-header-link { display:none; }
	.ds-hero { min-height:650px; }
	.ds-hero-visual { min-height:650px; }
	.ds-category-grid { grid-template-columns:1fr 1fr; }
	.ds-category-card:first-child { grid-column:1/-1; min-height:620px; }
	.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.ds-home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
	.ds-footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
	.ds-footer-contact { grid-column:1/-1; }
}

@media (max-width: 760px) {
	.ds-shell { width:min(100% - 28px, 1380px); }
	.ds-announcement-inner { min-height:31px; font-size:8px; gap:10px; justify-content:center; }
	.ds-announcement-hide { display:none; }
	.ds-header-row { min-height:72px; grid-template-columns:42px 1fr 42px; gap:8px; }
	.ds-brand { grid-column:2; }
	.ds-brand-name { font-size:24px; }
	.ds-brand-sub { font-size:7px; }
	.ds-header-actions { grid-column:3; }
	.ds-wa-icon { width:38px; height:38px; }
	.ds-hero { min-height:auto; }
	.ds-hero-grid { grid-template-columns:1fr; }
	.ds-hero-copy { padding:58px 20px 50px; order:2; }
	.ds-hero h1 { font-size:clamp(54px,17vw,76px); }
	.ds-hero-lede { font-size:14px; }
	.ds-hero-actions { align-items:stretch; flex-direction:column; }
	.ds-btn { width:100%; }
	.ds-hero-visual { min-height:520px; order:1; }
	.ds-hero-stamp { width:100px; height:100px; left:18px; bottom:18px; font-size:12px; }
	.ds-trust-grid { grid-template-columns:1fr 1fr; }
	.ds-trust-item { padding:18px 10px; }
	.ds-trust-item:nth-child(2) { border-right:0; }
	.ds-trust-item:nth-child(-n+2) { border-bottom:1px solid var(--ds-line); }
	.ds-section { padding:72px 0; }
	.ds-section-head { display:block; margin-bottom:30px; }
	.ds-section-head h2 { font-size:50px; }
	.ds-section-head p { margin-top:14px; }
	.ds-section-head .ds-text-link { display:inline-block; margin-top:16px; }
	.ds-category-grid { grid-template-columns:1fr; gap:10px; }
	.ds-category-card, .ds-category-card:first-child, .ds-category-card:nth-child(2), .ds-category-card:nth-child(3) { grid-column:auto; min-height:480px; }
	.ds-story { grid-template-columns:1fr; height:auto; overflow:visible; }
	.ds-story-media { min-height:500px; }
	.ds-story-media img { position:absolute; }
	.ds-story-copy { padding:58px 22px 66px; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 10px; }
	.ds-home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
	.ds-home-product-copy { padding-top:12px; }
	.ds-home-product-copy h3 { font-size:21px; }
	.ds-home-product-price { font-size:11px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:18px!important; }
	.woocommerce div.product { padding-top:32px; }
	.woocommerce div.product .product_title { font-size:45px; }
	.ds-enquiry-actions { grid-template-columns:1fr; }
	.ds-footer { padding-top:55px; }
	.ds-footer-grid { grid-template-columns:1fr 1fr; gap:38px 22px; }
	.ds-footer-brand, .ds-footer-contact { grid-column:1/-1; }
	.ds-footer-bottom { margin-top:40px; flex-direction:column; justify-content:center; gap:5px; text-align:center; }
	.ds-floating-wa { right:14px; bottom:14px; width:46px; height:46px; min-height:46px; padding:0; justify-content:center; }
	.ds-floating-wa span { display:none; }
}

@media (min-width: 1800px) {
	.ds-shell { width:min(2200px, calc(100% - 120px)); }
	.ds-header-row { min-height:104px; gap:42px; }
	.ds-brand-name { font-size:38px; }
	.ds-brand-sub { font-size:9px; }
	.ds-nav-list { gap:32px; }
	.ds-nav-list a, .ds-header-link { font-size:12px; }
	.ds-wa-icon { width:48px; height:48px; }

	.ds-hero { min-height:760px; }
	.ds-hero-grid { grid-template-columns:42% 58%; }
	.ds-hero-copy { padding:100px 72px 96px 64px; }
	.ds-hero h1 { max-width:820px; font-size:clamp(76px,4.4vw,122px); }
	.ds-hero-lede { max-width:680px; font-size:18px; }
	.ds-btn { min-height:58px; padding:0 30px; font-size:11px; }
	.ds-hero-note { font-size:12px; }

	.ds-trust-item { padding:30px 34px; }
	.ds-trust-item strong { font-size:21px; }
	.ds-trust-item span { font-size:11px; }

	.ds-section { padding:125px 0; }
	.ds-section-head { margin-bottom:52px; }
	.ds-section-head h2 { font-size:clamp(58px,3.7vw,92px); }
	.ds-section-head p { max-width:620px; font-size:16px; }
	.ds-text-link { font-size:11px; }
	.ds-home-product-grid { gap:42px; }
	.ds-home-product-copy { padding-top:20px; }
	.ds-home-product-copy h3 { font-size:34px; }
	.ds-home-product-price { font-size:14px; }

	.woocommerce ul.products { gap:44px 30px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:27px!important; }
	.woocommerce ul.products li.product .price { font-size:14px!important; }
	.ds-product-view { font-size:10px; }

	.ds-category-grid { gap:24px; }
	.ds-category-card, .ds-category-card:nth-child(2), .ds-category-card:nth-child(3) { min-height:620px; }
	.ds-category-copy { left:34px; right:34px; bottom:32px; }
	.ds-category-copy h3 { font-size:44px; }
	.ds-category-copy span { font-size:10px; }

	.ds-story { height:640px; min-height:640px; }
	.ds-story-copy { padding:82px 7vw; }
	.ds-story-copy h2 { max-width:720px; font-size:clamp(58px,3.6vw,88px); }
	.ds-story-copy p { max-width:700px; font-size:16px; }

	.ds-footer { padding-top:90px; }
	.ds-footer-grid { gap:56px; }
	.ds-footer-logo { font-size:42px; }
	.ds-footer-brand p, .ds-footer-contact p { max-width:380px; font-size:14px; }
	.ds-footer-socials a, .ds-footer-column a, .ds-footer-contact a { font-size:13px; }
	.ds-footer-title { font-size:10px!important; }
	.ds-footer-bottom { margin-top:72px; min-height:72px; font-size:10px; }
}
