:root{--navy:#0d1c33;--cream:#f4f1ea;--sand:#ece7dc;--gold:#c9a227;--gold-hi:#e0b62c;--red:#c8102e;--wine:#8d1b3d;--amber:#c2661c;--line:#0d1c3329;--line-strong:#0d1c3333;--ink-75:#0d1c33bf;--ink-70:#0d1c33b3;--ink-62:#0d1c339e;--ink-55:#0d1c338c;--cream-76:#f4f1eac2;--cream-55:#f4f1ea8c;--cream-45:#f4f1ea73;--gutter:clamp(14px, 3vw, 40px);--ease:cubic-bezier(.2, .7, .2, 1);--sans:"Zen Kaku Gothic New", system-ui, sans-serif;--serif:"Newsreader", Georgia, serif;--mono:"DM Mono", ui-monospace, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--navy)}body{background:var(--cream);color:var(--navy);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}iframe{border:0}.container{max-width:1280px;margin:0 auto}.section{padding:clamp(36px, 5vw, 80px) var(--gutter)}.eyebrow{font:500 10px var(--mono);letter-spacing:.22em}.eyebrow-gold{color:var(--gold)}.eyebrow-red{color:var(--red)}@keyframes riRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}[data-reveal]{opacity:0}[data-reveal].in{animation:riRise .8s var(--ease) forwards}[data-reveal][data-reveal-i="1"].in{animation-delay:70ms}[data-reveal][data-reveal-i="2"].in{animation-delay:.14s}[data-reveal][data-reveal-i="3"].in{animation-delay:.21s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}[data-reveal]{opacity:1}}.btn{white-space:nowrap;justify-content:center;align-items:center;height:52px;padding:0 28px;transition:background .2s,color .2s;display:inline-flex}.btn-gold{background:var(--gold);color:var(--navy);font:700 14px var(--sans)}.btn-gold:hover{background:var(--gold-hi)}.btn-gold-mono{font:500 14.5px var(--mono);padding:0 26px}.btn-ghost{color:var(--cream);font:500 14px var(--sans);border:1px solid #f4f1ea80;padding:0 24px}.btn-ghost:hover{background:#f4f1ea1a}.site-header{z-index:50;background:var(--navy);border-bottom:1px solid #c9a22766;position:sticky;top:0}.site-header .bar{padding:10px var(--gutter);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{flex:none;align-items:center;gap:12px;display:flex}.brand-mark{background:var(--cream);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.brand-mark img{width:32px;height:32px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{font:400 clamp(15px, 1.8vw, 18px) var(--serif);letter-spacing:.04em;color:var(--cream)}.brand-sub{font:500 9px var(--mono);letter-spacing:.2em;color:#f4f1ea80}.site-header nav{align-items:center;gap:clamp(10px,2vw,24px);display:flex}.nav-link{font:500 12.5px var(--sans);color:#f4f1ead1;white-space:nowrap;border-bottom:1.5px solid #0000;padding:7px 2px;transition:color .2s,border-color .2s}.nav-link:hover,.nav-link.active{color:var(--gold);border-bottom-color:var(--gold)}.nav-cta{border:1px solid var(--gold);height:38px;font:500 12px var(--mono);letter-spacing:.08em;color:var(--gold);white-space:nowrap;align-items:center;padding:0 18px;transition:background .2s,color .2s;display:flex}.nav-cta:hover,.nav-cta.active{background:var(--gold);color:var(--navy)}@media (width<=600px){.site-header .brand-sub{display:none}}@media (width<=420px){.site-header .brand-text{display:none}.nav-cta{padding:0 12px}}.hero{background:var(--navy);color:var(--cream);position:relative}.hero .container{padding:clamp(34px, 5.5vw, 84px) var(--gutter) clamp(30px, 4vw, 56px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:end;gap:clamp(26px,4vw,60px);display:grid}.hero-kicker{font:500 10px var(--mono);letter-spacing:.26em;color:var(--gold);margin-bottom:clamp(18px,3vw,34px)}.hero h1{font:900 clamp(28px, 4.3vw, 54px)/1.26 var(--sans);letter-spacing:-.03em;text-wrap:balance;margin-bottom:26px}.hero-lead{max-width:44ch;font:400 clamp(14px, 1.5vw, 16px)/1.95 var(--sans);color:var(--cream-76);text-wrap:pretty;margin-bottom:10px}.hero-en{max-width:46ch;font:italic 300 clamp(14px, 1.5vw, 16.5px)/1.7 var(--serif);color:#c9a227d9;text-wrap:pretty}.hero-side{flex-direction:column;gap:22px;display:flex}.route-box{border:1px solid #f4f1ea38;padding:clamp(18px,2.4vw,26px)}.route-box .label{font:500 9.5px var(--mono);letter-spacing:.24em;color:var(--cream-45);margin-bottom:18px}.route-box iframe{background:var(--navy);width:100%;height:clamp(200px,22vw,260px);display:block}.route-box .ends{font:400 11px var(--sans);color:var(--cream-55);justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:clamp(18px,2.4vw,30px);display:flex}.sec-head h2{font:400 clamp(24px, 3.2vw, 38px)/1.25 var(--serif);letter-spacing:-.01em}.sec-head .idx{font:500 10.5px var(--mono);letter-spacing:.2em;color:var(--ink-75);white-space:nowrap}.rest-list{border-top:1.5px solid var(--navy)}.rest-row{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:clamp(14px,2.4vw,36px);padding:clamp(18px,2.4vw,26px) 0;transition:background .3s,padding-left .3s;display:grid}.rest-row:hover{background:var(--sand);padding-left:10px}.rest-id{align-items:center;gap:clamp(12px,2vw,22px);min-width:0;display:flex}.rest-id .n{font:500 11px var(--mono);letter-spacing:.1em;color:var(--red);flex:none}.rest-id img{object-fit:cover;flex:none;width:clamp(64px,7vw,92px);height:clamp(64px,7vw,92px)}.rest-id h3{font:900 clamp(17px, 2vw, 24px)/1.3 var(--sans);letter-spacing:-.02em;margin-bottom:5px}.rest-id .tag{font:500 10.5px var(--mono);letter-spacing:.14em;color:var(--ink-75);white-space:nowrap}.rest-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:clamp(10px,2vw,24px);display:flex}.rest-meta p{min-width:0;font:400 13px/1.8 var(--sans);color:#0d1c33ad;text-wrap:pretty;flex:190px}.rest-links{flex-direction:column;flex:none;align-items:flex-start;gap:7px;display:flex}.link-site{font:500 11.5px var(--mono);letter-spacing:.08em;color:var(--navy);white-space:nowrap;border-bottom:1px solid #0d1c3359;transition:border-color .2s}.link-site:hover{border-bottom-color:var(--red)}.link-tel{font:500 11.5px var(--mono);letter-spacing:.04em;color:var(--ink-62);white-space:nowrap;transition:color .2s}.link-tel:hover{color:var(--red)}@media (width<=720px){.rest-row{grid-template-columns:1fr}.rest-meta{justify-content:flex-start}.rest-id .tag{white-space:normal}}.divisions{padding:0 var(--gutter) clamp(36px, 5vw, 80px)}.divisions .container{grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:clamp(16px,2.2vw,28px);display:grid}.div-card{border:1px solid var(--line-strong);flex-direction:column;min-height:230px;padding:clamp(22px,3vw,34px);transition:border-color .25s;display:flex}.div-card:hover{border-color:var(--navy)}.div-card.dark{background:var(--navy);color:var(--cream);border-color:var(--navy)}.div-card .eyebrow{margin-bottom:14px}.div-card h3{font:400 clamp(20px, 2.4vw, 27px)/1.35 var(--serif);margin-bottom:4px}.div-card .ja{font:700 13px var(--sans);color:var(--ink-62);margin-bottom:14px}.div-card.dark .ja{color:#f4f1eab3}.div-card p{font:400 13.5px/1.9 var(--sans);color:var(--ink-70);text-wrap:pretty}.div-card.dark p{color:var(--cream-76)}.div-card .more{font:500 11.5px var(--mono);letter-spacing:.1em;margin-top:auto;padding-top:22px}.strip{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;display:grid}.strip figure{aspect-ratio:4/3;position:relative;overflow:hidden}.strip img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.strip figure:hover img{transform:scale(1.06)}.strip figcaption,.office-photos figcaption{background:var(--navy);white-space:nowrap;font:500 9.5px var(--mono);letter-spacing:.18em;color:var(--gold);padding:8px 12px;position:absolute;bottom:0;left:0}.message{background:var(--sand);padding:clamp(36px, 5vw, 84px) var(--gutter)}.message .container{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:clamp(24px,4vw,64px);display:grid}.message blockquote{font:300 clamp(23px, 3.2vw, 36px)/1.5 var(--serif);letter-spacing:-.01em;text-wrap:balance}.signature{align-items:center;gap:12px;margin:20px 0 clamp(22px,3vw,34px);display:flex}.signature .rule{background:var(--gold);flex:none;width:34px;height:1.5px}.signature .who{flex-direction:column;gap:4px;display:flex}.signature .role{font:500 11px var(--mono);letter-spacing:.16em;color:#0d1c3399}.signature .name{font:700 15px var(--sans);letter-spacing:.02em}.signature .name small{font:400 11.5px var(--mono);letter-spacing:.06em;color:var(--ink-55);white-space:nowrap;margin-left:10px}.values{border-top:1px solid var(--line-strong);grid-template-columns:auto 1fr;gap:0 clamp(14px,2vw,22px);max-width:34ch;display:grid}.values .n{font:500 10px var(--mono);letter-spacing:.16em;color:var(--red);border-bottom:1px solid #0d1c3324;padding:13px 0}.values .v{font:500 13.5px/1.6 var(--sans);border-bottom:1px solid #0d1c3324;padding:13px 0}.values .v span{font:400 12px var(--sans);color:#0d1c33bd}.message-body{flex-direction:column;gap:16px;max-width:56ch;display:flex}.message-body p{font:400 14px/2.05 var(--sans);color:#0d1c33c2;text-wrap:pretty}.cta-band{background:var(--navy);padding:clamp(30px, 4vw, 60px) var(--gutter)}.cta-band .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;display:flex}.cta-band h2{font:400 clamp(21px, 2.8vw, 32px)/1.4 var(--serif);color:var(--cream);text-wrap:balance}.cta-band .actions{flex-wrap:wrap;gap:10px;display:flex}.page-head{background:var(--navy);color:var(--cream);padding:clamp(30px, 4.4vw, 66px) var(--gutter)}.page-head .eyebrow{margin-bottom:14px}.page-head h1{font:400 clamp(26px, 3.8vw, 46px)/1.3 var(--serif);letter-spacing:-.01em}.page-head p{max-width:50ch;font:400 14.5px/1.9 var(--sans);color:#f4f1eabf;text-wrap:pretty;margin-top:14px}.page-body{padding:clamp(26px, 3.4vw, 48px) var(--gutter) clamp(34px, 4.6vw, 70px)}.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:clamp(26px,4vw,56px);display:grid}.biz .eyebrow{letter-spacing:.18em;margin-bottom:8px}.biz h2{font:700 clamp(19px, 2.2vw, 24px)/1.4 var(--sans);margin-bottom:16px}.biz .lead{font:400 14.5px/1.95 var(--sans);color:#0d1c33bd;text-wrap:pretty;margin-bottom:20px}.spec{border-top:1.5px solid var(--navy);grid-template-columns:auto 1fr;gap:0 clamp(14px,2.2vw,24px);display:grid}.spec .n{font:500 10.5px var(--mono);border-bottom:1px solid var(--line);padding:15px 0}.spec .v{font:500 14px/1.6 var(--sans);border-bottom:1px solid var(--line);padding:15px 0}.spec .v.plain{font-weight:400}.spec .v small{font:400 13px/1.7 var(--sans);color:var(--ink-62);display:block}.list{border-top:1.5px solid var(--navy);flex-direction:column;display:flex}.list>div{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding:15px 0;display:flex}.list .n{font:500 10.5px var(--mono);color:var(--red);flex:none}.list>div>span:last-child{font:400 14px/1.7 var(--sans)}.note{font:400 12.5px/1.8 var(--sans);color:var(--ink-55);text-wrap:pretty;margin-top:16px}.facts{border-top:1.5px solid var(--navy);grid-template-columns:auto 1fr;gap:0 clamp(16px,2.5vw,32px);display:grid}.facts .k{font:500 10.5px var(--mono);letter-spacing:.12em;color:var(--red);white-space:nowrap;border-bottom:1px solid var(--line);padding:15px 0}.facts .v{font:500 15px/1.75 var(--sans);border-bottom:1px solid var(--line);min-width:0;padding:15px 0}.facts .v.plain{font:400 14.5px/1.85 var(--sans)}.facts .v.mono{font:500 15px/1.7 var(--mono)}.facts .v.break{word-break:break-all}.facts .v a:hover{color:var(--red)}.facts .v small{font:400 12.5px/1.6 var(--mono);color:var(--ink-55);margin-top:2px;display:block}.side{flex-direction:column;gap:12px;display:flex}.map-box{border:1px solid var(--line-strong)}.map-box .head{background:var(--navy);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.map-box .head .label{font:500 9.5px var(--mono);letter-spacing:.18em;color:var(--gold);white-space:nowrap}.map-box .head a{font:500 9.5px var(--mono);letter-spacing:.12em;color:#f4f1eab3;white-space:nowrap;transition:color .2s}.map-box .head a:hover{color:var(--gold)}.map-box iframe{background:var(--sand);width:100%;height:clamp(230px,26vw,320px);display:block}.office-photos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.office-photos figure{position:relative}.office-photos img{aspect-ratio:4/3;object-fit:cover;width:100%}.office-photos figcaption{padding:7px 10px;font-size:9px}.access-box{border:1px solid var(--line-strong);flex-direction:column;gap:8px;padding:16px;display:flex}.access-box .label{font:500 9.5px var(--mono);letter-spacing:.18em;color:var(--red)}.access-box .body{font:400 13px/1.85 var(--sans);color:#0d1c33b8}.access-box .fine{font:400 12.5px/1.7 var(--sans);color:var(--ink-55)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(18px,2.6vw,32px);display:grid}.contact-card{border-top:3px solid var(--navy);padding-top:22px}.contact-card.red{border-top-color:var(--red)}.contact-card.gold{border-top-color:var(--gold)}.contact-card .label{font:500 10px var(--mono);letter-spacing:.16em;color:#0d1c3380;margin-bottom:12px}.contact-card .big{font:500 clamp(20px, 2.4vw, 26px)/1.3 var(--mono);color:var(--navy);transition:color .2s;display:block}.contact-card .big:hover{color:var(--red)}.contact-card .big.mid{word-break:break-all;font-size:clamp(15px,1.8vw,19px);line-height:1.5}.contact-card .big.sm{font-size:clamp(19px,2.2vw,24px)}.contact-card p{font:400 13.5px/1.8 var(--sans);color:#0d1c33a6;margin-top:10px}.contact-card .ceo{border-top:1px solid #0d1c331f;margin-top:14px;padding-top:12px}.contact-card .ceo strong{color:var(--navy);font-weight:500}.contact-card .ceo small{font:500 10.5px var(--mono);letter-spacing:.08em;color:#0d1c3380;margin-top:2px;display:block}.contact-card .stack{flex-direction:column;gap:16px;display:flex}.contact-card .stack p{margin-top:6px;line-height:1.75}.site-footer{background:var(--navy);padding:clamp(28px, 3.6vw, 50px) var(--gutter)}.site-footer .top{border-bottom:1px solid #f4f1ea29;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.site-footer .brand-mark{width:34px;height:34px}.site-footer .brand-mark img{width:30px;height:30px}.site-footer .brand-name{font:400 15px/1.3 var(--serif);letter-spacing:.03em}.site-footer .brand-sub{font:500 9.5px var(--mono);letter-spacing:.18em}.site-footer nav{font:500 11px var(--mono);letter-spacing:.12em;color:#f4f1ea99;flex-wrap:wrap;gap:18px;display:flex}.site-footer nav a{transition:color .2s}.site-footer nav a:hover{color:var(--gold)}.site-footer .bottom{font:500 10px var(--mono);letter-spacing:.16em;color:#f4f1eab8;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;display:flex}
