/* Paige's Art Room — editorial direction. Existing shopping behavior is retained. */
:root { --editorial-ink:#293d30; --editorial-line:#cdd4c7; }
html { scroll-behavior:smooth; }
body { background:#fffdf9; color:var(--editorial-ink); }
:focus-visible { outline:2px solid #476849; outline-offset:5px; }
.site-header { min-height:100px; padding:22px 5vw; gap:24px; flex-wrap:nowrap; border-bottom:1px solid var(--editorial-line); background:#fffdf9f5; backdrop-filter:blur(12px); }
.site-header .brand-group { margin-right:auto; }
.site-header .brand img { width:230px; height:auto; }
.site-header .header-phone { font-size:12px; letter-spacing:.08em; margin-top:5px; }
.site-header nav { order:initial; width:auto; gap:25px; padding:0; }
.site-header nav a { font-size:14px; font-weight:400; text-decoration-thickness:1px; text-underline-offset:7px; }
.site-header .basket-button { border-radius:0; background:#293d30; color:#fffdf9; border:1px solid #293d30; padding:12px 22px; box-shadow:none; }
.eyebrow { font-size:12px!important; font-weight:500!important; letter-spacing:.18em!important; text-transform:uppercase; line-height:1.6; }
h1,h2,h3 { font-weight:400; }
.hero { position:relative; display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:4vw; padding:72px 5vw 80px; min-height:690px; background:#e6f0df; text-align:left; isolation:isolate; }
.hero-copy { max-width:690px; margin:0; }
.hero h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(60px,6.8vw,112px); line-height:1.01; letter-spacing:-.055em; margin:25px 0 30px; color:#293d30; }
.hero h1 em { font-weight:400; color:#476849; }
.hero-text { text-align:left; margin:0; max-width:460px; font-size:16px; line-height:1.8; text-wrap:pretty; }
.hero-actions { justify-content:flex-start; align-items:center; flex-wrap:wrap; gap:24px; margin:30px 0 24px; }
.primary-button { background:#293d30; border:1px solid #293d30; border-radius:0; color:#fffdf9; box-shadow:none; padding:16px 25px; font-weight:400; font-size:14px; transition:background .2s,color .2s; }
.primary-button:hover { background:#476849; color:white; transform:none; }
.text-link { font-size:14px; font-weight:400; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.availability { font-size:13px; color:#52614f; font-style:italic; }
.hero::after { content:""; display:block; width:100%; aspect-ratio:1 / 1.1; background:#dedbdf url('/photos/tallow-soap.jpg') center center / cover no-repeat; }
.welcome-strip { background:#fffdf9; border-top:1px solid var(--editorial-line); border-bottom:1px solid var(--editorial-line); padding:22px 5vw; gap:30px; font-size:14px; letter-spacing:.03em; font-weight:400; }
.next-event-banner { min-height:46px; background:#ebc8ce; color:#293d30; padding:10px 5vw; }
.next-event-banner:hover { background:#e6bcc5; }
.next-event-banner strong { font:400 14px/1.4 Geist,Arial,sans-serif; }
.next-event-banner small { color:#394e3f; font-size:13px; }
.next-event-banner b { font-weight:400; font-size:19px; }
.home-photo-marquee { background:#fffdf9; padding:90px 0 60px; }
.home-photo-marquee-heading { max-width:none; padding:0 5vw; margin-bottom:38px; }
.home-photo-marquee-heading h2,.featured-extras h2,.testimonial-heading h2 { font:400 clamp(36px,4vw,64px)/1.1 Georgia,serif; letter-spacing:-.035em; }
.home-photo-marquee-heading .eyebrow { margin-bottom:15px; }
.home-photo-marquee-set { gap:26px; padding-right:26px; }
.home-photo-slide { border-radius:0; box-shadow:none; aspect-ratio:4 / 4.6; flex-basis:clamp(290px,30vw,460px); background:#f7f1e7; }
.home-photo-slide img { height:76%; object-fit:cover; }
.home-photo-slide > span { height:24%; background:#f7f1e7; color:#293d30; padding:15px 22px; display:block; }
.home-photo-slide strong { display:block; font:400 27px/1.1 Georgia,serif; letter-spacing:-.025em; }
.home-photo-slide small { font-size:13px; margin-top:5px; display:block; }
.home-photo-starting-price { color:#52614f; display:block; font-weight:400; font-size:13px; margin-top:5px; }
.fall-home-section { max-width:none; padding:0 5vw; margin:30px auto 100px; }
.fall-home-inner { border:0; border-radius:0; box-shadow:none; grid-template-columns:1fr 1fr; background:#f5ebcc; }
.fall-home-photo { min-height:530px; }
.fall-home-copy { padding:clamp(32px,4vw,72px); }
.fall-home-copy h2 { font:400 clamp(38px,4.4vw,66px)/1.04 Georgia,serif; letter-spacing:-.04em; }
.fall-home-copy > p:not(.eyebrow) { font-size:16px; }
.fall-availability p { grid-template-columns:1fr; gap:4px; font-size:14px; }
.fall-availability strong { font-weight:500; }
.fall-scent-list { gap:6px 16px; }
.fall-scent-list span { border:0; border-radius:0; background:none; padding:4px 0; font-size:13px; font-weight:400; }
.featured-extras { max-width:none; padding:0 5vw; margin:0 auto 100px; }
.featured-extras-heading { align-items:end; margin-bottom:32px; }
.featured-extra-card { border:0; border-radius:0; box-shadow:none; background:transparent; }
.featured-extra-card:hover { box-shadow:none; transform:none; }
.featured-extra-art { border-radius:0; aspect-ratio:4/3; height:auto; overflow:hidden; }
.featured-extra-photo { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.featured-extra-card:hover img { transform:scale(1.035); }
.featured-extra-copy { padding:22px 0 0; border-top:0; }
.featured-extra-card span { font-size:12px; font-weight:400; letter-spacing:.12em; }
.featured-extra-card h3 { font-size:30px; font-weight:400; letter-spacing:-.025em; }
.featured-extra-card p { font-size:16px; line-height:1.65; }
.home-story { grid-template-columns:1fr 1fr; gap:8vw; padding:75px 8vw; background:#f7f1e7; }
.home-story .story-photo { width:100%; height:600px; max-height:none; object-fit:cover; object-position:50% 32%; border:0; border-radius:0; box-shadow:none; transform:none; }
.home-story h2 { font:400 clamp(38px,4.5vw,68px)/1.05 Georgia,serif; letter-spacing:-.035em; margin:18px 0 26px; }
.home-story > div > p:not(.eyebrow) { font-size:17px; line-height:1.8; margin-bottom:28px; }
.testimonials { background:#fffdf9; padding-block:90px; }
.testimonial-heading { margin-bottom:36px; }
.testimonial-card { background:transparent; border:0; border-left:1px solid var(--editorial-line); border-radius:0; box-shadow:none; padding:15px 32px; }
.testimonial-card blockquote { font-family:Georgia,serif; font-size:23px; line-height:1.5; font-weight:400; }
.testimonial-card figcaption strong { font-weight:500; }
.home-ordering { background:#e6f0df; border:0; border-radius:0; box-shadow:none; max-width:none; margin:0; padding:64px 7vw; gap:40px; }
.home-ordering h2 { font:400 clamp(34px,4vw,56px)/1.1 Georgia,serif; letter-spacing:-.035em; }
.home-ordering p { font-size:16px; line-height:1.7; }
.site-footer { background:#293d30; padding:60px 5vw 35px; grid-template-columns:1fr 1fr; gap:30px 60px; }
.site-footer .fine-print { white-space:normal; grid-column:1/-1; text-align:left; justify-self:start; border-top:1px solid #ffffff30; width:100%; padding-top:25px; }
.footer-logo-frame { border:0; background:none; box-shadow:none; }
.footer-policy-links { grid-column:1/-1; }
.footer-contact { font-size:14px; line-height:1.8; }
.page-hero,.events-hero,.extras-hero,.faq-hero,.contact-hero,.policy-hero { background:#e6f0df; padding-top:75px; padding-bottom:65px; }
.page-hero h1,.events-hero h1,.extras-hero h1,.faq-hero h1,.contact-hero h1,.policy-hero h1 { font-weight:400; letter-spacing:-.04em; font-size:clamp(44px,6vw,80px); line-height:1.05; }
.shop-page-section .product-card { border-radius:0; box-shadow:none; border-bottom:1px solid var(--editorial-line); }
.shop-page-section .product-card:hover { transform:none; box-shadow:none; }
.shop-page-section .product-body { padding:24px 0; }
.shop-page-section .product-body h3 { font-weight:400; font-family:Georgia,serif; font-size:27px; }
.shop-page-section .product-description { font-size:16px; line-height:1.6; }
.shop-page-section .product-art .photo-action { font-size:14px!important; font-weight:400; border-radius:0; }
.shop-page-section .product-art > span:first-child { font-size:12px; font-weight:400; border-radius:0; }
.product-dialog { border-radius:3px; }
.shop-scent-guide,.vendor-application-cta,.pickup-payment-card { border-radius:0; box-shadow:none; }
.shop-scent-guide > p:not(.eyebrow),.shop-scent-guide > small,.scent-guide-tags span { font-size:14px; }
@media(min-width:1600px) { .hero { padding-inline:max(5vw,calc((100vw - 1500px)/2)); } }
@media(max-width:1100px) {
 .site-header { flex-wrap:wrap; gap:12px; padding:16px 5vw; }
 .site-header nav { order:3; width:100%; justify-content:center; padding-top:12px; gap:24px; }
 .hero { min-height:570px; padding-block:55px; gap:30px; }
 .hero h1 { font-size:clamp(55px,7vw,80px); }
 .hero::after { aspect-ratio:1/1.3; }
 .home-photo-slide { aspect-ratio:4/4.9; }
 .home-story .story-photo { height:500px; }
}
@media(max-width:680px) {
 .site-header { position:relative; min-height:0; padding:18px 20px 12px; }
 .site-header .brand img { width:195px; }
 .site-header .header-phone { font-size:12px; }
 .site-header .basket-button { font-size:13px; padding:10px 15px; }
 .site-header nav { justify-content:flex-start; gap:22px; overflow-x:auto; padding-block:12px 3px; }
 .site-header nav a { font-size:14px; }
 .hero { grid-template-columns:1fr; gap:32px; padding:43px 22px 24px; min-height:0; }
 .hero h1 { font-size:clamp(49px,12.5vw,82px); margin:21px 0 24px; line-height:1.03; }
 .hero-text { font-size:16px; }
 .hero-actions { flex-direction:row; justify-content:flex-start; align-items:center; gap:22px; }
 .hero::after { aspect-ratio:1.22; }
 .availability { margin-bottom:0; }
 .welcome-strip { gap:10px 22px; padding:18px 22px; flex-wrap:wrap; font-size:13px; }
 .next-event-banner { padding:12px 22px; }
 .home-photo-marquee { padding:55px 0 25px; }
 .home-photo-marquee-heading { padding:0 22px; margin-bottom:25px; }
 .home-photo-marquee-heading h2 { font-size:39px; }
 .home-photo-slide { flex-basis:82vw; aspect-ratio:4/4.7; }
 .home-photo-slide > span { padding:15px 18px; }
 .home-photo-slide strong { font-size:27px; }
 .home-photo-slide small { font-size:13px; }
 .fall-home-section { padding:0 22px; margin:12px 0 60px; }
 .fall-home-inner { grid-template-columns:1fr; }
 .fall-home-photo { min-height:0; aspect-ratio:4/3; }
 .fall-home-copy { padding:30px 24px 36px; }
 .fall-home-copy h2 { font-size:43px; }
 .fall-home-actions { gap:22px; }
 .featured-extras { padding:0 22px; margin-bottom:60px; }
 .featured-extras-heading { align-items:start; gap:22px; flex-direction:column; }
 .featured-extras h2 { font-size:39px; }
 .featured-extras-grid { grid-template-columns:1fr; gap:36px; }
 .home-story { grid-template-columns:1fr; gap:38px; padding:38px 22px 48px; }
 .home-story .story-photo { height:auto; aspect-ratio:4/5; object-position:50% 30%; }
 .home-story h2 { font-size:45px; }
 .home-story > div > p:not(.eyebrow) { font-size:16px; }
 .testimonials { padding-block:55px; }
 .testimonial-heading h2 { font-size:43px; }
 .testimonial-card blockquote { font-size:21px; }
 .home-ordering { padding:45px 22px; gap:26px; }
 .home-ordering .primary-button { align-self:flex-start; }
 .site-footer { grid-template-columns:1fr; text-align:left; padding:40px 22px; gap:25px; }
 .site-footer .fine-print { font-size:13px; text-align:left; }
 .footer-contact { justify-self:start; }
 .footer-links { justify-content:flex-start; }
 .page-hero,.events-hero,.extras-hero,.faq-hero,.contact-hero,.policy-hero { padding:45px 22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .reveal-on-scroll { opacity:1!important; transform:none!important; } }
/* Let captions grow with text size instead of clipping their subtle prices. */
.home-photo-slide { display:grid; grid-template-rows:minmax(0,1fr) auto; }
.home-photo-slide img { height:100%; min-height:0; }
.home-photo-slide > span { position:static; height:auto; min-height:112px; }
@media (min-width:681px) and (prefers-reduced-motion:reduce) { .home-photo-marquee-set[aria-hidden="true"] { display:none; } }
