/* Shared layout safeguards and editorial illustrations. */
img{max-width:100%;display:block}
h1,h2,h3{overflow-wrap:break-word}
.brand{line-height:1.05}
.button{max-width:100%;white-space:normal;text-align:center;line-height:1.45}
.button span{flex-shrink:0}
.hero-copy,.maker-copy,.products article,.steps li>div,.contact-inner>div{min-width:0}
.hero h1{line-height:1.08;letter-spacing:-.045em}
.hero-end{line-height:1.2}
.maker-art img{aspect-ratio:1;object-fit:cover}
.maker-sign{flex-wrap:wrap;row-gap:24px}
.ribbon{flex-wrap:wrap;text-align:center}
.ribbon>span{white-space:nowrap}
.manifesto-inner{display:grid;grid-template-columns:1.2fr .85fr 1fr;gap:24px}
.manifesto-inner>div{padding:0}
.manifesto h2{font-size:clamp(42px,5.5vw,68px);line-height:1.08}
.decor{pointer-events:none;user-select:none;object-fit:contain;width:100%;height:auto}
.manifesto-decor{max-width:310px;justify-self:center}
.collection-decoration{width:min(380px,72%);margin:25px auto -5px}
.contact-inner{grid-template-columns:1.1fr .75fr 1fr;gap:28px}
.contact h2{line-height:1.05}
.contact-illustration{display:grid;justify-items:center;gap:10px}
.contact-illustration .decor{max-width:360px}
.contact-note{font-size:27px;transform:rotate(-6deg);line-height:1.15}
.steps li{padding-right:16px}
.contact-links{display:flex;flex-wrap:wrap;gap:12px}
footer nav{flex-wrap:wrap;row-gap:16px}
@media(max-width:1000px){
 .header nav{gap:20px;letter-spacing:1.5px}
 .hero h1{font-size:clamp(44px,6.4vw,64px)}
 .hero-art{margin-left:0}
 .hero-copy{padding-left:0}
 .manifesto-inner{grid-template-columns:1fr 1fr;gap:22px}
 .manifesto-decor{grid-column:2;grid-row:1 / span 2;width:100%;max-width:310px}
 .manifesto-inner>div{grid-column:1}
 .maker{gap:22px}
 .maker h2{font-size:clamp(30px,4.1vw,42px);line-height:1.14}
 .maker-sign{gap:22px}
 .contact-inner{grid-template-columns:1.2fr 1fr;gap:30px}
 .contact-illustration{grid-column:1 / -1;grid-template-columns:1fr 1fr;align-items:center;max-width:620px;justify-self:center}
}
@media(max-width:760px){
 .header nav{display:none}
 .hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:20px;padding-bottom:38px}
 .hero-copy{padding:0}
 .hero-art{grid-row:2;margin:0}
 .hero h1{font-size:clamp(43px,10vw,72px);line-height:1.08;margin:18px 0 25px;letter-spacing:-.04em}
 .hero h1 br:first-of-type{display:initial}
 .hero-copy .eyebrow{font-size:11px;letter-spacing:1.7px;line-height:1.7;margin-bottom:18px}
 .hero-end{position:static;display:block;width:max-content;max-width:100%;margin:24px 12px 4px auto;font-size:25px;transform:rotate(-6deg)}
 .intro{font-size:17px;line-height:1.6;margin-bottom:26px}
 .hero-art img{width:100%}
 .maker{grid-template-columns:minmax(0,1fr);gap:0}
 .maker-copy{padding:38px 0}
 .maker h2{font-size:clamp(34px,7.5vw,46px);line-height:1.13}
 .maker-art{margin:0;height:auto;aspect-ratio:1}
 .maker-art img{height:100%;object-position:center}
 .maker-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;margin:23px 0 30px}
 .maker-sign{justify-content:flex-start;gap:32px}
 .products{grid-template-columns:minmax(0,1fr);gap:36px}
 .products h3{font-size:clamp(23px,5.7vw,30px);line-height:1.3;letter-spacing:-.025em;margin:20px 0 12px}
 .products p{font-size:16px;line-height:1.65;margin-bottom:12px}
 .text-link{min-height:44px;display:inline-flex;align-items:center;gap:14px;font-size:16px}
 .text-link span{margin:0}
 .steps ol{grid-template-columns:minmax(0,1fr);gap:28px}
 .steps li{border:0;padding:0;gap:18px}
 .steps li>div{padding-top:2px}
 .steps h3{font-size:28px;line-height:1.25;margin:4px 0 12px}
 .steps p{font-size:16px;line-height:1.65}
 .steps p br{display:none}
 .steps h2{font-size:clamp(32px,7.5vw,44px);line-height:1.16}
}
@media(max-width:680px){
 .wrap{padding-left:22px;padding-right:22px}
 .topline{font-size:10px;letter-spacing:1.6px;line-height:1.6;padding:10px 30px}
 .header{gap:16px;padding-top:20px;padding-bottom:16px;flex-wrap:wrap}
 .header .button{font-size:14px;min-height:44px;gap:12px}
 .brand{font-size:25px;line-height:1.05;letter-spacing:-.5px}
 .eyebrow{font-size:11px;letter-spacing:2px;line-height:1.7}
 h2{font-size:clamp(32px,8vw,42px);line-height:1.15;letter-spacing:-.035em}
 .section-heading{margin-bottom:28px}
 .section-heading .eyebrow{margin-bottom:14px}
 .button{font-size:15px;min-height:48px;padding:12px 23px;gap:18px}
 .collection{padding-top:12px;padding-bottom:38px}
 .collection-decoration{width:85%;margin:26px auto 0}
 .ribbon{font-size:10px;line-height:1.7;letter-spacing:1.5px;gap:8px 16px;padding:14px 20px}
 .ribbon b,.ribbon>span:first-child,.ribbon>span:last-child{display:none}
 .manifesto-inner{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:36px;padding-bottom:36px}
 .manifesto h2{font-size:clamp(43px,11.5vw,61px);line-height:1.08}
 .manifesto-inner>div{grid-column:auto;margin:0}
 .manifesto p{font-size:17px;line-height:1.65;margin-bottom:22px}
 .manifesto .note{line-height:1.2;transform:none}
 .manifesto-decor{grid-column:auto;grid-row:auto;width:85%;max-width:300px;justify-self:center}
 .paper{font-size:21px;padding:14px;right:18px;bottom:20px;line-height:1.12;transform:rotate(5deg)}
 .steps{padding-top:42px;padding-bottom:42px}
 .contact-inner{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:38px;padding-bottom:35px}
 .contact h2{font-size:clamp(49px,13vw,68px);line-height:1.06;margin-bottom:27px}
 .contact-inner .button{white-space:normal;font-size:15px;min-height:48px;padding:12px 24px;gap:20px}
 .footer-brand{justify-self:center}
 .footer-brand .eyebrow{font-size:11px;letter-spacing:1.8px;line-height:1.8;margin-top:18px}
 .contact-illustration{grid-column:auto;grid-template-columns:minmax(0,1fr);width:100%;gap:16px}
 .contact-illustration .decor{width:90%;max-width:330px}
 .contact-note{display:block;font-size:27px;line-height:1.2}
 footer{flex-direction:column;align-items:flex-start;gap:24px;padding-top:26px;padding-bottom:26px}
 footer nav{gap:16px 22px;font-size:11px;letter-spacing:1.5px}
 footer nav a{display:inline-flex;align-items:center;min-height:44px}
 footer .eyebrow{font-size:11px;letter-spacing:1.5px}
 dialog{width:calc(100% - 28px);padding:36px 22px 26px;max-height:calc(100dvh - 32px)}
 dialog h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;padding-right:12px}
 dialog p{font-size:16px;line-height:1.6}
 .dialog-copy{padding:26px 22px}
 .dialog-art{height:auto;aspect-ratio:1.1}
 .contact-links .button{flex:1 1 110px}
 #copy-message{width:100%}
}
@media(max-width:360px){
 .wrap{padding-left:18px;padding-right:18px}
 .brand{font-size:23px}
 .header .button{padding:10px 13px;gap:8px}
 .hero h1{font-size:42px}
 .maker-sign{gap:24px}
 .maker-sign .button{width:100%}
}
/* Keep the original two-line statement readable beside the new artwork. */
@media(min-width:1001px){.manifesto-inner{grid-template-columns:1.5fr .8fr 1fr}.manifesto h2{font-size:clamp(42px,4.65vw,62px)}}
.ribbon>span{font-size:inherit;color:inherit}.ribbon>span:first-child,.ribbon>span:last-child{font-size:20px;color:var(--cherry)}
.contact-links .button{white-space:nowrap}
