:root {
  --sv-ivory: #F7F4EE;
  --sv-paper: #FFFDF9;
  --sv-rose: #CDA5A6;
  --sv-taupe: #A89E92;
  --sv-olive: #6E7057;
  --sv-espresso: #2B1E17;
  --sv-line: rgba(43,30,23,.16);
  --sv-shadow: 0 18px 48px rgba(43,30,23,.09);
  --sv-container: min(1240px, calc(100vw - 48px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--sv-ivory); color:var(--sv-espresso); font-family:Lato,Arial,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration-thickness:.08em; text-underline-offset:.2em; }
button,input,select,textarea { font:inherit; }
h1,h2,h3,h4,h5,h6 { margin-top:0; color:var(--sv-espresso); font-family:"Playfair Display",Georgia,serif; font-weight:500; line-height:1.08; }
p { margin-top:0; }
.sv-container { width:var(--sv-container); margin-inline:auto; }
.sv-reading-width { max-width:860px; }
.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; }
.screen-reader-text:focus { top:10px;left:10px;width:auto;height:auto;clip:auto;margin:0;padding:12px 18px;background:#fff;z-index:9999; }
.sv-announcement { background:var(--sv-rose); color:var(--sv-espresso); padding:7px 0; text-align:center; text-transform:uppercase; letter-spacing:.09em; font-size:12px; font-weight:700; }
.sv-site-header { position:relative; z-index:20; border-bottom:1px solid var(--sv-line); background:rgba(247,244,238,.96); backdrop-filter:blur(12px); }
.sv-header-inner { min-height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.sv-nav-right { justify-self:end; }
.sv-menu { display:flex; align-items:center; gap:30px; margin:0; padding:0; list-style:none; }
.sv-menu li { position:relative; }
.sv-menu a { display:block; padding:28px 0; text-decoration:none; text-transform:uppercase; letter-spacing:.04em; font-size:12px; font-weight:700; }
.sv-menu a::after { content:""; position:absolute; left:0;right:100%;bottom:19px;height:1px;background:var(--sv-rose);transition:right .25s; }
.sv-menu a:hover::after,.sv-menu .current-menu-item>a::after { right:0; }
.sv-brand-wrap { justify-self:center; }
.sv-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-family:"Playfair Display",Georgia,serif; font-size:29px; white-space:nowrap; }
.sv-brand>img { width:34px; height:52px; object-fit:contain; }
.sv-custom-logo .custom-logo-link { display:block; }
.sv-custom-logo img { max-height:58px; width:auto; }
.sv-header-actions { justify-self:end; display:flex; align-items:center; gap:16px; }
.sv-icon-button { position:relative; display:inline-grid; place-items:center; width:38px;height:38px; border:0;background:transparent;color:var(--sv-espresso); padding:7px; cursor:pointer; text-decoration:none; }
.sv-icon-button svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.sv-cart-count { position:absolute; top:-1px;right:-4px; min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:var(--sv-rose);font-size:10px;font-weight:900; }
.sv-search-panel,.sv-mobile-panel { border-top:1px solid var(--sv-line); padding:22px 0; background:var(--sv-paper); }
.sv-search-panel .search-form { display:flex; max-width:700px; margin:auto; }
.sv-search-panel .search-field { flex:1; border:1px solid var(--sv-taupe); padding:13px 15px; background:white; }
.sv-search-panel .search-submit { border:0; background:var(--sv-espresso); color:#fff; padding:0 24px; font-weight:700; }
.sv-menu-toggle { display:none; width:40px;height:40px;border:0;background:transparent;padding:8px;cursor:pointer; }
.sv-menu-toggle>span:not(.screen-reader-text) { display:block;height:1px;background:var(--sv-espresso);margin:6px 0; }
.sv-mobile-menu { list-style:none;margin:0;padding:0; }
.sv-mobile-menu a { display:block;padding:10px 0;text-decoration:none;font-family:"Playfair Display",Georgia,serif;font-size:23px; }
.sv-hero { padding:38px 0 74px; }
.sv-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:66px; align-items:center; }
.sv-hero-copy { padding:28px 0; }
.sv-eyebrow { display:flex;align-items:center;gap:14px;margin-bottom:28px;color:var(--sv-olive);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700; }
.sv-eyebrow::before { content:""; width:44px;height:1px;background:var(--sv-rose); }
.sv-hero h1 { max-width:700px; margin-bottom:36px; font-size:clamp(3.1rem,5.6vw,5.65rem); letter-spacing:-.035em; }
.sv-hero-intro { max-width:590px; color:#6c5d55; font-size:19px; line-height:1.65; }
.sv-button-row { display:flex;flex-wrap:wrap;gap:16px;margin-top:34px; }
.sv-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button { display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid var(--sv-espresso);border-radius:0!important;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900;transition:background .2s,color .2s,border-color .2s,transform .2s; }
.sv-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { transform:translateY(-1px); }
.sv-button-primary,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { background:var(--sv-espresso)!important;color:#fff!important; }
.sv-button-primary:hover { background:var(--sv-olive);border-color:var(--sv-olive); }
.sv-button-secondary { background:transparent;color:var(--sv-espresso);border-color:var(--sv-rose); }
.sv-button-secondary:hover { background:var(--sv-rose); }
.sv-button-light { background:transparent;color:#fff;border-color:var(--sv-rose); }
.sv-button-light:hover { background:var(--sv-rose);color:var(--sv-espresso); }
.sv-hero-visual { position:relative; min-height:570px; }
.sv-hero-visual>img { width:100%;height:570px;object-fit:cover;border:1px solid rgba(43,30,23,.14); }
.sv-feature-card { position:absolute; left:-54px;bottom:26px;min-width:290px;padding:20px 24px;background:var(--sv-paper);border:2px solid var(--sv-rose);box-shadow:var(--sv-shadow); }
.sv-feature-card span,.sv-feature-card small { display:block;color:#71635b;font-size:11px;text-transform:uppercase;letter-spacing:.07em; }
.sv-feature-card strong { display:block;margin:7px 0;font-family:"Playfair Display",Georgia,serif;font-size:28px;font-weight:500; }
.sv-section { padding:90px 0; }
.sv-section-heading { display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:36px; }
.sv-section-heading h2 { margin:0;font-size:clamp(2.4rem,4vw,4rem); }
.sv-section-heading>p { max-width:420px;color:#76685f;text-align:right; }
.sv-section-heading .sv-eyebrow { margin-bottom:18px; }
.sv-heading-centered { justify-content:center;text-align:center; }
.sv-heading-centered .sv-eyebrow { justify-content:center; }
.sv-centered { text-align:center;margin-top:38px; }
.sv-text-link { color:var(--sv-olive);font-weight:700;text-decoration:none;border-bottom:1px solid var(--sv-rose); }
.sv-story-section { background:var(--sv-espresso);color:#fff; }
.sv-story-section h2,.sv-story-section h3 { color:#fff; }
.sv-story-grid { display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center; }
.sv-story-visual { position:relative;min-height:520px; }
.sv-before-card,.sv-after-card { position:absolute;width:68%;height:78%;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,#8b7d6c,#c7b8a8);box-shadow:0 30px 70px rgba(0,0,0,.25); }
.sv-before-card { left:0;top:0;filter:saturate(.55); }
.sv-after-card { right:0;bottom:0;background:linear-gradient(135deg,#dfc9c1,#8f866d); }
.sv-before-card span,.sv-after-card span { position:absolute;left:16px;top:16px;background:var(--sv-paper);color:var(--sv-espresso);padding:5px 10px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900; }
.sv-story-copy h2 { font-size:clamp(2.6rem,4.2vw,4.4rem); }
.sv-story-copy p:not(.sv-eyebrow) { color:#d8cfca;max-width:580px; }
.sv-process-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--sv-line);border-bottom:1px solid var(--sv-line); }
.sv-process-grid article { padding:44px 38px; }
.sv-process-grid article+article { border-left:1px solid var(--sv-line); }
.sv-process-grid span { color:var(--sv-rose);font-family:"Playfair Display",Georgia,serif;font-size:26px; }
.sv-process-grid h3 { margin:18px 0 12px;font-size:27px; }
.sv-process-grid p { color:#76685f; }
.sv-contact-strip { padding:70px 0;background:#eee6dc;border-top:1px solid var(--sv-rose); }
.sv-contact-strip-inner { display:flex;align-items:center;justify-content:space-between;gap:40px; }
.sv-contact-strip h2 { margin:0;font-size:clamp(2.1rem,3.4vw,3.5rem); }
.sv-contact-strip .sv-eyebrow { margin-bottom:14px; }
.sv-site-footer { background:var(--sv-espresso);color:#e8dfda; }
.sv-footer-grid { display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:50px;padding:75px 0 60px; }
.sv-site-footer h2,.sv-site-footer h3 { color:#fff; }
.sv-site-footer h3 { font-family:Lato,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900; }
.sv-footer-brand { display:flex;gap:20px;align-items:flex-start; }
.sv-footer-brand img { width:62px;height:98px;object-fit:contain;filter:brightness(1.15); }
.sv-footer-brand h2 { margin:5px 0 6px;font-size:31px; }
.sv-footer-brand p { color:#cdbfba; }
.sv-footer-list { list-style:none;margin:0;padding:0; }
.sv-footer-list li { margin:9px 0; }
.sv-footer-list a { color:inherit;text-decoration:none; }
.sv-footer-list a:hover { color:var(--sv-rose); }
.sv-footer-note p { color:#cdbfba; }
.sv-footer-bottom { border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:12px;color:#b7aaa5; }
.sv-content-area,.sv-shop-main { padding:70px 0 100px; }
.sv-page-header { margin-bottom:46px; }
.sv-page-header h1 { font-size:clamp(2.7rem,5vw,5rem); }
.sv-entry-content>* { max-width:100%; }
.sv-entry-content a { color:var(--sv-olive); }
.sv-featured-image { margin-bottom:38px; }
.sv-post-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px; }
.sv-post-card { background:var(--sv-paper);border:1px solid var(--sv-line); }
.sv-post-card-image { display:block;aspect-ratio:4/3;overflow:hidden;background:#e7ddd1; }
.sv-post-card-image img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.sv-post-card:hover img { transform:scale(1.025); }
.sv-placeholder-image { display:block;width:100%;height:100%;background:linear-gradient(135deg,#d6c1b9,#83907b); }
.sv-post-card-body { padding:25px; }
.sv-post-meta { color:var(--sv-olive);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700; }
.sv-post-card h2 { font-size:28px; }
.sv-post-card h2 a { text-decoration:none; }
.sv-404 { text-align:center;padding:80px 0; }
.sv-404 .sv-eyebrow { justify-content:center; }
/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color:#807169;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:34px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--sv-olive); }
.woocommerce-products-header__title.page-title { font-size:clamp(2.8rem,5vw,5rem);margin-bottom:45px; }
.woocommerce ul.products { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin: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;padding:0 0 20px;background:var(--sv-paper);border:1px solid var(--sv-line);position:relative; }
.sv-product-status { position:absolute;z-index:4;top:12px;left:12px;padding:7px 10px;background:var(--sv-olive);color:#fff;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:900; }
.sv-product-status-adopted { background:var(--sv-espresso); }
.woocommerce ul.products li.product a img { margin:0 0 18px!important;width:100%;aspect-ratio:1/1;object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 16px!important;font-family:"Playfair Display",Georgia,serif;font-size:24px!important;font-weight:500; }
.woocommerce ul.products li.product .price { padding:0 16px;color:var(--sv-espresso)!important;font-weight:700!important; }
.woocommerce ul.products li.product .button { margin:14px 16px 0!important;min-height:42px;padding:0 17px;font-size:10px; }
.woocommerce span.onsale { min-width:auto;min-height:auto;line-height:1;border-radius:0;background:var(--sv-rose);color:var(--sv-espresso);padding:8px 10px;margin:10px!important;text-transform:uppercase;letter-spacing:.06em;font-size:10px; }
.woocommerce div.product { display:grid;grid-template-columns:1.08fr .92fr;gap:70px; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none!important;width:auto!important; }
.woocommerce div.product .product_title { font-size:clamp(2.6rem,4vw,4.4rem); }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--sv-espresso);font-family:"Playfair Display",Georgia,serif;font-size:30px; }
.woocommerce .quantity .qty { min-height:48px;border:1px solid var(--sv-taupe);background:white; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single { border:1px solid var(--sv-taupe);border-radius:0;min-height:48px;background:white;padding:10px 12px; }
.woocommerce-info,.woocommerce-message,.woocommerce-error { border-top-color:var(--sv-rose);background:#fffaf4; }
.woocommerce-info::before,.woocommerce-message::before { color:var(--sv-olive); }
.woocommerce table.shop_table { border-radius:0;border-color:var(--sv-line);background:var(--sv-paper); }
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review { background:var(--sv-paper);padding:26px;border:1px solid var(--sv-line); }
.woocommerce-checkout #payment { background:#eee6dc;border-radius:0; }
.woocommerce-checkout #payment div.payment_box { background:var(--sv-paper); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--sv-paper); }
@media (max-width:1100px) {
  .sv-nav { display:none; }
  .sv-header-inner { grid-template-columns:1fr auto; }
  .sv-brand-wrap { justify-self:start; }
  .sv-menu-toggle { display:block; }
  .sv-hero-grid { gap:36px; }
  .sv-feature-card { left:-20px; }
  .sv-footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .sv-footer-note { grid-column:1/-1; }
}
@media (max-width:850px) {
  :root { --sv-container:min(100% - 32px,1240px); }
  .sv-announcement { font-size:10px; }
  .sv-header-inner { min-height:70px; }
  .sv-brand { font-size:24px; }
  .sv-hero { padding-top:18px; }
  .sv-hero-grid,.sv-story-grid { grid-template-columns:1fr; }
  .sv-hero-copy { order:1; }
  .sv-hero-visual { order:2;min-height:auto; }
  .sv-hero-visual>img { height:480px; }
  .sv-feature-card { left:16px;bottom:16px;min-width:240px; }
  .sv-section { padding:68px 0; }
  .sv-section-heading { display:block; }
  .sv-section-heading>p { text-align:left;margin-top:18px; }
  .sv-process-grid { grid-template-columns:1fr; }
  .sv-process-grid article+article { border-left:0;border-top:1px solid var(--sv-line); }
  .sv-contact-strip-inner { display:block; }
  .sv-contact-strip .sv-button { margin-top:24px; }
  .sv-footer-grid { grid-template-columns:1fr 1fr; }
  .sv-footer-brand,.sv-footer-note { grid-column:1/-1; }
  .sv-post-grid { grid-template-columns:1fr 1fr; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woocommerce div.product { grid-template-columns:1fr;gap:30px; }
}
@media (max-width:560px) {
  body { font-size:16px; }
  .sv-header-actions { gap:5px; }
  .sv-brand>span { font-size:22px; }
  .sv-brand>img { width:28px;height:44px; }
  .sv-hero h1 { font-size:clamp(2.85rem,14vw,4.3rem); }
  .sv-hero-visual>img { height:380px; }
  .sv-feature-card { position:relative;left:auto;bottom:auto;margin:-30px 14px 0; }
  .sv-button-row { align-items:stretch;flex-direction:column; }
  .sv-button { width:100%; }
  .sv-story-visual { min-height:390px; }
  .sv-process-grid article { padding:35px 20px; }
  .sv-footer-grid { grid-template-columns:1fr; }
  .sv-footer-brand,.sv-footer-note { grid-column:auto; }
  .sv-post-grid { grid-template-columns:1fr; }
  .woocommerce ul.products { gap:12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:19px!important; }
}
