/* Landing page fidelity pass — based on the 1512 × 6763 supplied reference. */
.reference-photo{width:100%;height:100%;background-image:url('dos-landing-reference.png');background-repeat:no-repeat;background-color:#f3ece7}.reference-photo--arrival-front{aspect-ratio:363/714;background-size:416.52892561983475% 947.1988795518207%;background-position:7.745865970409051% 19.887584724747892%}
.reference-photo--arrival-back{aspect-ratio:345/714;background-size:438.2608695652174% 947.1988795518207%;background-position:38.73179091688089% 19.887584724747892%}
.reference-photo--best-blue{aspect-ratio:317/582;background-size:476.97160883280753% 1162.0274914089346%;background-position:7.531380753138076% 37.12991425335706%}
.reference-photo--best-print{aspect-ratio:317/582;background-size:476.97160883280753% 1162.0274914089346%;background-position:35.39748953974895% 37.12991425335706%}
.reference-photo--best-cream{aspect-ratio:317/582;background-size:476.97160883280753% 1162.0274914089346%;background-position:63.26359832635984% 37.12991425335706%}
.reference-photo--best-green{aspect-ratio:325/582;background-size:465.2307692307692% 1162.0274914089346%;background-position:91.82813816343723% 37.12991425335706%}
.reference-photo--category-tanks{aspect-ratio:516/705;background-size:293.0232558139535% 959.2907801418439%;background-position:0% 52.82271376691977%}
.reference-photo--category-dresses{aspect-ratio:528/705;background-size:286.3636363636364% 959.2907801418439%;background-position:52.4390243902439% 52.82271376691977%}
.reference-photo--category-sets{aspect-ratio:468/705;background-size:323.0769230769231% 959.2907801418439%;background-position:100% 52.82271376691977%}
.template-index{--landing-unit:calc(100vw / 1512)}
.template-index .container{width:88%;max-width:none}
.template-index .dos-header{height:calc(185 * var(--landing-unit));min-height:90px}
.template-index .header-inner{width:92%;min-height:0;height:100%}
.template-index .brand img{width:calc(145 * var(--landing-unit));min-width:80px;height:auto}
.template-index .home-nav{gap:calc(58 * var(--landing-unit));font-size:clamp(10px,1.2vw,18px);margin-left:calc(235 * var(--landing-unit))}
.template-index .bag{width:calc(234 * var(--landing-unit));min-width:110px;justify-content:center;padding:6px;border-radius:28px;font-size:clamp(12px,2vw,28px)}
.template-index .bag .icon{width:18px;height:18px}
.template-index .dos-hero{height:calc(816 * var(--landing-unit));min-height:0;align-items:flex-end}
.template-index .dos-hero .container{width:90%}
.template-index .hero-copy{padding:0 0 calc(128 * var(--landing-unit));max-width:calc(720 * var(--landing-unit))}
.template-index .dos-hero h1{font-size:clamp(28px,4.3vw,68px);line-height:1.02;margin:0 0 calc(14 * var(--landing-unit));font-style:italic;letter-spacing:-.03em}
.template-index .dos-hero .rte{font-size:clamp(10px,1.3vw,20px);line-height:1.15}
.template-index .dos-hero .rte p{margin:0 0 calc(40 * var(--landing-unit))}
.template-index .button,.template-index button{font-size:clamp(11px,1.55vw,24px);padding:calc(22 * var(--landing-unit)) calc(45 * var(--landing-unit));border-radius:20px}
.template-index .button-light{min-width:calc(265 * var(--landing-unit));text-align:center}
.template-index .section{padding-block:calc(112 * var(--landing-unit))}
.template-index .section-title{font-size:clamp(18px,2.3vw,35px);margin-bottom:calc(42 * var(--landing-unit));font-weight:700}
.template-index .arrival-card{grid-template-columns:1.075fr 1fr;border-radius:20px;height:calc(714 * var(--landing-unit))}
.template-index .arrival-images{min-height:0;grid-template-columns:1.05fr 1fr}
.template-index .arrival-copy{padding:calc(145 * var(--landing-unit)) calc(68 * var(--landing-unit)) calc(48 * var(--landing-unit));justify-content:flex-start}
.template-index .arrival-copy h3{font-size:clamp(16px,2.3vw,35px);margin:0 0 calc(24 * var(--landing-unit))}
.template-index .arrival-copy .rte{font-size:clamp(10px,1.45vw,22px);line-height:1.14;font-weight:400}
.template-index .arrival-copy .rte p{margin:0}
.template-index .arrival-price{font-size:clamp(13px,1.9vw,28px);border-radius:15px;margin-top:calc(18 * var(--landing-unit));gap:calc(38 * var(--landing-unit))}
.template-index .arrival-copy .button{margin-top:auto;font-size:clamp(10px,1.25vw,19px)}
.template-index .delivery-strip{height:calc(69 * var(--landing-unit));min-height:28px;padding:0;align-items:center;font-size:clamp(8px,1.2vw,18px);gap:0}
.template-index .delivery-strip span{gap:calc(54 * var(--landing-unit))}
.template-index .product-card__image{aspect-ratio:317/582;border-radius:20px}
.template-index .product-grid{gap:calc(18 * var(--landing-unit))}
.template-index .product-carousel{grid-auto-columns:calc((100% - 54 * var(--landing-unit))/4);padding-bottom:calc(42 * var(--landing-unit))}
.template-index .product-card__caption{min-height:calc(75 * var(--landing-unit));border-radius:16px;margin-top:calc(16 * var(--landing-unit));padding:5px 6px 5px calc(16 * var(--landing-unit))}
.template-index .product-card h3{font-size:clamp(10px,1.2vw,18px);margin:0 0 4px}
.template-index .product-card .price{font-size:clamp(10px,1.2vw,18px)}
.template-index .card-bag{padding:calc(10 * var(--landing-unit));border-radius:10px}
.template-index .card-bag .icon{width:calc(38 * var(--landing-unit));height:calc(38 * var(--landing-unit));min-width:16px;min-height:16px}
.template-index .center{margin-top:calc(36 * var(--landing-unit))}
.template-index .category-tiles{height:calc(705 * var(--landing-unit));grid-template-columns:1.1fr 1.125fr 1fr}
.template-index .category-tile{aspect-ratio:auto;height:100%}
.template-index .category-tile span{bottom:calc(30 * var(--landing-unit));font-size:clamp(10px,1.45vw,22px);padding:calc(15 * var(--landing-unit)) calc(32 * var(--landing-unit));border-radius:12px}
.template-index .story-teaser{grid-template-columns:59.5% 40.5%;height:calc(598 * var(--landing-unit));min-height:0}
.template-index .story-copy{padding:calc(156 * var(--landing-unit)) calc(128 * var(--landing-unit)) calc(90 * var(--landing-unit))}
.template-index .story-copy .section-title{margin-bottom:calc(26 * var(--landing-unit))}
.template-index .story-copy .rte{font-size:clamp(11px,1.6vw,24px);line-height:1.05;max-width:calc(580 * var(--landing-unit))}
.template-index .story-copy .button{margin-top:calc(10 * var(--landing-unit))}
.template-index .story-art{background-size:calc(208 * var(--landing-unit)) calc(208 * var(--landing-unit))}
.template-index .testimonials{padding:calc(130 * var(--landing-unit)) 0 calc(65 * var(--landing-unit));border-radius:50px 50px 0 0}
.template-index .testimonials .container{width:86%}
.template-index .testimonial-grid{gap:calc(18 * var(--landing-unit));overflow-x:auto;padding-bottom:calc(30 * var(--landing-unit));scrollbar-color:#666 white}
.template-index .testimonial-grid blockquote{height:calc(292 * var(--landing-unit));padding:calc(28 * var(--landing-unit));border-radius:8px}
.template-index .quote-mark{font-size:clamp(28px,3.8vw,56px);line-height:1}
.template-index .stars{font-size:clamp(13px,2.4vw,34px);letter-spacing:0;margin:calc(14 * var(--landing-unit)) 0 calc(12 * var(--landing-unit))}
.template-index .testimonial-grid .rte{font-size:clamp(10px,1.25vw,19px);line-height:1.04}
.template-index .testimonial-grid .rte p{margin:0}
.template-index .testimonial-grid cite{font-size:clamp(9px,1.15vw,17px);margin-top:calc(28 * var(--landing-unit))}
.template-index .service-benefits{height:calc(396 * var(--landing-unit));padding:calc(130 * var(--landing-unit)) 0 calc(80 * var(--landing-unit));border-radius:50px 50px 0 0}
.template-index .benefits-grid{gap:calc(90 * var(--landing-unit))}
.template-index .benefits-grid .icon{width:calc(58 * var(--landing-unit));height:calc(58 * var(--landing-unit))}
.template-index .benefits-grid h2{font-size:clamp(12px,1.8vw,27px);margin:calc(12 * var(--landing-unit)) 0}
.template-index .benefits-grid .rte{font-size:clamp(8px,.9vw,14px);line-height:1.05}
.template-index .faq{width:61%;max-width:none;padding:calc(82 * var(--landing-unit)) 0 calc(134 * var(--landing-unit))}
.template-index .faq details{padding:calc(12 * var(--landing-unit)) calc(12 * var(--landing-unit)) calc(12 * var(--landing-unit)) calc(45 * var(--landing-unit));border-radius:24px;margin-bottom:calc(22 * var(--landing-unit))}
.template-index .faq summary{font-size:clamp(12px,1.65vw,25px)}
.template-index .faq summary span{font-family:Arial,sans-serif;font-size:clamp(20px,3vw,44px);line-height:1.15;padding:0 calc(9 * var(--landing-unit))}
.template-index .site-footer{padding:calc(90 * var(--landing-unit)) 0 calc(30 * var(--landing-unit))}
.template-index .site-footer .container{width:84%}
.template-index .footer-grid{grid-template-columns:1fr .8fr 1.1fr;gap:calc(100 * var(--landing-unit))}
.template-index .footer-grid .brand img{width:calc(150 * var(--landing-unit));min-width:80px}
.template-index .footer-grid h2{font-size:clamp(12px,1.65vw,25px);margin:0 0 calc(36 * var(--landing-unit))}
.template-index .footer-tagline{font-size:clamp(9px,1.05vw,16px);margin-top:calc(38 * var(--landing-unit))}
.template-index .footer-grid nav a{font-size:clamp(11px,1.25vw,19px);margin-bottom:calc(36 * var(--landing-unit))}
.template-index .footer-newsletter{grid-column:2/4;margin-left:22%;margin-top:calc(44 * var(--landing-unit))}
.template-index .footer-newsletter h2{font-size:clamp(11px,1.35vw,20px);margin-bottom:calc(14 * var(--landing-unit))}
.template-index .newsletter-field{height:calc(68 * var(--landing-unit));min-height:36px}
.template-index .footer-bottom{font-size:clamp(9px,1.2vw,18px);margin-top:calc(40 * var(--landing-unit));padding-top:calc(24 * var(--landing-unit))}
@media(max-width:700px){.template-index{--landing-unit:calc(100vw / 800)}.template-index .dos-header{height:auto}.template-index .header-inner{min-height:100px}.template-index .home-nav{margin-left:0;gap:24px}.template-index .hero-copy{max-width:95%;padding-bottom:55px}.template-index .dos-hero{height:480px}.template-index .dos-hero h1{font-size:44px}.template-index .dos-hero .rte{font-size:14px}.template-index .arrival-card{height:auto;grid-template-columns:1fr}.template-index .arrival-images{height:440px}.template-index .arrival-copy{padding:32px}.template-index .arrival-copy h3{font-size:28px}.template-index .arrival-copy .rte{font-size:16px}.template-index .arrival-copy .button{margin-top:30px}.template-index .product-carousel{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.template-index .product-card h3{font-size:12px}.template-index .category-tiles{height:auto;grid-template-columns:1fr}.template-index .category-tile{height:500px}.template-index .story-teaser{height:auto;grid-template-columns:1fr}.template-index .story-copy{padding:55px 32px}.template-index .story-copy .rte{max-width:none;font-size:18px}.template-index .story-art{min-height:220px}.template-index .testimonial-grid{display:flex}.template-index .testimonial-grid blockquote{min-width:85%;height:auto;padding:24px}.template-index .testimonial-grid .rte{font-size:15px}.template-index .service-benefits{height:auto;padding:60px 0}.template-index .benefits-grid{grid-template-columns:1fr;gap:40px}.template-index .benefits-grid h2{font-size:22px}.template-index .benefits-grid .rte{font-size:12px}.template-index .faq{width:88%;padding:50px 0}.template-index .faq details{padding:10px 14px;border-radius:16px}.template-index .faq summary{font-size:13px}.template-index .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.template-index .footer-newsletter{grid-column:1/-1;margin-left:0}.template-index .footer-grid h2{font-size:16px}.template-index .footer-grid nav a{font-size:14px}.template-index .footer-bottom{font-size:11px}}


/* Video stays behind the burgundy tint and all hero content. */
.hero-with-video{isolation:isolate;overflow:hidden}.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}.hero-shade{position:absolute;inset:0;background:var(--accent);z-index:-1;pointer-events:none}.hero-with-video .container{z-index:1}.hero-video-toggle{position:absolute;right:24px;bottom:24px;z-index:2;background:transparent;color:var(--background);border:1px solid currentColor;padding:8px 12px!important;font:12px Arial,sans-serif!important;border-radius:8px!important}.hero-with-video .hero-image{z-index:-2}
/* Balanced navigation with links centered independently of side controls. */
.template-index .dos-header{height:auto;min-height:0}
.template-index .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:32px;width:90%;max-width:1440px;min-height:112px;padding:24px 0}
.template-index .header-inner>.brand{justify-self:start}
.template-index .header-inner>.home-nav{justify-self:center;display:flex;align-items:center;justify-content:center;gap:44px;margin:0;font-size:14px;letter-spacing:.06em;white-space:nowrap}
.template-index .home-nav a{position:relative;padding:12px 0;text-decoration:none}
.template-index .home-nav a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .18s ease}
.template-index .home-nav a:hover::after,.template-index .home-nav a:focus-visible::after{transform:scaleX(1)}
.template-index .header-inner>.bag{justify-self:end;position:static;width:auto;min-width:130px;padding:9px 28px;gap:8px;font-size:16px;border:1px solid #f3ece780;border-radius:24px}
.template-index .header-inner>.brand img{width:145px;min-width:0;height:auto}
@media(max-width:900px){.template-index .header-inner{gap:20px;min-height:96px}.template-index .header-inner>.home-nav{gap:24px;font-size:12px}.template-index .header-inner>.brand img{width:112px}.template-index .header-inner>.bag{min-width:100px;padding:8px 18px;font-size:14px}}
@media(max-width:600px){.template-index .header-inner{grid-template-columns:1fr 1fr;gap:16px;padding:20px 0 12px;min-height:0}.template-index .header-inner>.brand{grid-column:1;grid-row:1}.template-index .header-inner>.bag{grid-column:2;grid-row:1}.template-index .header-inner>.home-nav{grid-column:1/-1;grid-row:2;width:100%;gap:32px;font-size:11px}.template-index .header-inner>.brand img{width:100px}}
@media(prefers-reduced-motion:reduce){.template-index .home-nav a::after{transition:none}}
/* Compact official wordmark across desktop and mobile navigation. */
.dos-header .brand img,.template-index .header-inner>.brand img{width:72px;min-width:0;max-width:100%;height:auto;aspect-ratio:1664/458}
@media(max-width:900px){.dos-header .brand img,.template-index .header-inner>.brand img{width:64px}}
@media(max-width:600px){.dos-header .brand img,.template-index .header-inner>.brand img{width:56px}}
/* Category links: consistent size, legible contrast and safe mobile placement. */
.template-index .category-tile span,.category-tile span{display:flex;align-items:center;justify-content:center;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);min-height:44px;padding:10px 20px;border:1px solid #f3ece7;border-radius:10px;background:rgba(72,23,45,.8);color:#f3ece7;font-size:clamp(12px,1.1vw,17px);font-weight:700;line-height:1.25;text-align:center;white-space:normal;box-shadow:0 2px 8px #0002}
.category-tile:hover span,.category-tile:focus-visible span{background:#f3ece7;color:#48172d;border-color:#f3ece7}
.category-tile:focus-visible{outline:3px solid #f3ece7;outline-offset:-5px}
/* Exclude the reference screenshot's baked-in labels from temporary photo windows. */
.reference-photo--category-tanks{background-size:293.023255814% 1207.678571429%;background-position:0% 51.590200032%}
.reference-photo--category-dresses{background-size:286.363636364% 1207.678571429%;background-position:52.439024390% 51.590200032%}
.reference-photo--category-sets{background-size:323.076923077% 1207.678571429%;background-position:100% 51.590200032%}
@media(max-width:600px){.template-index .category-tile span,.category-tile span{bottom:20px;min-height:44px;font-size:14px;padding:12px 20px;max-width:calc(100% - 40px)}}
/* Responsive category photography: equal frames, no stretching. */
.template-index .category-tiles,.category-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;gap:0}
.template-index .category-tile,.category-tile{position:relative;min-width:0;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;isolation:isolate}
.category-tile>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.category-tile>.reference-photo{position:absolute;top:0;left:50%;height:100%;max-width:none;transform:translateX(-50%);aspect-ratio:auto}
/* CSS windows preserve each original reference photo's width/height ratio. */
.category-tile>.reference-photo--category-tanks{width:115.178571429%}
.category-tile>.reference-photo--category-dresses{width:117.857142857%}
.category-tile>.reference-photo--category-sets{width:104.464285714%}
.category-tile span{z-index:1}
@media(max-width:767px){.template-index .category-tiles,.category-tiles{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.template-index .category-tile,.category-tile{height:auto;aspect-ratio:4/5;border-radius:14px}.category-tile span{bottom:24px}}

/* Customer review carousel — reference card layout and Georgia typography. */
.template-index .dos-reviews,.dos-reviews{background:#f3ece7;border-radius:48px 48px 0 0;padding:clamp(48px,8.5vw,130px) 0 clamp(30px,4vw,60px);font-family:Georgia,'Times New Roman',serif;color:#48172d}
.template-index .dos-reviews .container,.dos-reviews .container{width:87.5%;max-width:1320px}
.template-index .dos-reviews .section-title,.dos-reviews .section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2.2vw,32px);font-style:italic;font-weight:700;letter-spacing:-.04em;margin:0 0 24px;line-height:1.15}
.review-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:2px 0 6px}
.review-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 calc((100% - 32px)/3);min-width:0;margin:0;background:white;border-radius:8px;padding:clamp(18px,2vw,30px);display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;min-height:clamp(220px,21vw,310px)}
.review-quote{width:28px;height:28px;display:block;flex-shrink:0}
.template-index .dos-reviews .stars,.dos-reviews .stars{font-family:Georgia,serif;text-align:center;font-size:clamp(20px,2.2vw,32px);letter-spacing:0;line-height:1;margin:16px 0 14px}
.template-index .dos-reviews .review-card .rte,.dos-reviews .review-card .rte{font-family:Georgia,'Times New Roman',serif;font-size:clamp(12px,1.25vw,18px);line-height:1.12;font-weight:700}
.review-card .rte p{margin:0}
.template-index .dos-reviews .review-card cite,.dos-reviews .review-card cite{display:block;margin-top:auto;padding-top:24px;text-align:right;font-size:clamp(11px,1.15vw,16px);font-weight:700;font-style:normal}
.review-controls{display:flex;align-items:center;gap:12px;margin-top:12px}
.template-index .review-controls button,.review-controls button{background:transparent;color:#48172d;border:1px solid #48172d60;width:36px;height:36px;min-width:36px;border-radius:50%;padding:0;font:18px Arial,sans-serif}
.review-controls button:disabled{opacity:.25}
.review-position{appearance:none;-webkit-appearance:none;width:100%;height:10px;padding:0;border:0;border-radius:8px;background:#fff;cursor:pointer;touch-action:pan-y}
.review-position::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:48px;height:10px;border-radius:8px;background:#666;border:0}
.review-position::-moz-range-thumb{width:48px;height:10px;border-radius:8px;background:#666;border:0}
.review-controls.no-overflow button{display:none}
.review-controls.no-overflow .review-position{opacity:1;cursor:default}
@media(max-width:1000px){.review-card{flex-basis:calc((100% - 16px)/2);min-height:250px}}
@media(max-width:600px){.template-index .dos-reviews,.dos-reviews{padding:48px 0 32px;border-radius:28px 28px 0 0}.review-track{gap:12px}.review-card{flex-basis:88%;min-height:245px;padding:22px}.template-index .dos-reviews .review-card .rte{font-size:14px;line-height:1.2}.template-index .dos-reviews .review-card cite{font-size:12px}.template-index .dos-reviews .stars{font-size:24px}.review-controls{gap:10px}}
/* Rounded top edges of the customer review panel, as in the landing reference. */
.template-index .dos-reviews,.dos-reviews{border-top-left-radius:48px;border-top-right-radius:48px;border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden}
.template-index .dos-reviews{position:relative;background:#f3ece7}
.template-index .story-teaser{position:relative}
@media(max-width:600px){.template-index .dos-reviews,.dos-reviews{border-top-left-radius:28px;border-top-right-radius:28px}}
/* Let the preceding story panel show behind the rounded corners. */
.template-index .dos-reviews{margin-top:-48px;z-index:1}
@media(max-width:600px){.template-index .dos-reviews{margin-top:-28px}}
@font-face{font-family:'Fraunces';src:url('fraunces.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fraunces-italic.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}
/* Our Story: reference proportions, vertical centering, and clear separation. */
.template-index .story-teaser,.story-teaser{display:grid;grid-template-columns:59.4% 40.6%;align-items:stretch;min-height:0;height:auto;background:white}
.template-index .story-copy,.story-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(48px,8vw,120px);padding-right:clamp(40px,10vw,150px);min-height:clamp(400px,40vw,600px);gap:0}
.template-index .story-copy .section-title,.story-copy .section-title{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:750;font-variation-settings:'SOFT' 0,'WONK' 1,'opsz' 72;letter-spacing:-.035em;font-size:clamp(26px,2.75vw,42px);line-height:1.1;margin:0 0 24px}
.template-index .story-copy .rte,.story-copy .rte{font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.7vw,26px);font-weight:700;line-height:1.14;max-width:570px;text-align:left;margin:0}
.story-copy .rte p{margin:0}
.template-index .story-copy .button,.story-copy .button{margin:32px 0 0;padding:16px 32px;min-width:180px;min-height:48px;text-align:center;border-radius:16px;font-family:Georgia,serif;font-size:16px;line-height:1.1}
.template-index .story-art,.story-art{min-height:0;background:repeating-conic-gradient(#dedede 0% 25%,#fff 0% 50%) 0 0/clamp(120px,14vw,212px) clamp(120px,14vw,212px)}
.story-art img{width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.template-index .story-teaser,.story-teaser{grid-template-columns:1fr}.template-index .story-copy,.story-copy{min-height:350px;padding:48px 28px;align-items:center}.template-index .story-copy .section-title{font-size:28px;text-align:center}.template-index .story-copy .rte{font-size:17px;text-align:center;max-width:440px}.template-index .story-copy .button{margin-top:26px}.template-index .story-art,.story-art{min-height:240px}}

/* Seamless delivery ticker: equal repeated groups meet at every loop. */
.delivery-strip.delivery-marquee{display:block;overflow:hidden;padding:0;height:auto;min-height:32px;background:var(--accent);color:#fff}
.delivery-marquee__track{display:flex;width:max-content;animation:dos-delivery-scroll 28s linear infinite;will-change:transform}
.delivery-marquee__group{display:flex;flex:0 0 auto;align-items:center;justify-content:space-around;gap:0;min-width:100vw}
.delivery-marquee__group>span{display:flex;align-items:center;justify-content:center;gap:clamp(28px,3.5vw,54px);padding:14px 28px;white-space:nowrap;font-size:clamp(10px,1.2vw,18px);font-weight:700}
.delivery-marquee .icon{width:24px;height:24px;flex-shrink:0}
@keyframes dos-delivery-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.delivery-marquee__group>span{padding:10px 22px;font-size:11px;gap:28px}.delivery-marquee .icon{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.delivery-marquee__track{animation:none;transform:none;will-change:auto}}
/* Compact service guarantees across storefront pages. */
.service-benefits,.template-index .service-benefits{height:auto;padding:40px 0 36px;border-radius:28px 28px 0 0}
.benefits-grid,.template-index .benefits-grid{gap:32px;align-items:start}
.benefits-grid .icon,.template-index .benefits-grid .icon{width:30px;height:30px}
.benefits-grid h2,.template-index .benefits-grid h2{font-size:16px;line-height:1.15;margin:10px 0 8px}
.benefits-grid .rte,.template-index .benefits-grid .rte,.benefits-grid>div>p{font-size:10px;line-height:1.25;max-width:260px;margin:0 auto}
.benefits-grid .rte p{margin:0}
@media(max-width:767px){.benefits-grid,.template-index .benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-benefits,.template-index .service-benefits{padding:30px 0}.benefits-grid h2,.template-index .benefits-grid h2{font-size:12px}.benefits-grid .rte,.template-index .benefits-grid .rte,.benefits-grid>div>p{font-size:9px}.benefits-grid .icon,.template-index .benefits-grid .icon{width:24px;height:24px}}
@media(max-width:380px){.benefits-grid,.template-index .benefits-grid{grid-template-columns:1fr;gap:20px}}
/* Restore the original guarantee panel dimensions with compact content. */
.service-benefits{padding:100px 0;border-radius:48px 48px 0 0}
.benefits-grid{gap:50px;grid-template-columns:repeat(3,1fr)}
.template-index .service-benefits{height:calc(396 * var(--landing-unit));padding:calc(130 * var(--landing-unit)) 0 calc(80 * var(--landing-unit));border-radius:50px 50px 0 0}
.template-index .benefits-grid{gap:calc(90 * var(--landing-unit))}
@media(max-width:900px){.benefits-grid{gap:24px}}
@media(max-width:600px){.service-benefits{padding:60px 0}.benefits-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:700px){.template-index .service-benefits{height:auto;padding:60px 0}.template-index .benefits-grid{grid-template-columns:1fr;gap:40px}}
/* Clean mobile guarantees: icons and titles only. */
@media(max-width:700px){
.service-benefits .benefits-grid .rte,.service-benefits .benefits-grid>div>p{display:none}
.service-benefits .benefits-grid,.template-index .service-benefits .benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;text-align:center}
.service-benefits .benefits-grid h2,.template-index .service-benefits .benefits-grid h2{font-size:12px;line-height:1.3;margin:12px 0 0}
.service-benefits .benefits-grid .icon,.template-index .service-benefits .benefits-grid .icon{width:26px;height:26px}
}
/* FAQ accordion styling from the supplied DOS reference. */
.template-index .faq,.faq{width:62%;max-width:1040px;margin-inline:auto;padding:80px 0 110px}
.template-index .faq details,.faq details{background:#fff;border:1px solid #704152;border-radius:18px;padding:7px 8px 7px 28px;margin:0 0 16px;overflow:hidden}
.template-index .faq summary,.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px;list-style:none;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:750;font-size:clamp(16px,1.65vw,25px);line-height:1.2;color:#48172d;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.template-index .faq summary span,.faq summary span{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:11px;background:#48172d;color:#fff;font:700 31px/1 Arial,sans-serif;transform:none}
.template-index .faq details[open] summary span,.faq details[open] summary span{transform:rotate(180deg)}
.faq details>.rte,.faq details>p{padding:8px 54px 12px 0;font-family:Georgia,serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.5;color:#48172d}
.faq summary:focus-visible{outline:2px solid #48172d;outline-offset:3px;border-radius:8px}
@media(max-width:700px){.template-index .faq,.faq{width:90%;padding:48px 0 60px}.template-index .faq details,.faq details{padding:7px 8px 7px 16px;border-radius:15px;margin-bottom:12px}.template-index .faq summary,.faq summary{font-size:14px;gap:12px;min-height:38px}.template-index .faq summary span,.faq summary span{flex-basis:36px;width:36px;height:36px;font-size:27px;border-radius:9px}.faq details>.rte,.faq details>p{font-size:14px;padding-right:12px}}

/* FAQ geometry follows the 903px reference: 558px rows, 49px high, 14px gaps. */
.template-index .faq,.faq{width:61.8%;max-width:1040px;padding:80px 0 110px}
.template-index .faq details,.faq details{padding:6px 7px 6px 28px;border:1px solid #704152;border-radius:16px;margin-bottom:14px}
.template-index .faq summary,.faq summary{min-height:36px;font-family:'Fraunces',Georgia,serif;font-size:clamp(14px,1.65vw,25px);font-weight:750;font-style:italic;letter-spacing:-.04em;line-height:1.1;gap:16px}
.template-index .faq summary .faq-arrow,.faq summary .faq-arrow{width:39px;height:36px;flex:0 0 39px;border-radius:10px;padding:7px 9px;background:#48172d;color:white}
.faq-arrow svg{display:block;width:21px;height:22px}
.template-index .faq details[open] summary .faq-arrow,.faq details[open] summary .faq-arrow{transform:none}
.faq details[open] .faq-arrow svg{transform:rotate(180deg)}
@media(min-width:1200px){.template-index .faq details,.faq details{padding:8px 9px 8px 40px;border-radius:22px;margin-bottom:20px}.template-index .faq summary{min-height:48px}.template-index .faq summary .faq-arrow{width:50px;height:48px;flex-basis:50px;padding:11px 13px;border-radius:12px}.faq-arrow svg{width:24px;height:26px}}
@media(max-width:700px){.template-index .faq,.faq{width:90%;padding:48px 0 60px}.template-index .faq details,.faq details{padding:6px 7px 6px 16px;margin-bottom:14px;border-radius:16px}.template-index .faq summary,.faq summary{font-size:13px;letter-spacing:-.025em;min-height:36px;gap:10px}.template-index .faq summary .faq-arrow,.faq summary .faq-arrow{width:36px;height:36px;flex-basis:36px;padding:7px 8px}.faq-arrow svg{width:20px;height:22px}}
/* Smaller guarantee descriptions and vertically stacked mobile guarantees. */
.service-benefits .benefits-grid .rte,.template-index .service-benefits .benefits-grid .rte,.service-benefits .benefits-grid>div>p{font-size:9px;line-height:1.3;max-width:240px}
@media(max-width:700px){.service-benefits .benefits-grid,.template-index .service-benefits .benefits-grid{grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}.service-benefits .benefits-grid>div{display:flex;flex-direction:column;align-items:center}.service-benefits .benefits-grid h2,.template-index .service-benefits .benefits-grid h2{margin-top:10px}.service-benefits .benefits-grid .rte,.service-benefits .benefits-grid>div>p{display:none}}
/* Accordion arrow close-up: rounded square, bold white arrow, even inset. */
.template-index .faq details,.faq details{padding-top:7px;padding-bottom:7px;padding-right:8px}
.template-index .faq summary .faq-arrow,.faq summary .faq-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:40px;padding:9px;border-radius:11px;background:#48172d;color:#fff}
.faq-arrow svg{width:24px;height:25px;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter}
@media(min-width:1200px){.template-index .faq details,.faq details{padding-top:9px;padding-bottom:9px;padding-right:10px}.template-index .faq summary .faq-arrow,.faq summary .faq-arrow{width:52px;height:48px;flex-basis:52px;padding:10px 12px;border-radius:13px}.faq-arrow svg{width:28px;height:30px}}
@media(max-width:700px){.template-index .faq details,.faq details{padding-top:7px;padding-bottom:7px;padding-right:8px}.template-index .faq summary .faq-arrow,.faq summary .faq-arrow{width:38px;height:36px;flex-basis:38px;padding:7px 8px;border-radius:10px}.faq-arrow svg{width:22px;height:23px}}

/* Solid reference arrow, unaffected by earlier stroke-based icon rules. */
.faq-arrow .faq-arrow-icon{display:block;fill:currentColor;stroke:none;stroke-width:0;width:24px;height:26px;flex-shrink:0}
@media(min-width:1200px){.faq-arrow .faq-arrow-icon{width:28px;height:30px}}
@media(max-width:700px){.faq-arrow .faq-arrow-icon{width:22px;height:24px}}

/* DOS footer reference layout, shared across pages. */
.site-footer,.template-index .site-footer{background:#48172d;color:#f3ece7;padding:86px 0 50px;border:0}
.site-footer .container,.template-index .site-footer .container{width:84%;max-width:1440px}
.footer-grid,.template-index .footer-grid{display:grid;grid-template-columns:1.16fr 1fr .8fr;column-gap:0;row-gap:0;align-items:start}
.footer-grid .brand img,.template-index .footer-grid .brand img{width:124px;min-width:0;height:auto}
.footer-tagline,.template-index .footer-tagline{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:700;font-size:14px;line-height:1.18;margin:34px 0 0}
.footer-grid h2,.template-index .footer-grid h2{font-family:'Fraunces',Georgia,serif;font-size:22px;font-weight:700;line-height:1.2;margin:4px 0 30px}
.footer-grid nav a,.template-index .footer-grid nav a{display:block;width:fit-content;text-decoration:none;font-family:'Fraunces',Georgia,serif;font-size:18px;font-style:italic;font-weight:700;line-height:1.3;margin:0 0 36px}
.footer-grid nav a:hover{text-decoration:underline}
.footer-newsletter,.template-index .footer-newsletter{grid-column:2/4;justify-self:end;width:41%;min-width:460px;max-width:100%;margin:45px 0 0}
.footer-newsletter h2,.template-index .footer-newsletter h2{font-size:18px;font-weight:700;text-align:center;margin:0 0 14px}
.newsletter-field,.template-index .newsletter-field{display:flex;height:56px;min-height:0;padding:4px;border-radius:14px;background:#fff}
.newsletter-field input{min-width:0;padding:10px 16px;border:0;font-family:'Fraunces',Georgia,serif;font-size:16px;font-weight:700;color:#48172d}
.newsletter-field input::placeholder{color:#48172d;opacity:1}
.template-index .newsletter-field button,.newsletter-field button{display:flex;justify-content:center;align-items:center;width:46px;flex:0 0 46px;margin:0;padding:8px;border-radius:12px;background:#48172d;color:#fff;border:0}
.newsletter-field button .icon{width:29px;height:29px;stroke-width:3}
.footer-bottom,.template-index .footer-bottom{border-top:1px solid #f3ece780;display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding-top:14px;font-family:'Fraunces',Georgia,serif;font-size:16px;font-weight:700}
.social-links{display:flex;align-items:center;gap:10px}.social-links a,.social-links>span{display:inline-flex;width:28px;height:28px;color:#f3ece7}.social-links svg{width:100%;height:100%}
@media(max-width:1000px){.site-footer,.template-index .site-footer{padding:64px 0 32px}.footer-grid h2,.template-index .footer-grid h2{font-size:18px}.footer-grid nav a,.template-index .footer-grid nav a{font-size:15px}.footer-newsletter,.template-index .footer-newsletter{min-width:0;width:80%;margin-top:32px}}
@media(max-width:700px){.site-footer,.template-index .site-footer{padding:48px 0 28px}.footer-grid,.template-index .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .brand img,.template-index .footer-grid .brand img{width:100px}.footer-tagline,.template-index .footer-tagline{margin-top:20px;font-size:12px}.footer-grid h2,.template-index .footer-grid h2{font-size:16px;margin-bottom:22px}.footer-grid nav a,.template-index .footer-grid nav a{font-size:14px;margin-bottom:22px}.footer-newsletter,.template-index .footer-newsletter{grid-column:1/-1;width:100%;margin:0}.footer-newsletter h2,.template-index .footer-newsletter h2{font-size:14px;margin-bottom:12px}.footer-bottom,.template-index .footer-bottom{font-size:12px;gap:20px;flex-wrap:wrap;flex-direction:row}.social-links{gap:8px}.social-links a,.social-links>span{width:24px;height:24px}}
.newsletter-field button .icon{stroke-width:2}

/* Revised New Arrivals reference with integrated detail gallery. */
.arrival-reference-gallery{width:100%;height:100%;background-image:url('new-arrivals-reference.png');background-repeat:no-repeat;background-size:242.222222222% 130.23255814%;background-position:8.680555556% 67.832167832%}
.template-index .arrival-card{grid-template-columns:46% 54%;height:auto;min-height:0;border-radius:20px;align-items:stretch}
.template-index .arrival-images{min-height:0;aspect-ratio:405/473;display:flex;overflow:hidden;background:#fff}
.template-index .arrival-images>img{width:100%;height:100%;object-fit:contain}.template-index .arrival-images>.reference-photo{width:50%}
.template-index .arrival-copy{padding:clamp(32px,7vw,105px) clamp(28px,6vw,90px) clamp(30px,6vw,90px);justify-content:center;align-items:flex-start}
.template-index .arrival-copy h3{font-family:'Fraunces',Georgia,serif;font-size:clamp(22px,2.45vw,37px);line-height:1.12;margin:0 0 24px;font-weight:750}
.template-index .arrival-copy .rte{font-family:'Fraunces',Georgia,serif;font-size:clamp(15px,1.6vw,24px);line-height:1.18;font-weight:400}
.template-index .arrival-price{display:flex;align-items:center;gap:24px;min-height:48px;padding:3px 3px 3px 16px;margin-top:24px;border:1px solid #8c6574;border-radius:16px;font-family:'Fraunces',Georgia,serif;font-weight:750;font-size:clamp(19px,2vw,30px)}
.template-index .arrival-price .card-bag{width:44px;height:44px;padding:9px;border-radius:12px}.template-index .arrival-price .icon{width:26px;height:26px}
.template-index .arrival-copy .button{margin-top:clamp(50px,10vw,150px);font-family:'Fraunces',Georgia,serif;font-size:clamp(14px,1.5vw,22px);padding:18px 38px;border-radius:16px}
@media(max-width:767px){.template-index .arrival-card{grid-template-columns:1fr}.template-index .arrival-images{width:100%;height:auto;aspect-ratio:405/473}.template-index .arrival-copy{padding:32px 24px}.template-index .arrival-copy h3{font-size:26px;margin-bottom:16px}.template-index .arrival-copy .rte{font-size:16px}.template-index .arrival-copy .button{margin-top:32px;padding:16px 28px;font-size:14px}.template-index .arrival-price{font-size:22px;margin-top:20px}}

/* Bestsellers: preserve four desktop cards and loop through products. */
.bestseller-slider .product-carousel{scrollbar-width:none;padding-bottom:0}.bestseller-slider .product-carousel::-webkit-scrollbar{display:none}
.bestseller-controls{display:flex;align-items:center;gap:12px;margin-top:20px}
.bestseller-controls button,.template-index .bestseller-controls button{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #48172d50;border-radius:50%;background:transparent;color:#48172d;font:20px Arial,sans-serif;cursor:pointer}
.bestseller-position{appearance:none;-webkit-appearance:none;flex:1;min-width:0;height:10px;background:white;border:0;border-radius:8px;padding:0;cursor:pointer}
.bestseller-position::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:80px;height:10px;background:#666;border-radius:8px;border:0}
.bestseller-position::-moz-range-thumb{width:80px;height:10px;background:#666;border-radius:8px;border:0}
@media(max-width:600px){.bestseller-controls{gap:10px}.bestseller-position::-webkit-slider-thumb{width:48px}.bestseller-position::-moz-range-thumb{width:48px}}
/* DOS purple slider handles. */
.bestseller-position::-webkit-slider-thumb,.review-position::-webkit-slider-thumb{background:#48172d}
.bestseller-position::-moz-range-thumb,.review-position::-moz-range-thumb{background:#48172d}
/* Smaller footer typography and wordmark. */
.site-footer .footer-grid .brand img,.template-index .site-footer .footer-grid .brand img{width:88px;min-width:0;height:auto}
.site-footer .footer-grid h2,.template-index .site-footer .footer-grid h2{font-size:17px}
.site-footer .footer-grid nav a,.template-index .site-footer .footer-grid nav a{font-size:14px}
.site-footer .footer-tagline,.template-index .site-footer .footer-tagline{font-size:11px}
.site-footer .footer-newsletter h2,.template-index .site-footer .footer-newsletter h2{font-size:14px}
.site-footer .newsletter-field input{font-size:14px}
.site-footer .footer-bottom,.template-index .site-footer .footer-bottom{font-size:12px}
@media(max-width:767px){.site-footer .footer-grid .brand img,.template-index .site-footer .footer-grid .brand img{width:68px}.site-footer .footer-grid h2,.template-index .site-footer .footer-grid h2{font-size:14px}.site-footer .footer-grid nav a,.template-index .site-footer .footer-grid nav a{font-size:12px}.site-footer .footer-tagline,.template-index .site-footer .footer-tagline{font-size:10px}.site-footer .footer-newsletter h2,.template-index .site-footer .footer-newsletter h2{font-size:12px}.site-footer .footer-bottom,.template-index .site-footer .footer-bottom{font-size:10px}.site-footer .newsletter-field input{font-size:16px}}

/* One clean original photograph on desktop; mobile retains its swipe gallery. */
.arrival-desktop-photo{display:none}
@media(min-width:768px){.template-index .arrival-card>.arrival-images{display:none}.arrival-desktop-photo{display:flex;align-items:center;justify-content:center;background:white;min-width:0;height:clamp(480px,46vw,700px);padding:20px}.arrival-desktop-photo img{display:block;width:100%;height:100%;object-fit:contain}}

/* Desktop front/back switch: one original photograph visible at a time. */
@media(min-width:768px){.arrival-desktop-photo{flex-direction:column;gap:16px}.arrival-desktop-photo .arrival-view{width:100%;flex:1;min-height:0}.arrival-desktop-photo .arrival-view img{width:100%;height:100%;object-fit:contain}.arrival-view-controls{display:flex;justify-content:center;gap:10px;flex-shrink:0}.template-index .arrival-view-controls button{min-height:44px;padding:10px 22px;font:600 14px 'Fraunces',Georgia,serif;border:1px solid #48172d;border-radius:10px;background:white;color:#48172d}.template-index .arrival-view-controls button[aria-pressed="true"]{background:#48172d;color:white}}
/* Smaller Our Story heading and body copy. */
.template-index .story-copy .section-title{font-size:clamp(22px,2.1vw,32px)}
.template-index .story-copy .rte{font-size:clamp(14px,1.35vw,20px);line-height:1.25}
@media(max-width:767px){.template-index .story-copy .section-title{font-size:24px}.template-index .story-copy .rte{font-size:15px;line-height:1.3}}
