@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Latin-400-500.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Latin-400-500.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Amenity Mono"; src: url("assets/featured-work/IBMPlexMono-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root { --ink:#231815; --gold:#c9a15e; --paper:#f2f2f2; --white:#fff; --muted:#6b6663; --line:rgb(35 24 21 / 18%); --page:min(1460px,calc(100vw - 72px)); font-family:"Inter","Helvetica Neue","Noto Sans JP",sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; padding:10px 14px; color:var(--white); background:var(--ink); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.amenity-header { position:fixed; inset:0 0 auto; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:92px; padding:0 36px; color:var(--ink); background:rgb(242 242 242 / 88%); backdrop-filter:blur(18px); transition:height .3s ease,box-shadow .3s ease; }
.amenity-header.is-scrolled { height:72px; box-shadow:0 1px 0 var(--line); }
.amenity-brand { width:150px; }
.amenity-header nav { display:flex; gap:34px; font:9px/1 "Amenity Mono",monospace; letter-spacing:.14em; }
.back-home { justify-self:end; font:9px/1 "Amenity Mono",monospace; letter-spacing:.14em; }
.amenity-hero { padding:160px max(36px,calc((100vw - 1460px)/2)) clamp(100px,11vw,170px); background:var(--paper); }
.amenity-hero-copy { display:grid; grid-template-columns:1fr minmax(280px,30vw); gap:7vw; width:var(--page); margin:0 auto 90px; align-items:end; }
.amenity-hero-copy > p { grid-column:1/-1; margin:0 0 30px; color:var(--gold); font:9px/1 "Amenity Mono",monospace; letter-spacing:.18em; }
.amenity-hero h1 { margin:0; font-size:clamp(72px,9vw,136px); font-weight:400; line-height:.84; letter-spacing:-.075em; }
.amenity-hero h1 span { display:block; white-space:nowrap; }
.amenity-hero-intro { color:var(--muted); font-size:13px; line-height:1.9; }
.amenity-hero-intro p { margin:18px 0 0; }
.amenity-hero-intro p:first-child { margin:0; color:var(--ink); font-size:22px; line-height:1.4; letter-spacing:-.03em; }
.amenity-catalog { padding:clamp(90px,10vw,150px) max(36px,calc((100vw - 1460px)/2)) clamp(110px,12vw,190px); background:var(--white); }
.series-label p { margin:0; font:9px/1.5 "Amenity Mono",monospace; letter-spacing:.15em; }
.amenity-series { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(370px,.82fr); gap:clamp(45px,7vw,110px); width:var(--page); margin:0 auto clamp(120px,14vw,220px); align-items:start; }
.amenity-series:nth-of-type(even) figure { order:2; }
.amenity-series figure { position:sticky; top:105px; height:min(53vw,720px); margin:0; overflow:hidden; border-radius:14px; background:#e6e1db; }
.amenity-series figure img { height:100%; object-fit:cover; }
.amenity-series figure.amenity-product-figure { width:100%; height:auto; aspect-ratio:1; }
.amenity-series figure img.amenity-product-fit { object-fit:contain; object-position:center; }
.amenity-series-copy { padding-top:12px; }
.series-label { display:flex; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--line); color:var(--muted); }
.series-label span { font:9px/1.5 "Amenity Mono",monospace; }
.amenity-series h3 { margin:52px 0 22px; font-size:clamp(48px,5.3vw,82px); font-weight:400; line-height:.9; letter-spacing:-.065em; }
.series-brand { margin:0 0 28px; color:var(--muted); font-size:14px; line-height:1.5; letter-spacing:.04em; }
.series-lead { max-width:500px; margin:0 0 70px; color:var(--muted); font-size:14px; line-height:1.9; }
.amenity-products { margin:0; padding:0; list-style:none; border-top:1px solid var(--ink); }
.amenity-products li { display:grid; grid-template-columns:34px 1fr; gap:16px; padding:23px 0; border-bottom:1px solid var(--line); }
.amenity-products li > span { padding-top:3px; color:var(--muted); font:9px/1 "Amenity Mono",monospace; }
.amenity-products p { margin:0; font-size:14px; line-height:1.65; }
.amenity-products small { display:block; margin-top:6px; color:var(--muted); font-size:10px; letter-spacing:.04em; }
.amenity-cta { display:grid; place-items:center; min-height:90svh; padding:120px 36px; text-align:center; color:var(--white); background:var(--ink); }
.amenity-cta p { margin:0 0 35px; color:var(--gold); font:9px/1 "Amenity Mono",monospace; letter-spacing:.2em; }
.amenity-cta h2 { margin:0; font-size:clamp(68px,10vw,150px); font-weight:400; line-height:.87; letter-spacing:-.075em; }
.amenity-cta a { margin-top:70px; padding-bottom:10px; border-bottom:1px solid var(--white); font:10px/1 "Amenity Mono",monospace; letter-spacing:.14em; }
.amenity-footer { display:grid; grid-template-columns:1fr auto auto; gap:70px; align-items:end; padding:70px 36px 28px; background:var(--white); }
.amenity-footer img { width:230px; }
.amenity-footer div { display:flex; gap:28px; font:9px/1 "Amenity Mono",monospace; }
.amenity-footer p { margin:0; font:9px/1 "Amenity Mono",monospace; }
.reveal { opacity:0; transform:translateY(42px); transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1); }
.reveal.is-visible { opacity:1; transform:none; }
@media (max-width:900px) { :root{--page:calc(100vw - 36px)} .amenity-header{height:72px;padding:0 18px;grid-template-columns:1fr auto}.amenity-header nav{display:none}.amenity-brand{width:132px}.amenity-hero{padding:120px 18px 90px}.amenity-hero-copy{grid-template-columns:1fr;gap:42px;margin-bottom:0}.amenity-hero-copy>p{margin-bottom:0}.amenity-hero h1{font-size:clamp(62px,14vw,105px)}.amenity-hero-intro{max-width:600px}.amenity-catalog{padding-right:18px;padding-left:18px}.amenity-series,.amenity-series:nth-of-type(even){grid-template-columns:1fr;gap:50px}.amenity-series:nth-of-type(even) figure{order:0}.amenity-series figure{position:relative;top:auto;height:66vw}.amenity-series h3{font-size:clamp(50px,11vw,78px)}.series-lead{margin-bottom:50px}.amenity-footer{grid-template-columns:1fr;gap:40px;padding-right:18px;padding-left:18px}.amenity-footer div{flex-wrap:wrap} }
@media (min-width:521px) and (max-width:900px) {
  .amenity-series,
  .amenity-series:nth-of-type(even) { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(22px,4vw,42px); }
  .amenity-series:nth-of-type(even) figure { order:0; }
  .amenity-series figure { margin-top:clamp(60px,9vw,77px); }
  .amenity-series-copy { padding-top:0; }
  .amenity-series h3 { margin:clamp(28px,5vw,44px) 0 18px; font-size:clamp(34px,6.5vw,56px); }
  .series-brand { margin-bottom:20px; font-size:12px; }
  .series-lead { margin-bottom:32px; font-size:12px; }
  .amenity-products li { grid-template-columns:28px 1fr; gap:10px; padding:16px 0; }
  .amenity-products p { font-size:12px; }
}
@media (max-width:520px) { .amenity-hero h1{font-size:14vw}.amenity-hero h1 span{white-space:normal}.amenity-series{gap:30px;margin-bottom:100px}.amenity-series figure{height:70vw;border-radius:9px}.amenity-series h3{margin-top:30px;font-size:13vw}.series-lead{margin-bottom:35px;font-size:12px}.amenity-products li{padding:18px 0}.amenity-products p{font-size:13px}.amenity-cta h2{font-size:16vw}.amenity-footer img{width:190px} }
@media (max-width:520px) {
  .amenity-hero { padding:104px 18px 60px; }
  .amenity-hero-copy { gap:24px; }
  .amenity-hero h1 { font-size:12.5vw; }
  .amenity-hero-intro p:first-child { font-size:18px; }
  .amenity-hero-intro p { margin-top:12px; }
  .amenity-catalog { padding:70px 18px 80px; }
  .amenity-series { gap:20px; margin-bottom:64px; }
  .amenity-series figure { height:55vw; }
  .amenity-series h3 { margin:22px 0 16px; font-size:11.5vw; }
  .series-brand { margin-bottom:18px; font-size:12px; }
  .series-lead { margin-bottom:24px; line-height:1.7; }
  .amenity-products li { grid-template-columns:28px 1fr; gap:10px; padding:13px 0; }
  .amenity-products p { font-size:12px; }
  .amenity-cta { min-height:65svh; padding:70px 18px; }
  .amenity-cta p { margin-bottom:24px; }
  .amenity-cta h2 { font-size:13vw; white-space:nowrap; }
  .amenity-cta a { margin-top:36px; }
  .amenity-footer { gap:24px; padding:46px 18px 22px; }
  .amenity-footer img { width:170px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none} }
