:root{--black:#0b0b0c;--ink:#181819;--paper:#f2f2ef;--white:#f6f6f2;--red:#bf2437;--line:rgba(255,255,255,.2);--gutter:clamp(20px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}img{max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:break-word}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e55567;outline-offset:5px}.grain{display:none}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:white;color:black;padding:15px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;height:80px;padding:0 var(--gutter);display:flex;align-items:center;gap:32px;background:rgba(11,11,12,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.wordmark{font-size:2rem;font-weight:700;letter-spacing:.06em;line-height:1;white-space:nowrap}.desktop-nav{display:flex;gap:28px;margin:auto;font-size:.875rem}.desktop-nav a{padding:12px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:var(--white)}.header-launch{font-size:.875rem;border:1px solid #666;padding:12px 18px;white-space:nowrap}.menu-button{display:none;background:transparent;border:0;color:white;width:44px;height:44px;padding:10px}.menu-button span{display:block;background:white;height:1px;margin:7px 0}.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:3vw;padding:64px var(--gutter) 84px;min-height:690px;max-width:1800px;margin:auto;overflow:hidden;background:radial-gradient(ellipse at 80% 45%,#292023,transparent 52%)}.hero-copy{grid-column:1;grid-row:1;position:relative;z-index:2;min-width:0}.hero-image{grid-column:2;grid-row:1;width:100%;height:min(560px,48vw);object-fit:contain;filter:drop-shadow(0 24px 32px #0008)}.hero-shade{display:none}.hero h1{font:600 clamp(3rem,6.4vw,7rem)/.98 Unbounded,Arial,sans-serif;letter-spacing:-.065em;margin:0}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;display:flex;gap:12px;align-items:center;margin:0 0 26px}.eyebrow>span{width:24px;height:2px;background:var(--red);flex-shrink:0}.hero-intro{font-size:1.05rem;line-height:1.8;max-width:40ch;color:#c5c4c4;margin:26px 0 32px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:15px 22px;font-size:.875rem;line-height:1.5}.button-light{background:var(--white);color:var(--ink)}.button:hover{background:#ddd}.text-link,.line-link{display:inline-block;font-size:.875rem;padding:12px 0;border-bottom:1px solid #888}.hero-caption{position:absolute;right:var(--gutter);bottom:24px;font-size:.75rem;letter-spacing:.08em;line-height:1.7}.hero-caption span{letter-spacing:0;color:#aaa}.vertical-mark{display:none}.launch-band{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px var(--gutter);background:var(--red);font-size:.75rem;line-height:1.5;letter-spacing:.09em}.launch-band a{border-bottom:1px solid #fff7}
.drop-section{padding:82px var(--gutter);color:var(--ink);background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:14px 40px;max-width:1600px;margin:0 auto 36px}.section-heading .eyebrow{grid-column:1/-1;margin:0;color:#626262}.section-heading h2{font:600 clamp(2.6rem,5vw,5rem)/1 Unbounded,Arial,sans-serif;letter-spacing:-.05em;margin:0}.section-heading>p:last-child{justify-self:end;margin:0;line-height:1.7;color:#595959;max-width:35ch}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1600px;margin:0 auto 24px;border-bottom:1px solid #ccc}.collection-filters{display:flex;gap:22px;flex-wrap:wrap}.collection-filters button{padding:15px 0;background:none;border:0;border-bottom:2px solid transparent;font-size:.875rem;color:#555}.collection-filters button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.collection-filters span{font-size:.75rem;vertical-align:super;margin-left:5px;color:#777}#collection-count{font-size:.875rem;color:#666;white-space:nowrap}.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 18px;max-width:1600px;margin:auto}.collection-card{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;position:relative;gap:12px;align-content:start}.card-number{font-size:.75rem;letter-spacing:.05em;color:#666}.product-visual{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#e1e1dd;padding:18px;cursor:pointer;transition:background .2s}.collection-card:hover .product-visual{background:#d5d5d0}.card-copy{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-copy h3{font-size:.95rem;line-height:1.5;letter-spacing:.025em;margin:0 0 4px;font-weight:700}.card-copy p{font-size:.875rem;line-height:1.55;margin:0;color:#595959}.card-copy>span{font-size:.75rem;line-height:1.5;color:#555;text-align:right}.product-open{background:transparent;border:0;border-top:1px solid #bdbdb7;color:var(--ink);padding:12px 0;text-align:left;font-size:.875rem;line-height:1.5}.product-open::after{content:'↗';float:right}.prototype-note{font-size:.875rem;color:#666;line-height:1.7;max-width:1600px;margin:32px auto 0}.catalogue-price{margin-top:8px!important;color:var(--ink)!important;font-weight:700}
.story-section{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:7vw;padding:100px var(--gutter);overflow:hidden}.story-heading{position:relative;z-index:1}.story-heading h2{font:600 clamp(2.3rem,4.2vw,4.8rem)/1.08 Unbounded,Arial,sans-serif;letter-spacing:-.05em;margin:0}.story-chapter{margin:38px 0 0;font-size:.75rem;letter-spacing:.16em;line-height:2.3;color:#999}.story-copy{position:relative;z-index:1;max-width:65ch}.story-copy>p,.story-details p{font-size:1rem;line-height:1.9;color:#ccc;margin:0 0 24px}.story-copy strong{color:var(--white)}.story-details summary{padding:12px 0;width:fit-content;cursor:pointer;border-bottom:1px solid var(--red);margin-bottom:24px;font-size:.875rem}.story-kanji{position:absolute;left:3%;bottom:-40px;font:18rem/1 serif;color:#ffffff04;pointer-events:none}.line-link{margin-top:8px}.manifesto{padding:42px var(--gutter);background:var(--red)}.manifesto-side{display:none}.manifesto-inner{max-width:1600px;margin:auto}.chapter{font-size:.75rem;letter-spacing:.12em;display:block;margin-bottom:20px}.manifesto-inner p{font-size:clamp(1.35rem,2.2vw,2.3rem);line-height:1.5;font-weight:600;margin:0}.manifesto-inner .accent{color:#fff}
.faq-section{display:grid;grid-template-columns:1fr 1.3fr;column-gap:7vw;align-items:start;padding:85px var(--gutter);max-width:1800px;margin:auto}.faq-section>.eyebrow{grid-column:1;grid-row:1;margin-bottom:16px}.faq-section h2{grid-column:1;grid-row:2/6;align-self:start;font:600 clamp(2rem,3.5vw,3.5rem)/1.1 Unbounded,Arial,sans-serif;letter-spacing:-.04em;margin:0}.faq-section details{grid-column:2;border-bottom:1px solid #444}.faq-section details:first-of-type{grid-row:1}.faq-section summary{cursor:pointer;padding:20px 0;font-size:1rem;line-height:1.7}.faq-section details p{margin:0 0 22px;color:#bbb;line-height:1.8;font-size:1rem;max-width:65ch}.notify-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:var(--paper);color:var(--ink);padding:82px var(--gutter)}.notify-copy h2{font:600 clamp(2rem,3.5vw,4rem)/1.12 Unbounded,Arial,sans-serif;letter-spacing:-.045em;margin:0}.notify-copy>p:last-child{line-height:1.75;max-width:45ch;color:#555}.notify-form label{font-size:.875rem;line-height:1.6}.input-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #777;margin:10px 0 20px}.input-row input{border:0;background:transparent;min-width:0;flex:1;height:58px;font-size:1rem;color:var(--ink)}.input-row button{background:none;border:0;padding:16px 0;white-space:nowrap;font-size:.875rem}.input-row button span{margin-left:8px}.consent-label{display:flex;align-items:flex-start;gap:10px}.consent-label input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--red)}.form-status,.form-privacy{font-size:.875rem;line-height:1.7;color:#555}.form-status.error{color:#b31e30}.form-status.success{color:#246443}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#subscription-actions{font-size:.875rem;line-height:1.7;margin-top:24px}#subscription-actions button{display:block;border:1px solid #888;background:transparent;color:var(--ink);padding:12px;margin:10px 0}#subscription-action-status{overflow-wrap:anywhere}
footer{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:60px var(--gutter) 28px;position:relative}.footer-mark{font-size:clamp(2.7rem,5vw,5.5rem);align-self:start}.footer-navigation{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer-navigation p{font-size:.75rem;letter-spacing:.08em;color:#999;margin:0 0 20px}.footer-navigation a{display:block;font-size:.875rem;line-height:1.6;margin-bottom:10px}.footer-navigation a:hover{text-decoration:underline}.footer-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 28px;border-top:1px solid #333;padding-top:24px;font-size:.75rem;color:#aaa}.footer-japanese{display:none}.owner-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:22px;font-size:.875rem}.owner-links a{text-decoration:underline}.brand-info{padding:50px var(--gutter);border-top:1px solid #333}.brand-info p{white-space:pre-wrap;line-height:1.8}.brand-info h2{font-size:1.7rem}
.dialog-open,.menu-open{overflow:hidden}.product-dialog{width:min(1120px,94vw);max-height:92svh;padding:0;border:1px solid #555;background:var(--black);color:var(--white);overflow:auto}.product-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:12px;display:block;margin:12px 12px -56px auto;z-index:5;width:44px;height:44px;border:1px solid #777;background:var(--black);color:white;font-size:28px;border-radius:50%}.product-layout{display:grid;grid-template-columns:1.15fr 1fr}.product-media{background:#e1e1dd;color:var(--ink);padding:36px 22px 20px}.product-media>p{font-size:.875rem;text-align:center;line-height:1.6}.zoom-image{display:block;width:100%;height:530px;border:0;padding:0;background:transparent;overflow:auto;cursor:zoom-in}.zoom-image img{display:block;width:100%;height:100%;object-fit:contain}.zoom-image.zoomed{cursor:zoom-out}.zoom-image.zoomed img{width:190%;max-width:none;height:auto}.product-info{padding:66px 34px 36px;min-width:0}.product-info h2{font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.2;margin-top:0}.product-info p{line-height:1.8}.product-info dl{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;margin:26px 0;font-size:.95rem;line-height:1.6}.product-info dt{color:#aaa}.product-info dd{margin:0}.product-note{font-size:.875rem;color:#aaa}.product-info .button{width:100%;justify-content:center}.product-price{font-size:1.5rem;font-weight:700}.product-measurements{white-space:pre-wrap}.error-page{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:40px var(--gutter)}.error-page h1{font-size:clamp(2rem,6vw,5rem);line-height:1.15;margin:0}.error-page p{line-height:1.7}
@media(max-width:1200px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-copy>span{display:none}.hero-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.desktop-nav{display:none}.site-header{height:72px;gap:16px}.header-launch{margin-left:auto}.menu-button{display:block}.mobile-menu{display:flex;position:fixed;inset:72px 0 0;z-index:25;background:var(--black);padding:40px var(--gutter);flex-direction:column;justify-content:center;gap:28px;visibility:hidden;transform:translateY(-10px)}.mobile-menu a{font-size:clamp(1.8rem,6vw,3rem);font-weight:600}.menu-open .mobile-menu{visibility:visible;transform:none}.menu-open main,.menu-open footer{visibility:hidden}.menu-open .menu-button span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-button span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:560px;padding-top:50px}.hero h1{font-size:clamp(2.5rem,6.2vw,4rem)}.hero .eyebrow{font-size:.75rem}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-section{gap:40px}.story-heading h2{font-size:2.2rem}.faq-section{column-gap:30px}.notify-section{gap:36px}.notify-copy h2{font-size:2rem}.footer-navigation{gap:16px}}
@media(max-width:600px){html{scroll-padding-top:90px}.wordmark{font-size:1.6rem}.header-launch{font-size:.75rem;padding:10px 12px}.site-header{gap:8px}.hero{display:flex;flex-direction:column;padding:28px var(--gutter) 38px;gap:18px;min-height:0}.hero-image{order:0;width:100%;height:285px}.hero-copy{order:1;width:100%}.hero h1{font-size:clamp(2.6rem,11.8vw,4.3rem)}.hero-intro{font-size:1rem;margin:20px 0 24px}.hero-caption{position:static;order:2;align-self:flex-start;margin:12px 0 0}.hero-actions{width:100%;gap:10px}.hero-actions .button{width:100%}.hero .eyebrow{margin-bottom:16px}.launch-band{justify-content:space-between;gap:10px;font-size:.7rem;padding-top:14px;padding-bottom:14px}.launch-band>span:nth-child(2){display:none}.drop-section{padding:50px var(--gutter)}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:2.8rem;margin:14px 0}.section-heading>p:last-child{font-size:.95rem}.collection-toolbar{display:block;margin-bottom:20px}.collection-filters{gap:18px;justify-content:space-between}.collection-filters span{display:none}.collection-filters button{font-size:.875rem}#collection-count{font-size:.75rem;margin:8px 0 14px}.collection-grid{gap:28px 12px}.collection-card{gap:10px}.product-visual{padding:8px;aspect-ratio:3/4}.card-copy h3{font-size:.875rem}.card-copy p{font-size:.875rem}.card-number{font-size:.7rem}.product-open{font-size:.8rem}.story-section{grid-template-columns:1fr;padding:60px var(--gutter);gap:30px}.story-heading h2{font-size:clamp(2rem,8vw,3rem)}.story-chapter{display:none}.story-kanji{font-size:13rem;bottom:0}.manifesto{padding:30px var(--gutter)}.manifesto-inner p{font-size:1.25rem}.faq-section{display:block;padding:55px var(--gutter)}.faq-section h2{font-size:2.2rem;margin-bottom:26px}.faq-section summary{font-size:1rem;padding:18px 0}.notify-section{grid-template-columns:1fr;padding:55px var(--gutter);gap:28px}.notify-copy h2{font-size:clamp(2rem,8vw,3rem)}footer{grid-template-columns:1fr;gap:32px;padding-top:44px}.footer-navigation{grid-template-columns:repeat(2,1fr);gap:28px}.footer-navigation p{margin-bottom:12px}.footer-meta{line-height:1.7}.product-layout{grid-template-columns:1fr}.product-media{padding:40px 16px 16px}.zoom-image{height:330px}.product-info{padding:28px 22px}.product-dialog{max-height:94svh}.prototype-note{font-size:.8rem}}
@media(max-width:350px){.collection-grid{grid-template-columns:1fr}.product-visual{aspect-ratio:1}.header-launch{display:none}.menu-button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.admin-page { max-width: 1180px; margin: auto; padding: 40px 24px 100px; }
.admin-page > a { display: inline-block; margin-right: 28px; margin-bottom: 24px; }
.admin-page h1 { font-size: clamp(2rem,5vw,3.5rem); }.admin-page p,.admin-page li { line-height: 1.7; }.admin-page li { margin: 12px 0; }
.admin-panel { padding: 28px; border: 1px solid #414141; margin: 28px 0; background: #141414; }
.admin-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.admin-page label { display: block; font-size: 1rem; line-height: 1.6; margin-bottom: 16px; }
.admin-page input:not([type=checkbox]), .admin-page textarea { display: block; width: 100%; padding: 12px; margin-top: 8px; border: 1px solid #757575; border-radius: 0; background: #202020; color: #fff; font: inherit; }
.admin-check { display: flex !important; align-items: flex-start; gap: 12px; }.admin-check input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: var(--red); }
.admin-product { display: grid; grid-template-columns: 220px 1fr; gap: 30px; }.admin-product img { width: 100%; max-height: 300px; object-fit: contain; background: #cbc8c2; }
.admin-save { position: sticky; bottom: 0; background: #191919; padding: 20px; border: 1px solid #666; z-index: 2; }
.admin-page button { min-height: 48px; padding: 12px 22px; border: 0; background: var(--white); color: #111; font: inherit; cursor: pointer; }
.brand-info { padding: 55px clamp(24px,8vw,130px); border-top: 1px solid var(--line); }.brand-info p { white-space: pre-wrap; line-height: 1.7; max-width: 70ch; }.brand-info a { text-decoration: underline; }
.product-price { font-size: 1.3rem; font-weight: 700; }.product-measurements { white-space: pre-wrap; }
.owner-links { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
.owner-links a { text-decoration: underline; font-size: .875rem; }
@media(max-width:700px) { .admin-fields,.admin-product { grid-template-columns: 1fr; }.admin-panel { padding: 20px; }.admin-product img { height: 180px; }.admin-page { padding: 24px 16px 60px; } }

/* Project explanation: directly readable on mobile and desktop. */
.project-section{padding:64px var(--gutter);color:#fff;scroll-margin-top:20px}
.project-section h2{font:600 clamp(1.8rem,3.5vw,3.5rem)/1.2 Unbounded,Arial,sans-serif;letter-spacing:-.04em;margin:0 0 24px;overflow-wrap:break-word}
.project-section .project-intro{max-width:70ch;font-size:1.0625rem;font-weight:400;line-height:1.8;margin:0}
.project-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:40px 0}
.project-steps article{border-top:1px solid #ffffff60;padding-top:20px;min-width:0}
.project-number{font-size:.875rem;letter-spacing:.12em}
.project-steps h3{font-size:1.125rem;line-height:1.4;margin:18px 0 12px}
.project-section .project-steps p,.project-section .project-status{font-size:1rem;line-height:1.8;font-weight:400;margin:0}
.project-section .project-status{max-width:76ch;border-top:1px solid #ffffff60;padding-top:24px}
@media(max-width:760px){.project-section{padding:44px var(--gutter)}.project-steps{grid-template-columns:1fr;gap:28px;margin:30px 0}.project-steps h3{margin-top:12px}}
.notify-form>label[for=email]{font-weight:700;color:#171717}
.admin-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.admin-nav a{border:1px solid #666;padding:12px 18px}.admin-nav a:hover{border-color:#eee}
.subscriber-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.subscriber-heading h2{margin-top:0}.subscriber-heading strong{font-size:2rem}.subscriber-search>div{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.subscriber-search input{flex:1;min-width:160px}.subscriber-search button,.subscriber-pagination button{padding:12px;background:#202020;color:#fff;border:1px solid #777}.subscriber-search label{font-weight:600}.subscriber-table-wrap{overflow-x:auto}.subscriber-table{width:100%;border-collapse:collapse;text-align:left}.subscriber-table th,.subscriber-table td{padding:16px 12px;border-bottom:1px solid #444}.subscriber-table td:first-child{overflow-wrap:anywhere}.subscriber-table th{color:#bbb;font-size:.875rem}.subscriber-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.subscriber-pagination span{font-size:.875rem}
@media(max-width:600px){.subscriber-table th,.subscriber-table td{padding:12px 6px;font-size:.875rem}.subscriber-table td:last-child{min-width:120px}.subscriber-pagination{flex-wrap:wrap}.subscriber-heading .button{width:100%}}
.notify-form .input-row{background:#171717;border:2px solid #171717;padding:6px;gap:8px;box-shadow:0 4px 12px #00000014}
.notify-form .input-row input{background:transparent;color:#fff;padding:0 12px;caret-color:#fff}
.notify-form .input-row input::placeholder{color:#c7c7c7;opacity:1}
.notify-form .input-row button{background:var(--paper);color:#171717;padding:16px;font-weight:700;min-height:48px}
.notify-form .input-row button:hover{background:#fff}
.notify-form .input-row:focus-within{border-color:var(--red);box-shadow:0 0 0 3px #c8233326}
.notify-form .input-row input:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(max-width:600px){.notify-form .input-row{gap:4px}.notify-form .input-row input{padding:0 8px}.notify-form .input-row button{padding:16px 10px}.notify-form .input-row button span{margin-left:4px}}
