/* Christmas Stuff: an unhurried, image-rich decorating journal. */
body{background:#fbf8f0}
figure{margin:0}
.topline{font-size:.875rem;letter-spacing:.035em;padding:9px 16px}
.hero{min-height:640px;border-radius:8px}
.hero-copy{padding:55px;max-width:620px}
.hero h1{font-size:clamp(3.2rem,6.1vw,5rem);line-height:1.02;letter-spacing:-.035em}
.hero p{font-size:1.125rem;max-width:450px}
.hero:after{background:linear-gradient(90deg,rgba(3,28,21,.91),rgba(3,28,21,.53) 45%,rgba(3,28,21,.06) 78%)}
.hero .caption{font-size:.75rem}
.welcome-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding:64px 24px 40px;align-items:center}
.welcome-note h2{font-size:clamp(2.4rem,4.1vw,3.6rem);line-height:1.06}
.welcome-note p{font-size:1.125rem;max-width:680px;color:#3d5549}
.welcome-note p:last-child{margin:0}
.looks-showcase{padding-top:36px}
.section-head .eyebrow{margin-bottom:12px}
.section-head>p{font-size:1rem;line-height:1.7;max-width:390px}
.section-head>a{flex-shrink:0;font-size:.9375rem;font-weight:700}
.card{border-color:#e0e5da;border-radius:7px;box-shadow:0 5px 18px #193f2e06}
.card img{height:auto;aspect-ratio:3/2;object-fit:cover}
.card-body{padding:25px}
.card p,.task p{font-size:1rem;line-height:1.7}
.card h3 a{text-decoration:none}
.card .read,.task .read{font-size:.9375rem}
.card h3{font-size:1.8rem}
.look-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.look-directory .card-body{padding:30px}
.look-directory .card h3{font-size:2.2rem}
.look-directory .card img{aspect-ratio:1.6}
.image-note{font-size:.8125rem;line-height:1.55;color:#607164;max-width:940px;margin:16px 0 0}
.scene-card{min-width:0;margin:0}
.scene-open{display:block;position:relative;overflow:hidden;border-radius:6px;background:#e2e8dd;line-height:0;text-decoration:none}
.scene-open img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .45s ease}
.scene-enlarge{position:absolute;bottom:13px;right:13px;line-height:1.2;background:#fff9edee;color:#193c2b;padding:9px 12px;border-radius:4px;font-size:.8125rem;font-weight:700;box-shadow:0 2px 12px #0002}
.scene-card figcaption{padding:19px 2px 0}
.scene-card figcaption .scene-caption-title{font-size:1.6rem;margin:0 0 10px;line-height:1.15}
.scene-card figcaption p{font-size:1rem;line-height:1.7;color:#4c6054;margin:0;max-width:740px}
.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}
.visual-section{border-top:0!important;padding:55px 0}
.scene-feature>.scene-card:first-child{grid-column:1/-1}
.scene-feature>.scene-card:first-child .scene-open img{aspect-ratio:1.85}
.scene-feature>.scene-card:first-child figcaption{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}
.scene-feature>.scene-card:first-child figcaption .scene-caption-title{font-size:2rem}
.editorial-opening{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:6%;align-items:center;padding:18px 0 12px}
.editorial-opening>div>h2{font-size:clamp(2.1rem,3.6vw,3rem)}
.editorial-opening>div>p{font-size:1.125rem;line-height:1.8;color:#4a6053}
.editorial-opening .scene-card figcaption{display:none}
.editorial-opening .scene-open img{aspect-ratio:1.35}
.page-head{max-width:1000px;padding-bottom:24px}
.page-head h1{font-size:clamp(2.5rem,4.8vw,4.1rem);line-height:1.06}
.page-head .lead{line-height:1.65}
.jump{margin-bottom:18px}
.jump a{background:#fffdf7;border-color:#d6dfd1;padding:8px 15px}
.look-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5%;margin:24px 0 48px}
.look-hero h1{font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.03}
.look-hero .scene-open img{aspect-ratio:1.1}
.look-hero .scene-card figcaption{display:none}
.look-image-note{margin:-28px 0 32px}
.look-tags span{border-radius:20px;font-size:.875rem;padding:5px 12px}
.palette{display:flex;gap:10px 17px;flex-wrap:wrap;margin:26px 0 12px}
.palette span{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;color:#48604f}
.palette i{width:18px;height:18px;border-radius:50%;background:var(--swatch);border:1px solid #193f2e24}
.text-cta{font-size:1rem;font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}
.look-introduction{max-width:820px;margin:20px auto 0;text-align:center;padding:15px 0 5px}
.look-introduction p{font:1.5rem/1.6 Georgia,serif;color:#294736}
.design-notes{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;border-top:1px solid #d9dfd1}
.design-notes article{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid #dce2d5}
.design-notes article:last-child{padding:0;margin:0;border:0}
.design-notes h3{font-size:1.6rem;margin-bottom:12px}
.design-notes p{font-size:1.0625rem;color:#4c6054;margin:0}
.gentle-invitation{max-width:850px;margin:0 auto 40px;padding:30px 0;text-align:center;font:italic 1.65rem/1.5 Georgia,serif;color:#8e2c38;border-block:1px solid #deddd0}
.seasonal-story{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;padding:44px 0 64px}
.seasonal-story .scene-card figcaption{display:none}
.seasonal-story .scene-open img{aspect-ratio:1.15}
.seasonal-story h2{font-size:clamp(2.1rem,3.7vw,3.1rem)}
.seasonal-story p{font-size:1.0625rem;color:#4c6054}
.creator-note{text-align:center;max-width:800px;margin:15px auto 50px;padding:38px 0}
.creator-note h2{font-size:clamp(2.1rem,3.5vw,3rem)}
.creator-note p{font-size:1.125rem;color:#4d6255;max-width:650px;margin:0 auto 24px}
.task{border:1px solid #dbe2d6;border-radius:6px;padding:25px;background:#fffdf8}
.task .eyebrow{display:block;font-size:.8125rem;margin-bottom:13px}
.task h3{line-height:1.16}
.task-body{min-width:0}
.illustrated-task{overflow:hidden;padding:0;background:white}
.illustrated-task .task-body{padding:25px}
.tile-photo{display:block;line-height:0;background:#e4ebdf}
.tile-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block}
.planning-invitation{display:flex;flex-direction:column;justify-content:center;padding:38px}
.planning-invitation .btn{align-self:flex-start}
.product{margin-top:12px;padding-top:42px;align-items:start}
.product-media{padding:12px;background:#f3f4ec}
.product-media .diagram{max-width:440px;margin-inline:auto}
.callout{border-left-width:3px;background:#edf2e8;padding:26px}
.guide-intro{margin-top:42px;font-size:1.125rem;color:#405649}
.planning-diagram{margin:20px 0 30px;border:1px solid #d5dfcf;border-radius:5px;padding:16px 20px;background:#f4f5ed}
.planning-diagram summary{font-size:1rem;font-weight:700;cursor:pointer}
.planning-diagram .diagram{max-width:550px;margin:20px auto 0}
.content{max-width:850px;margin-inline:auto}
.content .step p{font-size:1.0625rem;line-height:1.75}
.content h2{font-size:clamp(1.9rem,3vw,2.65rem)}
.shopping-role{background:transparent;border:0;border-bottom:1px solid #d7dfd1;border-radius:0;padding:0 0 12px;margin-bottom:16px;font-size:.875rem;color:#8e2c38}
.band{border-radius:8px;background:#174c39;padding:45px;gap:35px}
.band p{font-size:1.0625rem}
.image-viewer{width:min(1200px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #697f68;border-radius:8px;background:#fbf8f0;color:#153d2b;overflow:auto;box-shadow:0 20px 100px #0008}
.image-viewer::backdrop{background:#061e18e8}
.viewer-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;background:#fbf8f0;border-bottom:1px solid #d5ddcf}
.viewer-toolbar p{margin:0;font-size:.875rem;color:#4b6051}
.viewer-toolbar button,.viewer-controls button{min-height:44px;border:1px solid #8a9e8c;border-radius:4px;background:#fff;color:#153d2b;padding:8px 14px;font-size:.9375rem}
.viewer-image{display:block;width:100%;height:auto;max-height:68dvh;object-fit:contain;background:#102b20}
.viewer-caption{padding:22px 24px;display:grid;grid-template-columns:1fr 2fr;gap:18px}
.viewer-caption h2{font-size:1.6rem;margin:0}
.viewer-caption p{font-size:1rem;margin:0;max-width:730px}
.viewer-controls{display:flex;justify-content:space-between;padding:0 24px 20px;gap:14px}
body.image-view-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.scene-open:hover img{transform:scale(1.025)}.scene-open:hover .scene-enlarge{background:#fff}}
@media(max-width:960px){
 .hero-copy{padding:40px}.hero{min-height:620px}
 .welcome-note{padding-inline:4px;gap:6%}
 .scene-grid{gap:30px 22px}
 .card-body,.illustrated-task .task-body{padding:21px}
 .looks-showcase .grid,.illustrated-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .look-hero .scene-open img{aspect-ratio:.95}
 .editorial-opening{gap:4%;grid-template-columns:1fr 1.1fr}
 .editorial-opening .scene-open img{aspect-ratio:1}
}
@media(max-width:700px){
 .hero{min-height:610px}.hero-copy{padding:36px 26px 70px}
 .hero h1{font-size:clamp(3rem,12vw,4.1rem)}
 .hero:after{background:linear-gradient(90deg,#031c15da,#031c1555),linear-gradient(0deg,#031c1566,transparent)}
 .hero img{object-position:60% center}.hero p{font-size:1.0625rem}
 .welcome-note{grid-template-columns:1fr;gap:16px;padding:38px 4px 12px}
 .welcome-note h2{font-size:2.5rem;margin-bottom:12px}
 .welcome-note h2 br{display:none}.welcome-note p{font-size:1.0625rem}
 .section-head>a{display:inline-block;margin-top:15px}
 .looks-showcase .grid,.look-directory,.illustrated-task-grid{grid-template-columns:1fr}
 .card-body,.look-directory .card-body{padding:24px}
 .card h3,.look-directory .card h3{font-size:1.95rem}
 .visual-section{padding:38px 0}
 .scene-grid{grid-template-columns:1fr;gap:30px}
 .scene-feature>.scene-card:first-child{grid-column:auto}
 .scene-feature>.scene-card:first-child .scene-open img{aspect-ratio:3/2}
 .scene-feature>.scene-card:first-child figcaption{display:block}
 .scene-feature>.scene-card:first-child figcaption .scene-caption-title{font-size:1.6rem}
 .scene-open img{aspect-ratio:3/2}
 .scene-card figcaption{padding-top:16px}
 .editorial-opening,.look-hero,.design-notes,.seasonal-story{grid-template-columns:1fr;gap:24px}
 .editorial-opening{padding-top:10px}
 .editorial-opening>div>p{font-size:1.0625rem}
 .editorial-opening .scene-open img,.look-hero .scene-open img,.seasonal-story .scene-open img{aspect-ratio:3/2}
 .look-hero{margin:18px 0 30px}
 .look-image-note{margin:-12px 0 26px}
 .look-hero h1{font-size:2.7rem}
 .look-introduction{padding:6px 3px 0;text-align:left}
 .look-introduction p{font-size:1.35rem}
 .palette{margin-top:20px}
 .design-notes{gap:15px}.design-notes h2{margin-bottom:12px}
 .gentle-invitation{font-size:1.4rem;padding:24px 12px;margin-bottom:20px}
 .seasonal-story{padding:24px 0 38px}
 .planning-invitation{padding:28px}
 .content .step p{font-size:1rem}
 .band{padding:29px 25px;gap:18px}
 .creator-note{margin-bottom:25px;padding-top:25px}
 .viewer-toolbar{padding:10px 12px}.viewer-caption{display:block;padding:18px}
 .viewer-caption h2{margin-bottom:12px}.viewer-controls{padding:0 18px 18px}
 .image-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
}
@media(prefers-reduced-motion:reduce){.scene-open img{transition:none}}
@media print{.image-viewer,.scene-enlarge,.palette,.image-note{display:none!important}.scene-grid,.design-notes,.editorial-opening,.seasonal-story{display:block}.scene-card{break-inside:avoid;max-width:450px;margin:15px 0}.scene-open img{max-height:230px;object-fit:contain}.scene-feature>.scene-card:first-child figcaption{display:block}.look-hero .scene-open img{max-height:300px}.content{max-width:none}.hero-copy{padding:0}.hero{min-height:0}}

.scene-caption-title{display:block;font-family:Georgia,serif;font-weight:700}
.art-badge{position:absolute;left:10px;bottom:12px;z-index:1;padding:5px 8px;border-radius:3px;background:#fff9edef;color:#244d3b;font:400 .75rem/1.3 system-ui,sans-serif}
.tile-photo,.image-link{position:relative;display:block}
.article-credit,.source-note{font-size:.875rem;line-height:1.65;color:#536b5a}
.article-credit{margin:0 0 24px}
.practical-notes{border-top:1px solid #d9dfd1;margin-top:38px;padding-top:34px}
.practical-notes .section-head{align-items:start}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:0 0 18px}
.fact-grid>div{border-bottom:1px solid #d9dfd1;padding:20px 0}
.fact-grid>div:last-child:nth-child(odd){grid-column:1/-1}
.fact-grid dt{font:700 1.3rem/1.35 Georgia,serif;color:#153d2b;margin:0 0 10px}
.fact-grid dd{margin:0;font-size:1rem;line-height:1.75;color:#405649}
.quantity-fields{min-width:0;padding:18px 0 0;margin:18px 0 24px;border:0;border-top:1px solid #d9dfd1}
.quantity-fields legend{padding:0 12px 0 0;font-weight:700;font-size:1rem}
.quantity-fields[hidden]{display:none}
.tool-head{padding-top:28px}
.tool-head h1{font-size:clamp(2.2rem,4vw,3.3rem)}
.tool-head .lead{margin-bottom:12px}
.tool-summary .btn{width:100%;white-space:normal}
button:disabled{cursor:not-allowed;opacity:.55}
.verified-product{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;margin-bottom:35px}
.verified-product>img{width:100%;height:auto;object-fit:contain;grid-column:2;grid-row:1}
.verified-product>div{grid-column:1;grid-row:1}
.affiliate-note{font-size:.875rem;padding:12px;background:#edf2e8}
@media(max-width:700px){.fact-grid,.verified-product{grid-template-columns:1fr}.fact-grid{gap:0}.practical-notes{margin-top:24px;padding-top:24px}.fact-grid>div{padding:18px 0}.tool-head{padding-top:18px}.quantity-fields .form-grid{grid-template-columns:1fr}.verified-product>img,.verified-product>div{grid-column:auto;grid-row:auto}}
