:root { --ink:#0d1a29; --deep:#07111e; --cream:#f6f0e6; --warm:#f2ae43; --orange:#e57035; --muted:#a9b0b8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans","Noto Sans JP",sans-serif; }
a { color:inherit; }
.hero { min-height:100svh; padding:28px 5vw 44px; color:var(--cream); background:radial-gradient(circle at 78% 44%,#223955 0,transparent 28%),linear-gradient(128deg,#07111e 0%,#0c1d31 60%,#15354d 100%); position:relative; overflow:hidden; }
nav { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
.wordmark { font-weight:700; font-size:22px; letter-spacing:-1px; text-decoration:none; }.wordmark span { color:var(--warm); }.nav-link { font-size:13px; text-transform:uppercase; letter-spacing:.11em; text-decoration:none; border-bottom:1px solid rgba(246,240,230,.5); padding-bottom:4px; }
.hero-copy { position:relative; z-index:2; max-width:630px; margin:clamp(110px,17vh,180px) 0 50px; }.eyebrow,.footer-label { font-size:11px; letter-spacing:.15em; font-weight:700; margin:0 0 18px; }.hero h1,.intro h2,.collection h2,.commerce h2 { font-family:Fraunces,"Noto Sans JP",serif; letter-spacing:-.055em; line-height:.95; margin:0; }.hero h1 { font-size:clamp(55px,8.7vw,126px); max-width:770px; }.lead { font-family:"Noto Sans JP",sans-serif; font-size:15px; line-height:1.9; max-width:510px; margin:31px 0; color:#d4dce2; }
.button { display:inline-flex; align-items:center; gap:26px; background:var(--warm); color:var(--deep); padding:15px 18px; border-radius:100px; font-size:13px; font-weight:700; text-decoration:none; transition:transform .25s ease,background .25s ease; }.button:hover { transform:translateY(-3px); background:#ffc362; }.button span { font-size:17px; }
.hero-art { position:absolute; inset:0 0 0 49%; opacity:.83; }.hero-art img { width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:screen; filter:saturate(.85) contrast(1.12) brightness(.72); }.glow { position:absolute; border-radius:50%; filter:blur(42px); background:#ffbe53; mix-blend-mode:screen; }.glow-one { width:200px;height:200px;right:15%;top:19%; }.glow-two { width:110px;height:110px;right:52%;bottom:14%;background:#f26e39; }.scroll { position:absolute; bottom:31px; left:5vw; font-size:10px; letter-spacing:.16em; color:#a8bbc8; }
.intro,.collection,.catalog,.power-options,.principles,.story,.partners,.contact { padding:clamp(90px,13vw,180px) 7vw; }.intro { background:#e9e0d0; }.intro h2,.collection h2,.catalog h2,.power-options h2,.commerce h2,.story h2,.partners h2,.contact h2 { font-size:clamp(44px,6.2vw,88px); max-width:900px; }.intro-grid { margin-top:65px; display:grid; grid-template-columns:1fr 1fr; gap:9vw; max-width:930px; }.intro-grid p { margin:0; font-size:18px; line-height:1.65; }
.story { display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; background:#f6f0e6; }.story-copy p:not(.eyebrow),.partner-copy p,.contact > p:not(.eyebrow) { max-width:590px; font-size:17px; line-height:1.75; }.story-list { display:grid; gap:0; border-top:1px solid #cfc3b2; }.story-list > div { padding:25px 0; border-bottom:1px solid #cfc3b2; }.story-list span { color:var(--orange); font-weight:700; font-size:12px; letter-spacing:.12em; }.story-list h3 { font-family:Fraunces,"Noto Sans JP",serif; font-size:31px; letter-spacing:-.04em; margin:9px 0; }.story-list p { margin:0; line-height:1.65; color:#52606d; }
.collection { background:var(--cream); }.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:24px; }.collection-note { max-width:240px; font-family:"Noto Sans JP",sans-serif; font-size:14px; line-height:1.8; margin:0; }.product-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }.product { position:relative; min-height:360px; overflow:hidden; background:#d4c6b2; }.product-large { min-height:570px; }.product-tall { min-height:570px; }.product-wide { grid-column:span 2; min-height:430px; }.product img { width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .65s cubic-bezier(.2,.8,.2,1); }.product:hover img { transform:scale(1.045); }.product::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,13,22,.8)); }.product-copy { position:absolute;left:24px;right:24px;bottom:22px;color:#fff;z-index:1; }.product-copy p,.product-copy span { font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:0; }.product-copy h3 { font-family:Fraunces,"Noto Sans JP",serif;font-size:34px;letter-spacing:-.04em;margin:7px 0 8px; }
.collection { background:var(--cream); }.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:24px; }.collection-note { max-width:240px; font-family:"Noto Sans JP",sans-serif; font-size:14px; line-height:1.8; margin:0; }.product-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }.product { position:relative; min-height:360px; overflow:hidden; background:#d4c6b2; }.product-large { min-height:570px; }.product-tall { min-height:570px; }.product-wide { grid-column:span 2; min-height:430px; }.product img { width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .65s cubic-bezier(.2,.8,.2,1); }.product:hover img { transform:scale(1.045); }.product::after,.catalog-card::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,13,22,.8)); }.product-copy { position:absolute;left:24px;right:24px;bottom:22px;color:#fff;z-index:1; }.product-copy p,.product-copy span,.catalog-card p,.catalog-card span { font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:0; }.product-copy h3 { font-family:Fraunces,"Noto Sans JP",serif;font-size:34px;letter-spacing:-.04em;margin:7px 0 8px; }
.catalog { background:#d9e2e5; }.catalog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }.catalog-card { position:relative;min-height:370px;overflow:hidden;background:#789; }.catalog-card.catalog-feature { grid-column:span 2;min-height:460px; }.catalog-card img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1); }.catalog-card:hover img { transform:scale(1.045); }.catalog-card > div { position:absolute;z-index:1;left:24px;right:24px;bottom:22px;color:#fff; }.catalog-card h3 { font-family:Fraunces,"Noto Sans JP",serif;font-size:31px;letter-spacing:-.04em;margin:7px 0 8px; }.power-options { display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:#f6f0e6; }.power-grid { display:grid;gap:0;border-top:1px solid #cfc3b2; }.power-grid > div { padding:23px 0;border-bottom:1px solid #cfc3b2; }.power-grid span { color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.12em; }.power-grid h3 { font-family:Fraunces,"Noto Sans JP",serif;font-size:30px;letter-spacing:-.04em;margin:8px 0; }.power-grid p { margin:0;line-height:1.65;color:#52606d;max-width:420px; }
.principles { background:var(--ink); color:var(--cream); }.principle-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:70px; }.principle-grid span { color:var(--warm);font-weight:700; }.principle-grid h3 { font-family:Fraunces,"Noto Sans JP",serif;font-size:34px;letter-spacing:-.04em;margin:30px 0 15px; }.principle-grid p { color:#bac6d1;line-height:1.7;max-width:260px; }
.partners { display:grid; grid-template-columns:1fr 1fr; gap:9vw; background:#d9e2e5; }.partner-copy { padding-top:42px; }.partner-copy p:first-child { margin-top:0; }.contact { background:#e9e0d0; }.contact h2 { max-width:720px; }.contact-note { margin-top:42px; color:#52606d; font-size:14px !important; letter-spacing:.04em; }
.commerce { padding:clamp(90px,13vw,180px) 7vw; background:var(--orange);color:var(--deep); }.commerce h2 { max-width:830px; }.commerce > p:not(.eyebrow) { margin:31px 0;font-size:17px; }.button-light { background:var(--cream); }
footer { padding:55px 7vw 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;background:#07111e;color:var(--cream);position:relative; }.footer-label { color:#8796a4;margin-bottom:10px; }.footer-label+p,footer a:not(.wordmark) { font-size:14px;line-height:1.7;margin:0;text-decoration:none; }.copyright { grid-column:1/-1;border-top:1px solid #243345;padding-top:25px;margin:35px 0 0;color:#8796a4;font-size:12px; }
@media (max-width:700px) { .hero { padding:22px 7vw 34px; }.hero-copy { margin:100px 0 170px; }.hero h1 { font-size:58px; }.hero-art { inset:54% 0 0 0; opacity:.72; }.scroll { left:7vw; }.intro,.collection,.catalog,.power-options,.principles,.commerce,.story,.partners,.contact { padding:80px 7vw; }.intro-grid,.principle-grid,.story,.partners,.power-options { grid-template-columns:1fr;gap:28px;margin-top:42px; }.story,.partners,.power-options { display:grid; }.section-head { display:block; }.collection-note { margin-top:20px; }.product-grid,.catalog-grid { grid-template-columns:1fr; }.product,.product-large,.product-tall,.catalog-card,.catalog-card.catalog-feature { min-height:410px; }.product-wide,.catalog-card.catalog-feature { grid-column:auto;min-height:410px; }.product-copy h3,.catalog-card h3 { font-size:29px; } footer { grid-template-columns:1fr 1fr;padding:50px 7vw 25px; } footer > div:first-child { grid-column:1/-1; } }
