/* Light Morandi surfaces, legible type and a larger real-work collection. */
.campaign-hero{padding:64px 0 70px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}.hero-message h1{font-size:clamp(3rem,5.8vw,4rem);line-height:1.12;font-weight:700;letter-spacing:-.03em;text-wrap:nowrap}.hero-message h1 span{color:var(--blue)}.hero-description{font-size:1.12rem;margin-top:32px;line-height:1.65;max-width:23em}.hero-message .actions{margin-top:36px;gap:18px 28px}.hero-message .button{min-height:64px;font-size:1rem;padding:18px 28px}.hero-art{position:relative;margin:0;min-width:0}.hero-art img{width:100%;height:auto;aspect-ratio:1373/1145;object-fit:contain;border-radius:16px}.hero-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:.78rem;color:var(--muted);margin-top:16px}.hero-art figcaption a{display:inline-flex;align-items:center;min-height:48px;color:var(--ink);font-weight:650}
.category-ribbon{background:#e2e7de;color:#465a4f}.category-ribbon .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.category-ribbon a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;font-size:1.32rem;font-weight:650;border-right:1px solid #bdc9ba;min-height:94px}.category-ribbon a:first-child{border-left:1px solid #bdc9ba}.category-ribbon a:hover{background:#d6dfd0;text-decoration:none}.category-ribbon svg{width:32px;height:32px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none}
.editorial-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:46px}.editorial-heading h2{font-size:clamp(2.2rem,4.7vw,3.25rem);font-weight:700}.editorial-heading>.text-link{color:var(--blue)}.selected-section .work-grid.featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}.selected-section .work-cover{aspect-ratio:4/3}.selected-section .work-copy h3{font-size:1.18rem}.selected-section .work-copy{padding-top:24px}.selected-section .work-copy .meta{font-size:.9rem}.selected-section .work-copy .text-link{font-size:.86rem}
.light-lab{background:#e9ede5;color:#344139;padding:90px 0;scroll-margin-top:88px}.lab-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:66px;align-items:center}.lab-copy h2{font-size:clamp(2.2rem,4vw,3rem);font-weight:700;line-height:1.17}.lab-copy h2 span{display:block;color:#546a60}.lab-controls{display:grid;gap:25px;margin-top:34px}.lab-controls .field{color:#344139;font-size:.95rem}.lab-controls input{background:#fffefa;color:#344139;border-color:#8d9a89}.lab-controls input::placeholder{color:#64715f}.field-note{float:right;font-size:.8rem;font-weight:450;color:#5f6c5c}.color-field{padding:0;margin:0;border:0;min-width:0}.color-field legend{font-size:.95rem;font-weight:650;margin-bottom:14px}.color-options{display:flex;flex-wrap:wrap;gap:10px}.color-choice{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 17px;background:transparent;border:1px solid #8d9a89;border-radius:4px;color:#344139;font-size:.9rem;font-weight:600}.color-choice span{width:16px;height:16px;background:var(--swatch);border:1px solid #767669;border-radius:50%}.gold{--swatch:#ffd17c}.pink{--swatch:#ff9fc8}.ice{--swatch:#99dbff}.color-choice[aria-pressed=true]{background:#546a60;color:white;border-color:#546a60}.brightness-label{font-size:.95rem;font-weight:650}.brightness-label output{float:right;font-weight:450}.brightness-label input{display:block;width:100%;height:28px;margin:14px 0 0;accent-color:#546a60}.lab-cta{width:100%;background:#546a60;color:white;justify-content:space-between}.lab-cta:hover{background:#43584f}.lab-disclaimer{font-size:.85rem;color:#596655;margin-top:22px}.real-effect-link{font-size:.9rem;color:#465d51;margin-top:18px}
.lab-stage{--led-color:#ffd17c;background:#0b0b0c;color:#f5f4f0;border:1px solid #32322e;border-radius:8px;padding:24px;min-width:0;isolation:isolate}.lab-stage-top,.lab-stage-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.78rem;color:#d0cec7}.lab-stage-top i{display:inline-block;width:8px;height:8px;background:var(--led-color);border-radius:50%;margin-right:9px}.lab-stage.is-off i{background:#666}.lab-stage-top button{background:#262620;border:1px solid #777766;border-radius:4px;color:#faf9f1;padding:10px 16px;min-height:48px;font-size:.85rem;white-space:nowrap}.board-perspective{position:relative;perspective:1000px;padding:88px 0 94px}.led-board{position:relative;background:#070708;border:2px solid #454540;border-radius:8px;box-shadow:0 10px 0 #020202,0 22px 32px #0009;transform-style:preserve-3d;overflow:hidden}#led-canvas{display:block;width:100%;height:auto;aspect-ratio:8/3}.board-screw{position:absolute;width:4px;height:4px;border-radius:50%;background:#9a988d}.screw-one{left:10px;top:10px}.screw-two{right:10px;top:10px}.screw-three{left:10px;bottom:10px}.screw-four{right:10px;bottom:10px}.board-reflection{position:absolute;left:15%;right:15%;bottom:30px;height:12px;background:var(--led-color);filter:blur(18px);opacity:.13;z-index:-1}.lab-stage.is-off .board-reflection{opacity:0}.lab-stage-bottom{flex-wrap:wrap;font-size:.75rem}.pointer-hint{font-size:.72rem}
.making-section{background:#efe5e1;color:#514342}.making-section .editorial-heading{max-width:800px}.making-section .text-link{color:#735559;font-weight:750}.making-section .process.visual-process p{color:#745d5c}.making-section .step-number{background:#806164;color:white}.making-section .process-picture{border-radius:6px}.making-section .process.visual-process li:not(:last-child)::after{color:#745d5c}.warm-contact{background:#e2e7de;color:#465a4f;padding:80px 0}.warm-contact>.container{display:flex;justify-content:space-between;align-items:center;gap:36px}.warm-contact h2{font-size:clamp(2.4rem,5vw,3.4rem);max-width:15ch;font-weight:700}.warm-contact .button{background:#546a60;color:white;font-size:1.05rem;padding:20px 30px;min-height:68px}.warm-contact .button:hover{background:#43584f}
@media(max-width:1100px){.hero-layout{gap:32px}.hero-message h1{font-size:clamp(2.6rem,6.1vw,3.4rem)}.hero-description{font-size:1rem}.lab-layout{grid-template-columns:1fr;gap:44px}.lab-copy{max-width:760px}.lab-controls{grid-template-columns:1fr 1fr;gap:24px 28px}.lab-cta{align-self:end}.lab-stage{max-width:850px;width:100%;margin:auto}.category-ribbon a{font-size:1.16rem;padding:22px}.pointer-hint{display:none}.selected-section .work-copy h3{font-size:1.25rem}}
@media(max-width:760px){.campaign-hero{padding:38px 0 46px}.hero-layout{grid-template-columns:1fr;gap:38px}.hero-message h1{font-size:clamp(2.4rem,10.9vw,3.4rem);line-height:1.15;letter-spacing:-.03em}.hero-description{font-size:1.05rem;margin-top:26px}.hero-message .actions{margin-top:28px}.hero-message .button{font-size:1rem;min-height:60px;padding:16px 24px}.hero-art{max-width:520px;width:100%;margin-inline:auto}.hero-art figcaption{font-size:.8rem;gap:12px;margin-top:10px}.category-ribbon .container{width:100%;grid-template-columns:1fr}.category-ribbon a{font-size:1.2rem;padding:20px 24px;min-height:74px;border:0;border-bottom:1px solid #bdc9ba}.category-ribbon a:first-child{border-left:0}.category-ribbon a:last-child{border-bottom:0}.category-ribbon svg{width:28px;height:28px}.editorial-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.editorial-heading h2{font-size:2rem}.selected-section .work-grid.featured{gap:42px}.selected-section .work-copy h3{font-size:1.3rem}.selected-section .work-copy .meta,.selected-section .work-copy .text-link{font-size:.9rem}.light-lab{padding:64px 0;scroll-margin-top:72px}.lab-layout{gap:36px}.lab-copy h2{font-size:2.1rem}.lab-controls{grid-template-columns:1fr;gap:26px}.lab-controls .field,.color-field legend,.brightness-label{font-size:1rem}.field-note{font-size:.8rem}.color-choice{font-size:.95rem;min-height:54px;padding:13px 17px}.lab-disclaimer,.real-effect-link{font-size:.9rem}.lab-stage{padding:20px 16px}.lab-stage-top{font-size:.8rem;gap:12px;flex-wrap:wrap}.lab-stage-top button{font-size:.9rem}.board-perspective{padding:60px 0 70px}.lab-stage-bottom{font-size:.8rem}.warm-contact{padding:62px 0}.warm-contact>.container{align-items:start;flex-direction:column;gap:30px}.warm-contact h2{font-size:2.25rem;line-height:1.25}.warm-contact .button{font-size:1rem;min-height:62px;padding:18px 25px}}
.category-ribbon :focus-visible,.light-lab :focus-visible,.making-section :focus-visible,.warm-contact :focus-visible{outline-color:#344139}.light-lab .lab-stage :focus-visible{outline-color:#d8c6c3}
@media(pointer:coarse){.pointer-hint{display:none}}
@media(prefers-reduced-motion:reduce){.led-board{transform:none!important}}

@media(max-width:1100px){.selected-section .work-grid.featured{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.selected-section .work-grid.featured{grid-template-columns:1fr}.hero-message h1{font-weight:750}.category-ribbon a{font-weight:650}}

/* A separate archive entrance stays visible outside the mobile menu. */
.legacy-entry{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;white-space:nowrap;color:var(--muted)}
.site-header .nav-wrap{gap:16px}.site-header .nav-links{gap:16px}
@media(max-width:1100px){.site-header .nav-wrap{gap:10px}.legacy-entry{font-size:13px;padding-inline:7px}}
@media(max-width:900px){.site-header .menu-button{margin-left:auto}.site-header .legacy-entry{order:3}.site-header .nav-links{gap:6px}}
@media(max-width:430px){.site-header .brand-logo{width:100px}.site-header .nav-wrap{gap:8px}.site-header .menu-button{min-width:52px}.legacy-entry{font-size:13px}}

/* More everyday warmth: a hand-held scene and an invitation to ask first. */
.campaign-hero{background:#f2eee5;padding-block:48px 54px}.hero-message .hero-reassurance{margin-top:22px;font-size:.9rem;line-height:1.6;color:#465d51;max-width:24em}.campaign-hero .hero-art.scene-hero figcaption{justify-content:space-between;flex-wrap:wrap}.selected-section{padding-block:78px}.warm-contact h2+p{margin-top:24px;font-size:1rem;line-height:1.7;max-width:25em}.warm-contact .button{min-width:220px}
@media(max-width:760px){.campaign-hero{padding-block:36px 38px}.hero-message .hero-reassurance{font-size:1rem;margin-top:20px}.selected-section{padding-block:58px}.warm-contact h2+p{font-size:1rem}.campaign-hero .hero-art.scene-hero figcaption{font-size:.85rem}}
