:root{color-scheme:dark;--ink:#eee9de;--muted:#b7b0a3;--bg:#090909;--line:#655f54;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}button,a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}header,footer{max-width:1600px;margin:auto;padding:38px 5.7%;display:flex;align-items:center;justify-content:space-between;gap:24px}.mark{display:block;width:50px;height:48px;flex:none}.mark img{width:100%;height:100%;display:block}.instagram{display:grid;place-items:center;width:44px;height:44px}.instagram svg{width:22px;height:22px}.skip{position:absolute;left:20px;top:-80px;z-index:10;padding:12px;background:var(--ink);color:var(--bg)}.skip:focus{top:15px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:5%;padding:40px 7% 70px;min-height:650px}.copy{max-width:530px}h1,h2,.closing{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(55px,5.8vw,92px);line-height:1.04;letter-spacing:-.055em;margin:0 0 30px}h1 span{display:block}.edition{font-size:10px;letter-spacing:.24em;margin:0 0 30px}.support{font-size:15px;line-height:1.85;max-width:320px;color:var(--muted);margin:0 0 36px}.signup{max-width:440px;scroll-margin-top:24px}.form-row{display:flex;gap:0;border-bottom:1px solid var(--line)}input[type=email]{font-size:16px;color:var(--ink);background:transparent;border:0;border-radius:0;min-width:0;width:100%;padding:18px 4px}input::placeholder{color:var(--muted);opacity:1}.submit{border:0;background:var(--ink);color:#171510;padding:16px 20px;white-space:nowrap;font-size:12px}.submit:hover{background:#fff9ed}.submit:disabled{opacity:.6}.fine{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0}.status{color:var(--ink);font-size:13px;line-height:1.6}.status:empty{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-art{position:relative;aspect-ratio:4/5;width:100%;max-height:650px}.hero-art picture,.hero-art img{display:block;width:100%;height:100%;object-fit:contain}.shirt-highlight{position:absolute;inset:0;opacity:.08;animation:reveal 8s ease-in-out infinite;mask-image:linear-gradient(110deg,transparent 33%,#000 49%,transparent 66%);mask-size:350% 100%;mask-position:100% 0}.asset-gap{height:100%;display:grid;place-items:center;color:#9e978a;font-size:12px;line-height:1.7;text-align:center;padding:40px;border:1px dashed #39352f}.preview-note{font-size:12px;line-height:1.6;padding:12px 6%;margin:0;background:#242018;color:#e2d7c4}.box-scene{max-width:1600px;margin:auto;padding:0 7% 60px;display:grid;grid-template-columns:1.25fr .75fr;gap:7%;align-items:center}.box-scene figure{margin:0}.box-scene picture,.box-scene img{display:block;width:100%;height:auto}.box-scene figcaption{font-size:10px;color:var(--muted);margin-top:14px}.closing{font-size:clamp(28px,3vw,46px);line-height:1.3;letter-spacing:-.025em;max-width:350px}footer{padding-top:45px;padding-bottom:38px;font-size:12px;color:var(--muted)}footer .mark{width:36px;height:35px}footer nav{display:flex;gap:32px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}dialog{background:#11100e;color:var(--ink);border:1px solid var(--line);padding:54px 60px;text-align:center;width:min(440px,calc(100% - 36px));max-height:calc(100dvh - 36px);overflow:auto}dialog::backdrop{background:#000b}dialog .mark{margin:auto;width:50px;height:48px}dialog h2{font-size:45px;letter-spacing:-.04em;margin:35px 0}dialog button{border:0;border-bottom:1px solid var(--muted);background:none;color:var(--ink);padding:10px 16px}.reading{max-width:740px;margin:50px auto 110px;padding:0 28px}.reading h1{font-size:clamp(38px,5vw,62px);line-height:1.12;margin:30px 0}.reading h2{font-size:29px;line-height:1.25;margin:54px 0 22px}.reading h3{font-size:18px;line-height:1.5;margin:30px 0 14px}.reading p{font-size:17px;line-height:1.85;color:#cec7bb}.reading .byline{font-size:12px;letter-spacing:.08em;color:var(--muted)}.reading .article-cta{display:inline-block;padding:15px 0;margin:8px 0;border-bottom:1px solid var(--line);text-decoration:none}.success{text-align:center;min-height:55vh;display:grid;place-content:center;padding:50px 24px}.success h1{font-size:64px}.success p{line-height:1.8}.privacy-form{margin-top:30px}
@keyframes reveal{0%,15%{opacity:0;mask-position:100% 0}30%{opacity:.3}50%{opacity:.55}70%{opacity:.15}85%,100%{opacity:0;mask-position:0% 0}}
@media(max-width:760px){header{padding:25px 7%}.mark{width:42px;height:40px}.hero{grid-template-columns:1fr;padding:40px 8% 45px;gap:28px;min-height:0}.copy{max-width:none}h1{font-size:clamp(52px,12vw,76px);margin-bottom:25px}.edition{font-size:9px;margin-bottom:24px}.support{font-size:14px;max-width:300px;margin-bottom:26px}.signup{max-width:none}.hero-art{max-width:480px;margin:auto;max-height:none}.form-row{display:block;border:0}input[type=email]{border-bottom:1px solid var(--line);padding:17px 2px}.submit{width:100%;margin-top:12px;min-height:48px;font-size:13px}.box-scene{grid-template-columns:1fr;padding:0 8% 45px;gap:34px}.closing{font-size:34px;max-width:340px;margin:0 0 24px;justify-self:end}.box-scene figcaption{font-size:10px}footer{padding:30px 8%;align-items:center}footer nav{gap:24px}.reading{margin-top:30px}.reading p{font-size:16px}dialog{padding:40px 25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.shirt-highlight{opacity:0}}
/* Campaign composition matched to the approved reference, with independent imagery. */
header{position:relative;z-index:2;padding:28px 5.5%}header .mark{width:45px;height:44px}.hero{padding:16px 5.8% 12px;gap:2%;grid-template-columns:1fr 1.1fr;min-height:580px;align-items:center}.copy{z-index:1;max-width:550px}h1{font-size:clamp(66px,7.4vw,112px);line-height:.94;letter-spacing:-.055em;margin-bottom:27px}.edition{font-size:11px;letter-spacing:.27em;margin-bottom:22px}.support{font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,2.05vw,30px);line-height:1.3;color:var(--ink);max-width:400px;margin-bottom:34px}.signup{max-width:500px}.form-row{border:0;gap:7px}input[type=email]{border:1px solid #a49d91;padding:13px 18px;font-family:Georgia,serif}.submit{font-family:Georgia,serif;font-size:15px;padding:14px 22px}.fine{font-family:Georgia,serif;font-size:13px}.hero-art{aspect-ratio:3/4;max-height:640px;transform:translateY(-65px);margin-bottom:-100px;isolation:isolate}.hero-poster{mask-image:linear-gradient(#000 0 18%,rgba(0,0,0,.8) 21%,rgba(0,0,0,.045) 29% 100%)}.hero-art img{mix-blend-mode:lighten}.shirt-highlight{mask-image:linear-gradient(105deg,transparent 42%,#000 50%,transparent 58%);mask-size:350% 100%;animation:reveal 8s ease-in-out infinite}.box-scene{grid-template-columns:1.35fr .65fr;padding:0 5.8% 0;gap:4%;margin-top:-15px}.box-scene picture{mask-image:radial-gradient(ellipse 67% 70% at 55% 51%,#000 50%,transparent 100%)}.box-scene figcaption{margin-top:-12px;font-size:10px}.closing{font-size:clamp(30px,3.7vw,55px);line-height:1.06;max-width:370px}.box-scene figure{position:relative}footer{justify-content:flex-start;padding:24px 5.5% 30px}footer nav{border-left:1px solid #655f54;padding-left:30px;font-family:Georgia,serif;font-size:14px}.reading h1,.success h1{line-height:1.12}
@keyframes reveal{0%,12%{opacity:0;mask-position:100% 0}25%{opacity:.3}45%{opacity:.6}68%{opacity:.3}82%,100%{opacity:0;mask-position:0% 0}}
@media(max-width:760px){header{padding:23px 7%}.hero{grid-template-columns:1fr;padding:28px 8% 0;gap:0;min-height:0}.copy{max-width:none}h1{font-size:clamp(54px,14vw,90px);line-height:.98}.edition{font-size:9px;letter-spacing:.23em}.support{font-size:22px;max-width:330px;margin-bottom:27px}.form-row{display:block}input[type=email]{padding:15px 16px}.submit{font-size:15px;min-height:48px}.hero-art{transform:none;width:100%;margin:14px auto 0;max-height:none;max-width:420px;aspect-ratio:3/4}.box-scene{grid-template-columns:1fr;margin-top:0;padding:12px 5% 20px;gap:30px}.box-scene figcaption{margin:0 3%;font-size:9px}.closing{font-size:39px;max-width:330px;justify-self:start;margin:10px 3% 15px}.fine{font-size:12px}footer{padding:30px 8%;gap:24px}footer nav{padding-left:22px;gap:24px;font-size:13px}.reading h1{font-size:44px}.success h1{font-size:54px}}
@media(prefers-reduced-motion:reduce){.hero-poster{mask-image:linear-gradient(#000 0 19%,rgba(0,0,0,.8) 22%,rgba(0,0,0,.18) 30% 100%)}.shirt-highlight{opacity:0!important}}
.hero-art{isolation:auto;mix-blend-mode:lighten}
/* Refined campaign signup controls. */
.signup .form-row{gap:10px;align-items:stretch}
.signup input[type=email]{min-height:54px;padding:16px 18px;background:rgba(238,233,222,.025);border:1px solid #787164;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;letter-spacing:.01em;transition:border-color .18s ease,background-color .18s ease}
.signup input[type=email]::placeholder{color:#bcb4a6}
.signup input[type=email]:hover{border-color:#aaa08f}
.signup input[type=email]:focus{border-color:#eee9de;background:rgba(238,233,222,.045)}
.signup .submit{min-height:54px;padding:16px 25px;border:1px solid #e8dfcf;background:#e8dfcf;color:#262018;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:500;letter-spacing:.035em;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.signup .submit:hover:not(:disabled){background:#f7f0e4;border-color:#f7f0e4;color:#090909}
.signup .submit:active:not(:disabled){background:#d9cdb9;border-color:#d9cdb9}
.signup .submit:focus-visible,.signup input[type=email]:focus-visible{outline:1px solid #eee9de;outline-offset:4px}
.signup .fine{margin-top:16px;color:#bcb4a6}
@media(max-width:760px){.signup .submit{margin-top:10px;font-size:13px;min-height:54px}.signup input[type=email]{font-size:16px}.signup .fine{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.signup input[type=email],.signup .submit{transition:none}}
/* Gift guide collection */
.reading .breadcrumbs{font-size:12px;line-height:1.9;color:var(--muted)}
.reading .guide-answer{font-size:19px;color:var(--ink);padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reading li{font-size:17px;line-height:1.85;color:#cec7bb;margin:0 0 20px;padding-left:5px}
.reading ul{padding-left:22px}
.related-guides,.guide-list article{border-top:1px solid var(--line);margin-top:45px;padding-top:5px}
.related-guides li{margin-bottom:12px}
.reading .source-link{font-size:13px}
@media(max-width:760px){.reading li{font-size:16px}.reading .guide-answer{font-size:18px}.reading .breadcrumbs{font-size:11px}}
/* The launch invitation: warm stationery against the campaign black. */
.hero .signup{position:relative;padding:25px 27px 18px;background:#e9e2d4;color:#262018;border:1px solid #f4eddf;box-shadow:0 14px 40px #0005;isolation:isolate}
.hero .signup::before{content:"";position:absolute;inset:6px;border:1px solid #94836b40;pointer-events:none;z-index:-1}
.invitation-heading{position:relative;padding-right:40px;margin-bottom:22px}
.invitation-kicker{font-size:9px;letter-spacing:.23em;color:#645744}
.invitation-heading p{font:italic 26px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.025em;margin:9px 0 0}
.invitation-seal{position:absolute;right:0;top:1px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;border-left:1px solid #aa9b83;padding-left:10px;color:#645744}
.hero .signup .form-row{display:flex;gap:14px;align-items:stretch}
.hero .signup input[type=email]{min-height:50px;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #9b8d78;color:#262018;font-size:16px;font-family:Georgia,'Times New Roman',serif;letter-spacing:0}
.hero .signup input[type=email]::placeholder{color:#6a5e4d}
.hero .signup input[type=email]:focus{background:transparent;border-bottom-color:#262018}
.hero .signup .submit{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:50px;padding:15px 18px;border:1px solid #262018;background:#262018;color:#f1e9db;font-size:11px;letter-spacing:.015em;box-shadow:0 2px 0 #0002;transition:background-color .2s ease,box-shadow .2s ease}
.hero .signup .submit::after{content:"";width:16px;height:10px;flex:none;background:currentColor;clip-path:polygon(0 44%,80% 44%,55% 8%,61% 0,100% 50%,61% 100%,55% 92%,80% 56%,0 56%);transition:transform .2s ease}
.hero .signup .submit:hover:not(:disabled){background:#4b3b29;border-color:#4b3b29;color:#fff8ec;box-shadow:0 4px 12px #493b2826}
.hero .signup .submit:hover:not(:disabled)::after{transform:translateX(3px)}
.hero .signup .submit:active:not(:disabled){background:#181510}
.hero .signup .submit:focus-visible,.hero .signup input[type=email]:focus-visible{outline:2px solid #594a35;outline-offset:4px}
.hero .signup .fine{font:10px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.025em;color:#6a5e4d;margin:15px 0 0}
.hero .signup .status{color:#6e241b}
@media(min-width:761px) and (max-width:1100px){.hero .signup .form-row{flex-direction:column}.hero .signup .submit{width:100%}}
@media(max-width:760px){.hero .signup{padding:24px 24px 20px}.invitation-heading p{font-size:25px}.hero .signup .form-row{display:block}.hero .signup .submit{margin-top:17px;width:100%;font-size:12px}.hero .signup .fine{margin-top:15px}.invitation-heading{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){.hero .signup .submit,.hero .signup .submit::after{transition:none}}
/* Soft corners for the launch invitation. */
.hero .signup{border-radius:16px}
.hero .signup::before{border-radius:11px}
.hero .signup .submit{border-radius:8px}
/* An almost invisible invitation, echoing the shirt's outline. */
.hero .signup{background:linear-gradient(135deg,rgba(238,233,222,.035),rgba(238,233,222,.008) 65%);color:var(--ink);border-color:#eee9de38;box-shadow:none}
.hero .signup::before{border-color:#eee9de12}
.hero .invitation-kicker,.hero .invitation-seal{color:#b7b0a3}
.hero .invitation-seal{border-left-color:#eee9de38}
.hero .signup input[type=email]{color:var(--ink);border-bottom-color:#eee9de55}
.hero .signup input[type=email]::placeholder{color:#b7b0a3}
.hero .signup input[type=email]:focus{border-bottom-color:var(--ink)}
.hero .signup .submit{background:#eee9de0a;border-color:#eee9de70;color:var(--ink);box-shadow:none}
.hero .signup .submit:hover:not(:disabled){background:#eee9de;color:#262018;border-color:#eee9de;box-shadow:none}
.hero .signup .submit:active:not(:disabled){background:#d8cdbc;color:#262018}
.hero .signup .submit:focus-visible,.hero .signup input[type=email]:focus-visible{outline-color:var(--ink)}
.hero .signup .fine{color:#b7b0a3}
.hero .signup .status{color:#f0b6a7}
/* A traveling edge light shares the shirt's eight-second cadence. */
@property --invitation-light-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.hero .signup::after{content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--invitation-light-angle),transparent 0deg 235deg,rgba(238,233,222,.06) 265deg,rgba(238,233,222,.75) 292deg,rgba(255,249,235,.95) 300deg,rgba(238,233,222,.12) 323deg,transparent 345deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:invitation-edge-light 8s linear infinite}
@keyframes invitation-edge-light{0%{--invitation-light-angle:0deg;opacity:0}12%{opacity:.35}45%{opacity:1}68%{opacity:.6}82%,100%{opacity:0}100%{--invitation-light-angle:360deg}}
@media(prefers-reduced-motion:reduce){.hero .signup::after{animation:none;opacity:0}}
/* The entire invitation emerges from black, then recedes. */
.hero .signup{border-color:#eee9de14;animation:invitation-reveal 8s ease-in-out infinite;transition:background-color .25s ease}
.hero .signup .invitation-kicker,.hero .signup .invitation-seal,.hero .signup .fine,.hero .signup input[type=email]::placeholder{color:#ded8cc}
@keyframes invitation-reveal{0%,12%,100%{opacity:.65;background-color:transparent;box-shadow:0 0 0 transparent}45%{opacity:1;background-color:rgba(238,233,222,.045);box-shadow:0 0 35px rgba(238,233,222,.035),inset 0 0 28px rgba(238,233,222,.025)}68%{opacity:.82;background-color:rgba(238,233,222,.015);box-shadow:0 0 18px rgba(238,233,222,.015)}82%{opacity:.65;background-color:transparent;box-shadow:0 0 0 transparent}}
.hero .signup:hover,.hero .signup:focus-within,.hero .signup[aria-busy="true"],.hero .signup:has(.status:not(:empty)){animation:none;opacity:1;background-color:#eee9de09;border-color:#eee9de55}
@media(prefers-reduced-motion:reduce){.hero .signup{animation:none;opacity:1;transition:none}}
/* Words and controls disappear with the invitation, like the shirt itself. */
.hero .signup{padding-bottom:27px;background:transparent}
@keyframes invitation-reveal{
  0%,12%,100%{opacity:.035;filter:blur(.6px);background-color:transparent;box-shadow:none;text-shadow:none}
  30%{opacity:.35;filter:blur(.25px);text-shadow:0 0 12px #eee9de30}
  45%,54%{opacity:1;filter:blur(0);background-color:#eee9de06;box-shadow:0 0 38px #eee9de08;text-shadow:0 0 16px #eee9de20}
  68%{opacity:.4;filter:blur(.25px);background-color:transparent;box-shadow:none;text-shadow:0 0 12px #eee9de20}
  82%{opacity:.035;filter:blur(.6px);text-shadow:none}
}
.hero .signup:hover,.hero .signup:focus-within,.hero .signup[aria-busy="true"],.hero .signup:has(.status:not(:empty)),.hero .signup:has(input[type=email]:not(:placeholder-shown)){animation:none;opacity:1;filter:none;text-shadow:none;background-color:#eee9de06;border-color:#eee9de55}
@media(prefers-reduced-motion:reduce){.hero .signup{animation:none;opacity:1;filter:none;text-shadow:none}}
/* Nothing remains. The invitation reveals itself around the word. */
.hero .signup{animation:none;opacity:1;filter:none;background:transparent;border-color:transparent;box-shadow:none;text-shadow:none}
.hero .signup::before{inset:0;border-radius:inherit;border-color:#eee9de38;animation:invitation-reveal 8s ease-in-out infinite}
.hero .signup .invitation-prefix{display:inline-block;white-space:pre}
.hero .signup .invitation-prefix,.hero .signup .invitation-kicker,.hero .signup .invitation-seal,.hero .signup .form-row{animation:invitation-words 8s ease-in-out infinite}
.hero .signup .invitation-nothing{opacity:1;filter:none;color:var(--ink)}
@keyframes invitation-words{0%,12%,82%,100%{opacity:.035;filter:blur(.6px);text-shadow:none}30%{opacity:.35;filter:blur(.25px)}45%,54%{opacity:1;filter:blur(0);text-shadow:0 0 16px #eee9de20}68%{opacity:.4;filter:blur(.25px)}}
.hero .signup:is(:hover,:focus-within,[aria-busy="true"],:has(.status:not(:empty)),:has(input[type=email]:not(:placeholder-shown))) :is(.invitation-prefix,.invitation-kicker,.invitation-seal,.form-row){animation:none;opacity:1;filter:none;text-shadow:none}
.hero .signup:is(:hover,:focus-within,[aria-busy="true"],:has(.status:not(:empty)),:has(input[type=email]:not(:placeholder-shown)))::before{animation:none;opacity:1;filter:none}
@media(prefers-reduced-motion:reduce){.hero .signup::before,.hero .signup .invitation-prefix,.hero .signup .invitation-kicker,.hero .signup .invitation-seal,.hero .signup .form-row{animation:none;opacity:1;filter:none;text-shadow:none}}
