.hero{min-height:calc(100svh - var(--above-hero, 110px));padding:clamp(40px,6svh,72px) 0 clamp(32px,4.5svh,64px);text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.hero-eyebrow{font-size:10.5px;letter-spacing:.32em;color:var(--fg3);text-transform:uppercase}.hero-mark{margin:clamp(14px,2svh,28px) 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(80px,min(14vw,15svh),168px);line-height:1;letter-spacing:-.02em}.hero-mark .small{display:block;font-size:10.5px;letter-spacing:.32em;color:var(--fg3);margin-top:clamp(10px,1.5svh,18px);font-family:var(--sans)}.hero-h1{margin:clamp(30px,5svh,64px) auto 0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,min(5vw,5.5svh),56px);line-height:1.15;letter-spacing:-.025em;max-width:14ch;text-wrap:balance}.hero-h1 em{font-style:italic;color:var(--fg2)}.hero-sub{margin:clamp(12px,1.8svh,22px) auto 0;font-size:16.5px;line-height:1.6;color:var(--fg3);max-width:48ch;text-wrap:pretty}.hero-actions{margin-top:clamp(20px,3.5svh,44px);display:inline-flex;gap:10px}.hero-foot{margin-top:clamp(12px,2svh,22px);font-size:11.5px;color:var(--fg4);font-family:var(--mono);letter-spacing:.04em}.hero-foot a{color:var(--fg3);border-bottom:1px solid var(--line2);padding-bottom:1px}.hero-foot a:hover{color:var(--fg);border-color:var(--fg3)}.os-ribbon{border-bottom:1px solid var(--line);background:#e8e4d904;text-align:center;font-family:var(--mono);font-size:11px;color:var(--fg3);letter-spacing:.08em;padding:10px 24px;line-height:1.7}.os-ribbon .ji{font-family:var(--serif);margin-right:10px;color:var(--fg2);letter-spacing:0}.os-ribbon a{color:var(--fg);border-bottom:1px solid var(--line3);padding-bottom:1px;margin:0 4px;white-space:nowrap}.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-bg .glyph{position:absolute;font-family:var(--serif);color:var(--fg);opacity:.025;user-select:none}.section{padding:120px 0;border-top:1px solid var(--line)}.section-eyebrow{font-size:10.5px;letter-spacing:.32em;color:var(--fg3);text-transform:uppercase;display:flex;align-items:center;gap:14px}.section-eyebrow:before{content:"";width:32px;height:1px;background:var(--line3)}.section-title{margin:16px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,48px);line-height:1.18;letter-spacing:-.022em;max-width:22ch;text-wrap:balance}.section-title .kanji{color:var(--fg3);margin-left:12px}.principles{margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.principle{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:32px 28px 40px;min-height:280px;display:flex;flex-direction:column}.principle:nth-child(4n){border-right:none}.principle .ji{font-family:var(--serif);font-size:56px;line-height:1;color:var(--fg);margin-bottom:36px;letter-spacing:-.02em}.principle .label{font-size:10.5px;letter-spacing:.28em;color:var(--fg3);text-transform:uppercase;margin-bottom:14px}.principle .heading{font-family:var(--serif);font-size:22px;line-height:1.3;margin-bottom:12px;letter-spacing:-.01em}.principle .body{font-size:13.5px;color:var(--fg3);line-height:1.6}.gallery{margin-top:88px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:end}.gallery-item{display:flex;flex-direction:column;align-items:center;gap:22px}.gallery-item .phone-shell{transform:scale(.78);transform-origin:top center;margin-bottom:-120px}.gallery-caption{text-align:center;max-width:28ch}.gallery-caption .num{font-family:var(--mono);font-size:11px;color:var(--fg4);letter-spacing:.12em}.gallery-caption .ttl{font-family:var(--serif);font-size:18px;margin-top:8px;letter-spacing:-.01em}.gallery-caption .desc{font-size:13px;color:var(--fg3);margin-top:6px;line-height:1.55}.hues{margin-top:72px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hue{padding:36px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}.hue:last-child{border-right:none}.hue .swatch{width:28px;height:28px;border-radius:4px}.hue .name{font-family:var(--serif);font-size:20px;letter-spacing:-.01em}.hue .name .ji{color:var(--fg3);margin-left:8px;font-size:16px}.hue .role{font-size:11px;letter-spacing:.16em;color:var(--fg4);text-transform:uppercase}.hue .desc{font-size:13px;color:var(--fg3);line-height:1.55;margin-top:-6px}.promise{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:64px}.promise-list{display:flex;flex-direction:column}.promise-row{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.promise-row:first-child{border-top:1px solid var(--line)}.promise-row .num{font-family:var(--mono);font-size:11px;color:var(--fg4);letter-spacing:.18em}.promise-row .ttl{font-family:var(--serif);font-size:18px;margin-bottom:6px;letter-spacing:-.01em}.promise-row .desc{font-size:13.5px;color:var(--fg3);line-height:1.6}.promise-row .desc em{font-family:var(--serif);font-style:italic;color:var(--fg2)}.cta{text-align:center;padding:160px 0;border-top:1px solid var(--line)}.cta .ji{font-family:var(--serif);font-size:clamp(72px,12vw,132px);line-height:1;letter-spacing:-.02em;color:var(--fg);margin-bottom:8px}.cta .lead{font-family:var(--serif);font-size:clamp(28px,4vw,40px);line-height:1.25;letter-spacing:-.022em;margin:24px auto 0;max-width:18ch;text-wrap:balance}.cta .sub{margin-top:18px;color:var(--fg3);font-size:15px;line-height:1.6;max-width:44ch;margin-left:auto;margin-right:auto}.store-row{margin-top:40px;display:inline-flex;gap:12px}.store-btn{display:inline-flex;align-items:center;gap:12px;padding:13px 22px;border-radius:10px;border:1px solid var(--line2);color:var(--fg);cursor:pointer;transition:background .14s ease,border-color .14s ease}.store-btn:hover{background:var(--bg1);border-color:var(--line3)}.store-btn .lbl{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;white-space:nowrap}.store-btn .lbl .top{font-size:9.5px;color:var(--fg3);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.store-btn .lbl .bot{font-size:15px;margin-top:4px;white-space:nowrap}.wink{display:inline-block;font-family:var(--serif);font-style:italic;color:var(--fg2)}@media(max-height:820px)and (min-width:901px){.hero-h1{max-width:28ch}.hero-h1 br{display:none}}@media(max-width:900px){.section{padding:80px 0}.hero{padding:72px 0 64px}.hero-mark{font-size:clamp(72px,16vw,128px)}.hero-h1{font-size:clamp(30px,5.5vw,44px)}.principles{grid-template-columns:repeat(2,1fr)}.principle:nth-child(4n){border-right:1px solid var(--line)}.principle:nth-child(2n){border-right:none}.gallery{grid-template-columns:1fr;gap:64px}.gallery-item .phone-shell{transform:scale(.85);margin-bottom:-90px}.hues{grid-template-columns:repeat(2,1fr)}.hue{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hue:nth-child(2n){border-right:none}.promise{grid-template-columns:1fr;gap:32px}}@media(max-width:720px){.hero{padding:48px 0 40px}.hero-mark{margin:16px 0 6px;font-size:clamp(56px,16vw,88px)}.hero-mark .small{margin-top:14px}.hero-h1{margin-top:28px;font-size:clamp(26px,7vw,36px);max-width:100%;padding:0 4px}.hero-h1 br{display:none}.hero-sub{font-size:14.5px;max-width:100%;padding:0 4px}.hero-actions{margin-top:32px;display:flex;flex-direction:column;width:100%;padding:0 4px;gap:8px}.hero-actions .btn{justify-content:center;width:100%}.hero-foot{font-size:10.5px;padding:0 8px}.hero-bg .glyph{font-size:220px!important}.section{padding:56px 0}.section-eyebrow{font-size:10px;letter-spacing:.24em;gap:10px}.section-eyebrow:before{width:20px}.section-title{font-size:clamp(24px,6.5vw,32px);max-width:100%}.principles{margin-top:32px;grid-template-columns:1fr}.principle,.principle:nth-child(2n),.principle:nth-child(4n){border-right:none}.principle{min-height:0;padding:24px 16px 28px}.principle .ji{font-size:40px;margin-bottom:20px}.principle .heading{font-size:19px}.gallery{margin-top:40px;gap:40px}.gallery-item .phone-shell{transform:scale(.78);margin-bottom:-130px}.hues{margin-top:32px;grid-template-columns:1fr}.hue{border-right:none!important;padding:24px 16px}.promise{margin-top:32px}.promise-row{grid-template-columns:48px 1fr;gap:12px;padding:18px 0}.promise-row .num{font-size:10px}.promise-row .ttl{font-size:16px}.promise-row .desc{font-size:13px}.cta{padding:72px 0}.cta .sub{max-width:100%;font-size:14px;padding:0 8px}.store-row{flex-direction:column;align-items:stretch;width:100%;padding:0 4px;gap:8px}.store-btn{width:100%;justify-content:center}}
