@font-face{
  font-family:"Foda Display";
  src:url("fonts/FodaDisplay-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --brand:#5a3036;
  --brand-dark:#43252a;
  --accent:#98865d;
  --accent-light:#c8b991;
  --paper:#f4ede4;
  --soft:#faf8f4;
  --white:#fdfbf7;
  --ink:#302925;
  --muted:#716760;
  --line:#d8cdc1;
  --display:"Foda Display",serif;
  --heading:"Lato",sans-serif;
  --body:"Lora",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;background:var(--soft);color:var(--ink);font-family:var(--body);font-size:16px}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.shell{width:min(1320px,calc(100% - 80px));margin-inline:auto}
.section{padding:84px 0}
.eyebrow{margin:0;color:var(--accent);font:600 10px var(--heading);letter-spacing:.18em;text-transform:uppercase}
.eyebrow.pale{color:var(--accent-light)}
.actions{display:flex;align-items:center;gap:22px;margin-top:26px}
.button{display:inline-flex;min-height:46px;padding:0 22px;align-items:center;justify-content:center;background:var(--brand);color:#fff;font:600 10px var(--heading)}
.button.gold{background:var(--accent);color:#fffdf8}
.button.outline{border:1px solid #e8d7ad77;background:transparent}
.arrow-link{display:inline-block;padding-bottom:4px;border-bottom:1px solid #6c34435c;font:600 10px var(--heading)}
.arrow-link.light{border-color:#ffffff66}

/* Reusable editorial page hero for content-led pages. */
.standard-page-hero{background:var(--brand);color:#fff}
.standard-page-hero-inner{min-height:525px;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:115px}
.standard-page-hero .breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 53px;color:#eaded2b8;font:500 9px var(--heading);letter-spacing:.08em;text-transform:uppercase}
.standard-page-hero .breadcrumb span{color:#d5ba80}
.standard-page-hero-kicker{margin:0;color:#d7be87;font:600 11px/1.35 var(--heading);letter-spacing:.15em;text-transform:uppercase}
.standard-page-hero h1{margin:15px 0 0;color:#fffaf5;font:400 86px/.88 var(--display);letter-spacing:-.025em}
.standard-page-hero h1 em{display:inline-block;margin-left:49px;color:#e1aaa5;font-size:.9em;font-style:italic}
.standard-page-hero-summary>p{max-width:520px;margin:0;color:#f2e6dadb;font:400 17px/1.78 var(--body)}
.standard-page-hero-link{display:inline-flex;align-items:center;gap:37px;margin-top:32px;padding-bottom:8px;border-bottom:1px solid #ccb37c;color:#fff8eb;font:600 10px var(--heading);letter-spacing:.07em;text-transform:uppercase}
.standard-page-hero-link span{font-size:15px}

@media(max-width:1100px){
  .standard-page-hero-inner{gap:65px}
}

@media(max-width:900px){
  .standard-page-hero-inner{padding:62px 0 69px;grid-template-columns:1fr;gap:43px}
  .standard-page-hero .breadcrumb{margin-bottom:38px}
  .standard-page-hero h1{font-size:76px}
  .standard-page-hero-summary{max-width:680px}
}

@media(max-width:520px){
  .standard-page-hero-inner{padding:38px 0 53px;gap:37px}
  .standard-page-hero .breadcrumb{margin-bottom:29px;font-size:8px}
  .standard-page-hero-kicker{font-size:9px}
  .standard-page-hero h1{font-size:56px}
  .standard-page-hero h1 em{margin-left:28px}
  .standard-page-hero-summary>p{font-size:15px;line-height:1.72}
}

.topline{height:32px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--brand-dark);color:#fff;font:600 9px var(--heading);letter-spacing:.12em;text-transform:uppercase}
.topline b{color:var(--accent-light)}
.header{height:112px;background:var(--paper);position:relative;z-index:10}
.header-utility{height:28px;padding:0 4.5%;display:flex;align-items:center;justify-content:flex-end;gap:24px;font:500 9px var(--heading);text-transform:uppercase}
.header-main{height:84px;display:grid;grid-template-columns:210px 1fr 44px 66px;align-items:center}
.logo img{width:168px}
.header nav{display:flex;justify-content:center;gap:34px;font:500 12px var(--heading)}
.header nav a{position:relative}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--brand);transition:right .2s ease}
.header nav a:hover:after{right:0}
.cart{justify-self:end;font:500 11px var(--heading)}
.cart i{display:inline-grid;width:22px;height:22px;margin-left:6px;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font:normal 9px var(--heading)}
.account-shortcut{width:34px;height:34px;display:grid;place-items:center;justify-self:end;border-radius:50%;color:var(--brand);transition:background .2s ease,color .2s ease}
.account-shortcut:hover,.account-shortcut:focus-visible{background:var(--brand);color:#fff;outline:0}
.account-shortcut[data-favorites]:not([data-favorites="0"]):after{content:attr(data-favorites);position:absolute;right:-4px;top:-4px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;border:2px solid #f4ede4;border-radius:12px;background:var(--accent);color:#fff;font:600 7px var(--heading)}
.account-shortcut{position:relative}
.account-icon{width:17px;height:18px;position:relative;display:block}
.account-icon:before{content:"";position:absolute;left:5px;top:0;width:7px;height:7px;border:1.6px solid currentColor;border-radius:50%}
.account-icon:after{content:"";position:absolute;left:2px;bottom:0;width:13px;height:8px;border:1.6px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.menu-toggle{display:none;width:38px;height:38px;padding:10px;border:0;background:transparent}
.menu-toggle span{display:block;height:1px;margin:5px 0;background:var(--brand)}

.hero{height:570px;display:grid;grid-template-columns:1.55fr .85fr}
.hero-slider{height:570px;display:grid;grid-template-columns:.17fr .66fr .17fr;gap:10px;align-items:center;position:relative;overflow:hidden;background:#ece2d5}
.hero-slide{height:500px;margin:0;position:relative;overflow:hidden}
.hero-slide img{height:100%;object-fit:cover}
.hero-slide.side{overflow:visible;transform:scale(.96)}
.hero-slide.side img{position:relative;z-index:2;opacity:.31;filter:saturate(.55) contrast(.88)}
.hero-slide.previous img{object-position:57% center}
.hero-slide.next img{object-position:42% center}
.hero-slide.active{height:570px;overflow:visible}
.hero-slide.active img{position:relative;z-index:2}
.slider-controls{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f8f2e9e8;color:var(--ink)}
.slider-controls button{padding:0;border:0;background:transparent;font:500 13px var(--heading)}
.slider-controls span{font:500 8px var(--heading);letter-spacing:.08em}
.slider-controls span b{color:var(--brand)}
.slider-controls i{display:block;width:40px;height:1px;background:#a89482}
.hero-copy{height:570px;padding:56px 42px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3;overflow:hidden;background:var(--brand);color:#fff}
.hero-copy:before{content:"";position:absolute;width:170px;height:170px;left:-58px;top:-70px;border-radius:50%;background:#e1c77a1b}
.hero-copy h1{margin:14px 0 22px;font:400 52px/1.01 var(--display)}
.hero-copy h1 em{color:var(--accent-light);font-style:italic}
.hero-copy>p:not(.eyebrow){max-width:390px;margin:0;color:#fff9efcf;font:400 14px/1.75 var(--body)}

.brand-intro{padding:76px 11% 64px;text-align:center;background:var(--soft)}
.since-mark{display:inline-block;margin-top:9px;color:var(--muted);font:500 10px var(--heading);letter-spacing:.14em;text-transform:uppercase}
.brand-intro h2{margin:13px 0 16px;font:400 54px/1 var(--display)}
.brand-intro h2 em{color:var(--accent);font-style:italic}
.brand-intro>p:nth-of-type(2){max-width:850px;margin:0 auto;color:var(--muted);font:400 15px/1.8 var(--body)}
.intro-facts{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-facts span{padding:20px;border-left:1px solid var(--line);color:var(--muted);font:400 12px/1.5 var(--body)}
.intro-facts span:first-child{border-left:0}
.intro-facts b{display:block;margin-bottom:4px;color:var(--ink);font:600 14px var(--heading)}

.season{background:var(--paper)}
.section-title{display:grid;grid-template-columns:1fr .92fr;gap:90px;align-items:end;margin-bottom:46px}
.section-title h2{margin:12px 0 0;font:400 58px/.98 var(--display)}
.section-title h2 em,.business-title h2 em{color:var(--accent);font-style:italic}
.section-title>div:last-child{padding-bottom:4px}
.section-title>div:last-child>p{max-width:560px;margin:0 0 17px;color:var(--muted);font:400 15px/1.72 var(--body)}
.season-cta-title{display:block;margin-bottom:10px;color:var(--brand);font:600 18px var(--heading)}
.season-grid{height:520px;display:grid;grid-template-columns:1.16fr .84fr;grid-template-rows:1fr 1fr;gap:18px}
.season-feature{grid-row:1/3;min-height:0;position:relative;overflow:hidden}
.season-feature>img,.season-card>img{position:absolute;height:100%;object-fit:cover}
.season-feature>img{z-index:2}
.season-feature>div,.season-card>div{position:absolute;z-index:3;left:24px;bottom:22px;padding:14px 17px;background:#4a222be8;color:#fff}
.season-feature span,.season-card span{color:var(--accent-light);font:600 8px var(--heading);letter-spacing:.14em;text-transform:uppercase}
.season-feature h3,.season-card h3{margin:5px 0;font:600 21px var(--heading)}
.season-feature a{font:600 9px var(--heading)}
.season-card{position:relative;min-height:0;overflow:hidden}
.season-card>div{background:#fdfbf7eb;color:var(--ink)}
.season-card>div span{color:var(--accent)}
.season-bar{height:64px;margin-top:32px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#eadcc8;font:400 11px var(--body)}
.season-bar a{border-bottom:1px solid;color:var(--brand);font:600 10px var(--heading)}

.routes{background:var(--soft)}
.compact-title,.products-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}
.compact-title h2,.products-title h2{margin:9px 0 0;font:600 40px/1.08 var(--heading);letter-spacing:-.025em}
.search{width:390px;padding:13px 4px;display:flex;justify-content:space-between;border-bottom:1px solid #8f8177;color:#8f8177;font:400 11px var(--body)}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.route-card{height:350px;position:relative;overflow:hidden;isolation:isolate;color:#fff}
.route-card img{position:absolute;inset:0;z-index:-2;height:100%;object-fit:cover;filter:brightness(.69)}
.route-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 42%,#26191ae6)}
.route-card>div{position:absolute;left:27px;right:27px;bottom:24px}
.route-card span{display:inline-block;padding:6px 8px;background:var(--accent);color:#fffdf8;font:600 8px var(--heading);letter-spacing:.12em;text-transform:uppercase}
.route-card h3{margin:10px 0 7px;font:600 28px var(--heading)}
.route-card small{font:500 10px var(--heading)}
.products-title{margin-top:60px}
.products-title h2{font-size:32px}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.products article{padding:12px 12px 17px;background:var(--white)}
.product-photo{height:220px;position:relative;background:#eee6dc}
.product-photo img{height:100%;object-fit:contain;mix-blend-mode:multiply}
.product-photo b{position:absolute;z-index:2;left:10px;top:10px;padding:6px 8px;background:var(--brand);color:#fff;font:600 7px var(--heading);text-transform:uppercase}
.products article>small{display:block;margin-top:13px;color:#86786e;font:600 8px var(--heading);letter-spacing:.09em;text-transform:uppercase}
.products article h3{margin:5px 0 14px;font:600 16px var(--heading)}
.products footer{display:flex;align-items:center;justify-content:space-between;font:400 11px var(--body)}
.products button{width:32px;height:32px;border:0;border-radius:50%;background:var(--brand);color:#fff}

.atelier{padding:78px 0;background:var(--brand);color:#fff;overflow:hidden}
.atelier-inner{min-height:630px;display:grid;grid-template-columns:1fr 1.04fr .31fr;gap:28px;align-items:center}
.atelier-copy{padding-right:22px}
.atelier-copy h2{margin:14px 0 25px;font:400 44px/1.04 var(--display)}
.atelier-copy h2 em{color:var(--accent-light);font-style:italic}
.atelier-points{margin:0 0 26px;border-top:1px solid #ffffff26}
.atelier-points p{margin:0;padding:15px 0;border-bottom:1px solid #ffffff26;color:#fff8efcf;font:400 13.5px/1.65 var(--body)}
.atelier-points b{color:#fff;font-weight:600}
.atelier-photo{height:510px;position:relative;overflow:hidden}
.atelier-photo img{height:100%;position:relative;z-index:2;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.atelier-detail{align-self:start;margin-top:58px}
.atelier-detail img{height:205px;object-fit:cover;filter:saturate(.65)}
.atelier-detail span{display:block;margin-top:14px;color:var(--accent-light);font:600 13px/1.4 var(--heading)}

.assortment{background:var(--white)}
.assortment-title{margin-bottom:42px}
.assortment-grid{height:590px;display:grid;grid-template-columns:1.24fr .56fr;grid-template-rows:1fr 1fr;gap:20px}
.assortment-main{grid-row:1/3;min-height:0;position:relative;overflow:hidden;color:#fff}
.assortment-main>img,.assortment-detail>img{height:100%;object-fit:cover}
.assortment-main>img{position:relative;z-index:2;object-position:center 45%}
.assortment-rail{position:absolute;z-index:3;left:22px;top:24px;bottom:24px;width:48px;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font:500 18px var(--heading);letter-spacing:.02em;writing-mode:vertical-rl;transform:rotate(180deg)}
.assortment-detail{min-height:0;position:relative;overflow:hidden;background:var(--paper)}
.assortment-detail>img{transition:transform .35s ease}
.assortment-detail:hover>img{transform:scale(1.025)}
.assortment-detail>span{position:absolute;z-index:3;left:18px;bottom:17px;padding:11px 14px;background:#fdfbf7e8;color:var(--ink);font:600 13px var(--heading)}
.assortment-product{overflow:hidden}
.assortment-product>img{position:relative;z-index:2}
.assortment-product>span{z-index:3}

.business{background:var(--paper)}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.business-card{height:370px;position:relative;overflow:hidden;isolation:isolate;color:#fff}
.business-card img{position:absolute;inset:0;z-index:-2;height:100%;object-fit:cover;filter:brightness(.72) saturate(.8)}
.business-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 30%,#28191bf2 88%)}
.business-card>div{position:absolute;left:30px;right:30px;bottom:27px}
.business-card span{color:var(--accent-light);font:600 8px var(--heading);letter-spacing:.15em;text-transform:uppercase}
.business-card h3{margin:7px 0;font:600 30px var(--heading)}
.business-card p{margin:0;color:#fff9ede0;font:400 12px/1.5 var(--body)}
.business-card b{display:inline-block;margin-top:10px;padding-bottom:4px;border-bottom:1px solid;font:600 9px var(--heading)}
.business-proof{height:76px;margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;background:#eadcc7}
.business-proof span{padding:14px 23px;border-left:1px solid #ccbaa4;font:600 10px var(--heading)}
.business-proof span:first-child{border-left:0}
.business-proof b{margin-right:11px;color:var(--accent);font:700 8px var(--heading)}

.quality{padding:52px 0;background:#f8f3ec}
.quality-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.quality article{min-height:158px;display:grid;grid-template-columns:82px 1fr;align-items:center;padding:0 32px;border-left:1px solid var(--line)}
.quality article:first-child{border-left:0}
.quality img{width:62px;height:62px;object-fit:contain}
.quality h3{margin:0 0 8px;font:600 15px var(--heading)}
.quality p{margin:0;color:var(--muted);font:400 12px/1.58 var(--body)}

.visit{padding:72px 0 58px;background:var(--soft)}
.visit-card{height:450px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--brand);color:#fff}
.visit-photo{height:398px;margin:26px 0 26px 26px;overflow:hidden}
.visit-photo img{height:100%;object-fit:cover;filter:contrast(1.06) saturate(1.08)}
.visit-copy{padding:45px 50px;display:flex;flex-direction:column;justify-content:center}
.visit-copy h2{margin:12px 0 15px;font:400 43px/1.02 var(--display)}
.visit-story{max-width:420px;margin:0 0 12px;color:#fff9efd9;font:400 14px/1.65 var(--body)}
.visit-address{margin:0;color:#fff7eab8;font:400 11px var(--body)}
.open{display:flex;align-items:center;gap:13px;margin-top:14px}
.open i{width:9px;height:9px;border-radius:50%;background:#7fa46d;box-shadow:0 0 0 5px #7fa46d25}
.open span,.open b{display:block;font:500 9px/1.6 var(--heading)}
.hours-panel{min-height:214px;margin-top:34px;padding:28px 30px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;background:var(--paper)}
.hours-intro{align-self:stretch;padding:8px 28px 8px 0;border-right:1px solid var(--line)}
.hours-intro h3{margin:9px 0 13px;font:600 24px var(--heading)}
.hours-intro>p:last-child{margin:0;color:var(--muted);font:400 12px/1.6 var(--body)}
.hours-list{margin:0;display:grid;grid-template-columns:repeat(4,1fr)}
.hours-list>div{min-height:72px;padding:10px 16px;border-left:1px solid var(--line)}
.hours-list>div:nth-child(4n+1){border-left:0}
.hours-list dt{margin-bottom:7px;font:600 11px var(--heading)}
.hours-list dd{margin:0;color:var(--muted);font:400 10px/1.55 var(--body)}
.hours-list .closed dd{color:var(--brand);font-weight:600}
.newsletter{min-height:116px;margin-top:48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.newsletter h3{margin:7px 0;font:600 20px var(--heading)}
.newsletter form{width:430px;display:flex}
.newsletter input{flex:1;padding:13px 4px;border:0;border-bottom:1px solid #95877c;background:transparent;font:400 11px var(--body)}
.newsletter button{padding:0 23px;border:0;background:var(--brand);color:#fff;font:600 9px var(--heading)}

.footer{padding:60px 0 24px;background:var(--brand-dark);color:#f5e8da}
.footer-grid{display:grid;grid-template-columns:1.6fr .7fr .7fr 1.15fr;gap:50px}
.footer-brand img{width:210px;filter:brightness(0) invert(1);opacity:.85}
.footer-brand p,.footer-grid>div>p{color:#f4e6d7a2;font:400 10px/1.65 var(--body)}
.footer h4{margin:0 0 17px;color:var(--accent-light);font:600 9px var(--heading);letter-spacing:.15em;text-transform:uppercase}
.footer a{display:block;margin:9px 0;color:#f3e5d5cf;font:500 11px var(--heading)}
.footer-bottom{margin-top:50px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ffffff1b;color:#e5d4c17d;font:600 8px var(--heading);letter-spacing:.07em;text-transform:uppercase}
.footer-bottom a{display:inline;margin:0;color:inherit;font:inherit}
.cookie-link{padding:6px 0;border:0;border-bottom:1px solid #ffffff40;background:transparent;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer}

@media(max-width:1100px){
  .shell{width:calc(100% - 48px)}
  .header nav{gap:20px}
  .hero{grid-template-columns:1.42fr .88fr}
  .hero-copy{padding-inline:32px}
  .hero-copy h1{font-size:48px}
  .atelier-inner{grid-template-columns:.95fr 1.05fr}
  .atelier-detail{display:none}
  .quality article{padding-inline:20px}
}

@media(max-width:900px){
  .shell{width:calc(100% - 28px)}
  .section{padding:66px 0}
  .topline{height:28px;justify-content:center}
  .topline span{display:none}
  .header{height:82px}
  .header-utility,.header nav{display:none}
  .header-main{height:82px;grid-template-columns:1fr auto auto auto;gap:12px}
  .logo img{width:145px}
  .cart{grid-column:auto}
  .menu-toggle{display:block}
  .hero{height:auto;grid-template-columns:1fr}
  .hero-slider{height:440px;grid-template-columns:.18fr .64fr .18fr;gap:5px}
  .hero-slide{height:390px}
  .hero-slide.active{height:440px}
  .hero-copy{height:auto;min-height:430px;padding:50px 34px}
  .hero-copy h1{font-size:52px}
  .hero-copy>p:not(.eyebrow){font-size:15px}
  .brand-intro{padding:62px 0 56px}
  .brand-intro h2{font-size:49px}
  .brand-intro>p:nth-of-type(2){font-size:15px}
  .intro-facts{grid-template-columns:1fr}
  .intro-facts span{border-left:0;border-top:1px solid var(--line)}
  .intro-facts span:first-child{border-top:0}
  .section-title{grid-template-columns:1fr;gap:22px;margin-bottom:36px}
  .section-title h2{font-size:52px}
  .section-title>div:last-child>p{font-size:15px}
  .season-grid{height:auto;grid-template-columns:1fr;grid-template-rows:none;gap:18px}
  .season-feature{height:430px;grid-row:auto}
  .season-card{height:270px}
  .season-bar{height:auto;min-height:72px;gap:20px}
  .compact-title,.products-title{align-items:flex-start;gap:24px}
  .compact-title{flex-direction:column}
  .search{width:100%}
  .route-grid{grid-template-columns:1fr}
  .route-card{height:280px}
  .products{grid-template-columns:1fr 1fr;gap:12px}
  .product-photo{height:190px}
  .atelier{padding:66px 0}
  .atelier-inner{min-height:0;grid-template-columns:1fr;gap:42px}
  .atelier-copy{padding:0}
  .atelier-copy h2{max-width:680px;font-size:48px}
  .atelier-points p{font-size:14px}
  .atelier-photo{height:460px}
  .assortment-grid{height:auto;grid-template-columns:1fr;grid-template-rows:none;gap:18px}
  .assortment-main{height:520px;grid-row:auto}
  .assortment-detail{height:280px}
  .assortment-rail{left:18px;top:18px;bottom:18px}
  .business-grid{grid-template-columns:1fr}
  .business-card{height:330px}
  .business-proof{height:auto;grid-template-columns:1fr 1fr}
  .business-proof span{min-height:64px;display:flex;align-items:center;border-top:1px solid #ccbaa4}
  .quality-inner{grid-template-columns:1fr}
  .quality article{min-height:145px;border-left:0;border-top:1px solid var(--line)}
  .quality article:first-child{border-top:0}
  .visit-card{height:auto;grid-template-columns:1fr}
  .visit-photo{height:340px;margin:18px 18px 0}
  .visit-copy{padding:45px 34px 50px}
  .hours-panel{grid-template-columns:1fr;padding:28px 24px}
  .hours-intro{padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}
  .hours-list{grid-template-columns:repeat(2,1fr)}
  .hours-list>div,.hours-list>div:nth-child(4n+1){border-left:1px solid var(--line)}
  .hours-list>div:nth-child(2n+1){border-left:0}
  .newsletter{padding:28px 0;flex-direction:column;align-items:flex-start;gap:22px}
  .newsletter form{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}

@media(max-width:520px){
  body{font-size:15px}
  .topline{font-size:8px}
  .logo img{width:138px}
  .cart{font-size:10px}
  .hero-slider{height:360px}
  .hero-slide{height:320px}
  .hero-slide.active{height:360px}
  .hero-copy{min-height:420px;padding:44px 26px}
  .hero-copy h1{font-size:40px}
  .actions{align-items:flex-start;flex-direction:column;gap:16px}
  .brand-intro h2{font-size:44px}
  .section-title h2{font-size:46px}
  .season-feature{height:380px}
  .season-card{height:235px}
  .season-bar{padding:20px;align-items:flex-start;flex-direction:column}
  .compact-title h2{font-size:35px}
  .route-card{height:250px}
  .products-title{align-items:flex-end}
  .products-title h2{font-size:28px}
  .product-photo{height:155px}
  .products article{padding:8px 8px 13px}
  .products article h3{font-size:14px}
  .products footer{font-size:10px}
  .products button{width:28px;height:28px}
  .atelier-copy h2{font-size:40px}
  .atelier-photo{height:360px}
  .assortment-title h2{font-size:44px}
  .assortment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assortment-main{height:360px;grid-column:1/-1}
  .assortment-rail{left:14px;right:14px;top:14px;bottom:auto;width:auto;min-height:42px;padding:0 14px;justify-content:flex-start;font-size:14px;writing-mode:horizontal-tb;transform:none}
  .assortment-detail{height:190px}
  .assortment-detail>span{left:8px;bottom:8px;padding:8px;font-size:10px}
  .business-title h2{font-size:46px}
  .business-card{height:300px}
  .business-proof span{padding:12px;font-size:9px}
  .quality article{grid-template-columns:68px 1fr;padding:18px 12px}
  .quality img{width:52px;height:52px}
  .visit-photo{height:260px}
  .visit-copy{padding:40px 26px 46px}
  .visit-copy h2{font-size:42px}
  .hours-panel{padding:24px 18px}
  .hours-list>div{padding:12px 8px}
  .hours-list dt{font-size:10px}
  .hours-list dd{font-size:9.5px}
  .newsletter form{flex-direction:column;gap:10px}
  .newsletter button{height:44px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px 22px}
  .footer-bottom{gap:12px;align-items:flex-start;flex-direction:column}
}

/* Preserve the original Artimar header and footer structure. */
.header{height:145px;background:var(--paper)}
.header-utility{height:auto;position:absolute;top:14px;right:max(5%,calc((100% - 1320px)/2));padding:0;gap:27px;font:500 12px var(--heading)}
.search-icon{font-size:20px;line-height:1;transform:translateY(-2px)}
.header-main{height:145px;grid-template-columns:250px 1fr 44px 74px;padding-top:28px}
.logo img{width:200px}
.header nav{gap:34px;font:500 13px var(--heading)}
.cart{display:flex;align-items:center;justify-content:flex-end;position:relative}
.cart-icon{width:26px;height:17px;display:block;position:relative;border:2px solid var(--brand);transform:perspective(20px) rotateX(-5deg)}
.cart-icon:before{content:"";position:absolute;left:5px;right:5px;top:-9px;height:8px;border:2px solid var(--brand);border-bottom:0;border-radius:8px 8px 0 0}
.cart-icon:after{content:"";position:absolute;left:3px;bottom:-6px;width:4px;height:4px;border-radius:50%;background:var(--brand);box-shadow:14px 0 0 var(--brand)}
.cart i{position:absolute;right:-9px;bottom:-8px;width:19px;height:19px;margin:0;background:var(--accent);font-size:8px}

.footer{min-height:520px;padding:48px 0 0;background:var(--brand);color:var(--accent-light)}
.footer-original{min-height:400px;display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}
.footer-contact{text-align:center;text-transform:uppercase}
.footer-contact img{width:min(440px,90%);margin:0 auto 35px;filter:brightness(0) saturate(100%) invert(56%) sepia(13%) saturate(1175%) hue-rotate(5deg) brightness(91%) contrast(85%)}
.footer-contact p,.footer-contact a{display:block;margin:20px 0;color:var(--accent-light);font:500 12px var(--heading);letter-spacing:.03em}
.footer-hours h3{margin:0 0 20px;color:var(--accent-light);font:600 23px var(--heading);text-transform:uppercase}
.footer-hours dl{margin:0}
.footer-hours dl>div{display:grid;grid-template-columns:145px 1fr;align-items:center}
.footer-hours dt{padding:4px 22px 4px 0;text-align:right;color:var(--accent-light);font:500 16px var(--body)}
.footer-hours dd{margin:0;padding:4px 0 4px 24px;border-left:2px solid var(--accent);color:var(--accent-light);font:500 16px var(--body)}
.footer-bottom-original{min-height:72px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid #ffffff1c;color:var(--accent-light);font:500 12px var(--body)}
.footer-bottom-original span:nth-child(2){text-align:center}
.footer-bottom-original span:last-child{text-align:right}
.footer-bottom-original a{color:inherit;text-decoration:underline}

@media(max-width:900px){
  .header{height:92px}
  .header-main{height:92px;padding-top:0;grid-template-columns:1fr auto auto auto}
  .logo img{width:158px}
  .cart{width:34px;margin-right:4px}
  .header-utility{display:none}
  .footer{padding-top:42px}
  .footer-original{grid-template-columns:1fr;gap:42px;padding-bottom:44px}
  .footer-contact img{width:min(350px,86%);margin-bottom:28px}
  .footer-hours{width:min(600px,100%);margin-inline:auto}
  .footer-bottom-original{padding:22px 18px;grid-template-columns:1fr;gap:10px;text-align:center}
  .footer-bottom-original span:nth-child(2),.footer-bottom-original span:last-child{text-align:center}
}

@media(max-width:520px){
  .header{height:86px}
  .header-main{height:86px}
  .logo img{width:145px}
  .footer-contact img{width:270px}
  .footer-contact p,.footer-contact a{font-size:10px}
  .footer-hours h3{font-size:20px}
  .footer-hours dl>div{grid-template-columns:92px 1fr}
  .footer-hours dt{padding-right:12px;font-size:12px}
  .footer-hours dd{padding-left:12px;font-size:12px}
  .footer-bottom-original{font-size:10px}
}
