:root{--ink:#2a211d;--brown:#472f24;--deep:#241b17;--cream:#f5efe4;--paper:#fbf8f1;--gold:#e4a84b;--muted:#7e6c61;--line:rgba(71,47,36,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}.proposal-bar{height:28px;background:var(--gold);color:var(--deep);display:flex;align-items:center;justify-content:center;font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.18em}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.5vw,72px);background:rgba(251,248,241,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--cream);background:var(--brown);font:600 22px/1 "Shippori Mincho",serif}.brand b{font:700 18px/1.2 "DM Sans",sans-serif;letter-spacing:.11em}.brand small{display:block;margin-top:5px;color:var(--muted);font:600 9px/1 "DM Sans",sans-serif;letter-spacing:.15em}.site-header nav{display:flex;align-items:center;gap:32px;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.13em}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--gold);transition:.25s}.site-header nav a:hover:after{width:100%}.nav-cta{padding:14px 22px;background:var(--brown);color:white}.menu-button{display:none;border:0;background:transparent;padding:8px}.menu-button span{display:block;width:28px;height:2px;background:var(--ink);margin:6px}
.hero{position:relative;min-height:calc(100vh - 120px);display:flex;align-items:flex-end;overflow:hidden;background:var(--deep);color:white}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.75) contrast(1.03)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,15,10,.76) 0%,rgba(25,15,10,.42) 45%,rgba(25,15,10,.05) 78%),linear-gradient(0deg,rgba(25,15,10,.45),transparent 42%)}.hero-copy{position:relative;z-index:2;padding:clamp(55px,8vw,110px) clamp(24px,8vw,130px);max-width:900px}.eyebrow{font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.24em;color:#f4c16d;margin-bottom:27px}.hero h1{font:600 clamp(38px,6vw,84px)/1.25 "Shippori Mincho",serif;letter-spacing:.02em;margin-bottom:28px;text-shadow:0 2px 16px rgba(0,0,0,.2)}.hero h1 em{font-style:normal;color:#f4c16d}.hero-copy>p:not(.eyebrow){font-size:clamp(15px,1.5vw,18px);line-height:2;letter-spacing:.04em}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;font-weight:700;letter-spacing:.05em;transition:.25s}.button-primary{background:var(--gold);color:var(--deep)}.button:hover{transform:translateY(-2px);filter:brightness(1.04)}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link span{font-size:20px}.hero-note{position:absolute;z-index:2;right:30px;bottom:30px;writing-mode:vertical-rl;display:flex;gap:24px;font:500 9px/1 "DM Sans",sans-serif;letter-spacing:.2em;color:rgba(255,255,255,.7)}
.section-label{font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.18em;color:var(--muted);display:flex;gap:12px;align-items:center}.section-label span{color:var(--gold)}.section-label.light{color:rgba(255,255,255,.6)}.intro{padding:clamp(80px,11vw,160px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start}.script{font:600 25px/1.3 "Shippori Mincho",serif;color:var(--gold);font-style:italic;margin-bottom:20px}.intro h2,.coffee h2,.ride h2{font:600 clamp(34px,4.5vw,64px)/1.35 "Shippori Mincho",serif;letter-spacing:.02em;margin-bottom:0}.intro-copy{padding-top:42px}.intro-copy p{line-height:2.1;margin-bottom:24px;color:#594b43}
.section-dark{background:var(--deep);color:var(--cream)}.bikes{padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px)}.bikes-head{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin:45px 0 65px}.bikes-head h2{font:600 clamp(34px,4.5vw,62px)/1.35 "Shippori Mincho",serif;margin:0}.bikes-head p{color:#c7bbb2;margin:0}.easy-copy{margin-top:24px!important;padding:18px 20px;border-left:3px solid var(--gold);background:rgba(228,168,75,.09);font-size:17px;line-height:1.75!important}.easy-copy span{display:block;margin-bottom:6px;color:var(--gold);font:700 10px/1 "DM Sans",sans-serif;letter-spacing:.16em}.easy-copy strong{color:var(--cream);font-weight:700}.bike-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:22px}.bike-card{background:#322722;border:1px solid rgba(255,255,255,.1);overflow:hidden}.bike-card.featured{background:#3b2c25}.bike-visual{height:310px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 48%,rgba(228,168,75,.14),transparent 60%);position:relative}.bike-visual.mini{height:260px}.bike-visual svg{width:84%;max-width:620px}.bike-visual svg circle,.bike-visual svg path{fill:none;stroke:#e4a84b;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.bolt{position:absolute;right:14%;top:14%;font:700 34px/1 sans-serif;color:var(--gold)}.bike-info{padding:32px 34px 35px}.tag{font:700 10px/1 "DM Sans",sans-serif;letter-spacing:.16em;color:var(--gold)}.bike-info h3{font:600 27px/1.4 "Shippori Mincho",serif;margin:13px 0}.bike-info p{color:#c7bbb2;min-height:58px}.price{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);display:flex;align-items:baseline;justify-content:space-between}.price small{color:#9e8e83}.price strong{font:600 15px/1 "DM Sans",sans-serif;letter-spacing:.1em}.included{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:1px solid rgba(255,255,255,.13)}.included span{text-align:center;padding:18px 10px;border-right:1px solid rgba(255,255,255,.13);font-size:14px}.included span:last-child{border-right:0}
.coffee{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.coffee-photo{min-height:680px;overflow:hidden}.coffee-photo img{height:100%;object-fit:cover}.coffee-content{padding:clamp(70px,9vw,135px) clamp(35px,8vw,120px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.coffee-content .script{margin-top:55px}.coffee-content>p:not(.script){color:#594b43;line-height:2.1;margin:35px 0}.coffee-points{width:100%;display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-bottom:34px}.coffee-points div{padding:24px 0}.coffee-points div+div{padding-left:24px;border-left:1px solid var(--line)}.coffee-points b{font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.14em;color:var(--gold);display:block;margin-bottom:7px}.coffee-points span{font-size:14px}.text-link.dark{color:var(--brown)}
.ride{padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px);background:#eee5d7}.ride-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin:45px 0 75px}.ride-heading p{max-width:480px;color:#594b43;line-height:2}.route-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.route-list li{display:grid;grid-template-columns:80px 1fr 100px;gap:25px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.route-num{font:600 30px/1 "Shippori Mincho",serif;color:var(--gold)}.route-list small{font:700 10px/1 "DM Sans",sans-serif;letter-spacing:.16em;color:var(--muted)}.route-list h3{font:600 22px/1.4 "Shippori Mincho",serif;margin:8px 0 4px}.route-list p{margin:0;color:#66564c}.route-time{justify-self:end;font:600 12px/1 "DM Sans",sans-serif;color:var(--muted)}
.section-gold{background:var(--gold)}.contact{padding:clamp(75px,9vw,130px) clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .section-label{color:rgba(42,33,29,.7)}.contact .section-label span{color:var(--brown)}.contact h2{font:700 clamp(52px,7vw,100px)/.95 "DM Sans",sans-serif;letter-spacing:-.04em;margin:45px 0 0}.contact-copy{padding-top:55px}.contact-copy>p{font-size:18px;line-height:2;margin-bottom:30px}.button-dark{background:var(--deep);color:white}.contact dl{margin:45px 0 0;border-top:1px solid rgba(42,33,29,.35)}.contact dl div{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-bottom:1px solid rgba(42,33,29,.35)}.contact dt{font:700 11px/1.8 "DM Sans",sans-serif;letter-spacing:.12em}.contact dd{margin:0;font-size:14px}
footer{padding:60px clamp(24px,8vw,130px) 28px;background:var(--deep);color:var(--cream)}.footer-brand b{font:700 28px/1 "DM Sans",sans-serif;letter-spacing:.12em}.footer-brand span{display:block;color:#aa9d93;font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.2em;margin-top:10px}.footer-links{display:flex;gap:30px;flex-wrap:wrap;margin:55px 0;font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.13em}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#8c7e74;font-size:11px}.footer-bottom span:last-child{text-align:right}
.bike-visual{flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:34px;background:linear-gradient(135deg,rgba(228,168,75,.15),transparent 52%),repeating-linear-gradient(90deg,transparent 0,transparent 31px,rgba(255,255,255,.035) 32px);overflow:hidden}.bike-visual:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(228,168,75,.32);border-radius:50%;right:-45px;top:-75px}.bike-visual b{font:700 clamp(48px,6vw,86px)/.78 "DM Sans",sans-serif;letter-spacing:-.07em;color:var(--gold)}.bike-visual i{font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.18em;font-style:normal;color:#b9aa9f;margin-top:24px}.visual-index{position:absolute;right:28px;bottom:27px;font:500 13px/1 "DM Sans",sans-serif;color:#8c7e74}
@media(max-width:900px){.site-header{height:74px}.site-header nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:28px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-button{display:block}.intro{grid-template-columns:1fr}.intro-copy{padding-top:0}.bikes-head,.ride-heading,.contact{grid-template-columns:1fr;gap:34px}.bike-grid{grid-template-columns:1fr}.coffee{grid-template-columns:1fr}.coffee-photo{min-height:520px}.contact-copy{padding-top:0}}
@media(max-width:600px){body{font-size:15px}.proposal-bar{font-size:9px}.brand b{font-size:15px}.brand small{font-size:7px}.hero{min-height:720px}.hero>img{object-position:58% center}.hero-copy{padding-bottom:80px}.hero-copy>p:not(.eyebrow) br{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-note{display:none}.intro,.bikes,.ride,.contact{padding-inline:22px}.bikes-head{margin-block:38px}.bike-visual{height:230px}.bike-visual.mini{height:200px}.bike-info{padding:25px 24px}.bike-info p{min-height:0}.included{grid-template-columns:1fr 1fr}.included span:nth-child(2){border-right:0}.included span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}.coffee-photo{min-height:430px}.coffee-content{padding:70px 22px}.coffee-content .script{margin-top:38px}.coffee-points{grid-template-columns:1fr}.coffee-points div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.ride-heading{margin-bottom:50px}.route-list li{grid-template-columns:45px 1fr;gap:14px}.route-time{display:none}.route-list p{font-size:13px}.contact h2{font-size:48px}.contact dl div{grid-template-columns:95px 1fr}.footer-bottom{flex-direction:column}.footer-bottom span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
