:root{--navy:#102133;--blue:#203764;--gold:#b79a5b;--cream:#f6f3ec;--ink:#17212b;--line:#ddd8cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.8;background:#fff}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 18px #10213312}.brand img{width:240px;height:68px;object-fit:cover;object-position:center}.nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.nav a{transition:.2s}.nav a:hover{color:var(--gold)}.nav-contact{background:var(--navy);color:#fff!important;padding:13px 20px}.menu-button{display:none;border:0;background:none;padding:10px}.menu-button span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.hero{min-height:720px;position:relative;display:flex;align-items:center;color:#fff}.hero-bg{position:absolute;inset:0;background:url('assets/nishikoyama-exterior-private.jpg') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d1d2fe8 0%,#14283eae 44%,#10213326 78%)}.hero-content{position:relative;z-index:1;width:min(1180px,90%);margin:auto;padding:80px 0}.eyebrow{font-size:12px;letter-spacing:.32em;font-weight:700;color:var(--gold);margin:0 0 18px}.hero h1{font:600 clamp(40px,5.3vw,76px)/1.45 "Noto Serif JP",serif;letter-spacing:.08em;margin:0 0 22px}.hero h1 em{font-style:normal;color:#e6d5aa}.hero-copy{font-family:"Noto Serif JP",serif;font-size:16px;line-height:2.1}.hero-actions{display:flex;gap:14px;margin-top:35px}.button{display:inline-flex;justify-content:center;min-width:210px;padding:15px 24px;font-weight:600}.button.gold{background:var(--gold);color:#fff}.button.ghost{border:1px solid #ffffff99}.hero-note{font-size:12px;letter-spacing:.08em;margin-left:25px}.section{padding:110px max(5vw,calc((100vw - 1180px)/2))}.section-heading{text-align:center;margin-bottom:60px}.section-heading>p{font-size:11px;letter-spacing:.32em;color:var(--gold);font-weight:700;margin:0 0 8px}.section-heading h2{font:600 clamp(27px,3vw,38px) "Noto Serif JP",serif;letter-spacing:.1em;margin:0}.section-heading>span{display:block;width:48px;height:1px;background:var(--gold);margin:22px auto}.section-heading small{color:#6a7076}.promise{background:var(--cream)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.promise-grid article{background:var(--cream);padding:22px 45px 38px}.promise-grid b{font:500 60px/1 "Noto Serif JP";color:#d7cdb7}.promise-grid h3{font:600 22px "Noto Serif JP";letter-spacing:.08em}.promise-grid p{font-size:14px;color:#5d646a}.items{background:var(--navy);color:#fff}.section-heading.light small{color:#c6cbd0}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;border-left:1px solid #ffffff25}.item-grid>div{padding:36px;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25}.item-grid i{font:500 24px "Noto Serif JP";color:var(--gold);font-style:normal}.item-grid h3{font:500 18px "Noto Serif JP";margin:14px 0 5px}.item-grid p{font-size:12px;color:#bdc4ca;margin:0}.items-note{text-align:center;font-size:11px;color:#8995a0;margin-top:25px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.flow-grid article{border-top:2px solid var(--navy);padding:22px 10px;display:flex;gap:18px}.flow-grid b{font:500 34px "Noto Serif JP";color:var(--gold)}.flow-grid h3{font:600 18px "Noto Serif JP";margin:7px 0}.flow-grid p{font-size:13px;color:#656b71;margin:0}.shops{background:#f7f8f9}.shop-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.shop-card{background:#fff;box-shadow:0 9px 30px #1021330d}.shop-photo{height:270px;position:relative;overflow:hidden}.shop-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}.shop-card:hover .shop-photo img{transform:scale(1.025)}.shop-photo mark{position:absolute;left:14px;top:14px;background:var(--navy);color:#fff;padding:6px 14px;font-size:12px}.shop-info{padding:28px}.shop-info h3{font:600 22px "Noto Serif JP";margin:0}.access{color:var(--gold);font-size:12px;margin:5px 0 20px}.shop-info dl{display:grid;grid-template-columns:48px 1fr;font-size:13px;margin:0}.shop-info dt{font-weight:700}.shop-info dd{margin:0 0 13px}.shop-actions{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--navy);margin-top:12px}.shop-actions a{text-align:center;font-size:12px;font-weight:600;padding:10px}.shop-actions a+ a{border-left:1px solid var(--navy);background:var(--navy);color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);height:430px}.gallery img{width:100%;height:100%;object-fit:cover}.partner{background:#ede8dc;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.partner h2{font:600 36px/1.55 "Noto Serif JP";margin:0 0 22px}.partner>div>p:not(.eyebrow){font-size:14px;color:#596068}.text-link{display:inline-block;margin-top:16px;border-bottom:1px solid var(--navy);font-weight:600;padding-bottom:4px}.partner-points{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}.partner-points p{padding:34px 18px!important;margin:0!important;border-right:1px solid var(--line);text-align:center}.partner-points b{display:block;color:var(--gold);font:500 26px "Noto Serif JP";margin-bottom:12px}.partner-points span{font:600 13px/1.8 "Noto Serif JP"}.company-wrap{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:center;max-width:900px;margin:auto}.company-wrap img{width:220px}.company-wrap dl{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);font-size:14px;margin:0}.company-wrap dt,.company-wrap dd{padding:14px 8px;border-bottom:1px solid var(--line)}.company-wrap dt{font-weight:600}.company-wrap dd{margin:0}.contact{background:var(--blue);color:#fff;text-align:center}.contact h2{font:600 34px "Noto Serif JP";letter-spacing:.08em}.contact>p:not(.eyebrow){color:#d0d8df}.contact-actions{display:grid;grid-template-columns:1fr 1fr;max-width:850px;margin:38px auto 0}.contact-actions a{padding:25px;border:1px solid #ffffff45}.contact-actions a+a{border-left:0}.contact-actions small,.contact-actions span{display:block}.contact-actions strong{font:500 26px "Noto Serif JP";display:block;letter-spacing:.04em}.contact-actions span{font-size:11px;color:#b9c3cc}footer{background:#091724;color:#fff;padding:60px max(5vw,calc((100vw - 1180px)/2)) 30px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}.footer-brand img{width:225px}.footer-brand p{font:500 13px "Noto Serif JP";color:#aeb8c0}.footer-brand+div{display:grid;grid-template-columns:repeat(3,auto);gap:8px 28px;font-size:12px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:20px;text-align:right;font-size:10px;color:#70808d}.mobile-contact{display:none}
@media(max-width:900px){.site-header{height:70px}.brand img{width:185px;height:53px}.menu-button{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{min-height:650px}.hero-shade{background:linear-gradient(90deg,#0d1d2fe8,#10213375)}.hero-actions{flex-wrap:wrap}.section{padding:80px 6vw}.promise-grid,.shop-list{grid-template-columns:1fr}.promise-grid article{padding:15px 25px 28px}.item-grid{grid-template-columns:1fr 1fr}.flow-grid{grid-template-columns:1fr 1fr}.shop-card{display:grid;grid-template-columns:1fr 1fr}.shop-photo{height:100%}.partner{grid-template-columns:1fr;gap:45px}.gallery{height:300px}.company-wrap{grid-template-columns:170px 1fr;gap:35px}.company-wrap img{width:160px}}
@media(max-width:600px){body{padding-bottom:56px}.hero{min-height:690px}.hero-bg{background-position:58% center}.hero-content{padding:65px 0}.hero-copy br{display:none}.hero-actions{display:grid}.button{min-width:0}.section{padding:68px 6vw}.section-heading{margin-bottom:40px}.promise-grid{background:none}.item-grid{grid-template-columns:1fr}.item-grid>div{padding:27px}.flow-grid{grid-template-columns:1fr;gap:5px}.flow-grid article{padding:14px 5px}.shop-card{display:block}.shop-photo{height:260px}.gallery{height:auto;grid-template-columns:1fr}.gallery img{height:270px}.partner h2{font-size:28px}.partner-points{grid-template-columns:1fr}.partner-points p{border-right:0;border-bottom:1px solid var(--line)}.company-wrap{grid-template-columns:1fr}.company-wrap img{width:130px;margin:auto}.company-wrap dl{grid-template-columns:105px 1fr;font-size:12px}.contact h2{font-size:27px}.contact-actions{grid-template-columns:1fr}.contact-actions a+a{border-left:1px solid #ffffff45;border-top:0}.contact-actions strong{font-size:21px}footer{grid-template-columns:1fr;padding-bottom:45px}.footer-brand+div{grid-template-columns:1fr 1fr}.mobile-contact{position:fixed;z-index:30;bottom:0;left:0;right:0;height:56px;display:grid;grid-template-columns:1fr 1fr;color:#fff;box-shadow:0 -3px 15px #0002}.mobile-contact a{display:grid;place-items:center;background:var(--gold);font-weight:700}.mobile-contact a+a{background:var(--navy)}}

/* Logo and icon refinements */
.brand{height:68px;display:flex;align-items:center}.brand img{width:210px;height:58px;object-fit:contain;object-position:center}.item-icon{display:block;width:44px;height:44px}.item-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-brand img{width:225px;height:auto;object-fit:contain}@media(max-width:900px){.brand{height:54px}.brand img{width:185px;height:52px;object-fit:contain}}

/* Wordmarks sit directly on their surrounding brand surfaces. */
.site-header{height:82px;padding:10px 4vw;isolation:isolate}
.brand{height:auto;flex-shrink:0}
.brand img{width:196px;height:auto;object-fit:contain;filter:grayscale(1) contrast(2) invert(1);mix-blend-mode:multiply}
.footer-brand{max-width:340px;isolation:isolate}
.footer-brand img{width:220px;height:auto;filter:grayscale(1) contrast(2);mix-blend-mode:screen}
.footer-brand p{margin:18px 0 0;line-height:1.9;letter-spacing:.06em}
@media(max-width:900px){.site-header{height:76px;padding:9px 6vw}.brand{height:auto}.brand img{width:168px;height:auto}.nav{top:76px}.menu-button{padding:10px 0 10px 12px}}
@media(max-width:600px){.footer-brand img{width:200px}.footer-brand p{margin-top:16px;font-size:14px}footer{padding-top:42px;gap:32px}.footer-brand+div{font-size:14px;gap:12px 24px}}

/* Customer reviews */
.reviews{background:#fff}.review-summary{display:flex;align-items:center;justify-content:center;gap:14px;margin:-24px 0 38px}.review-summary strong{font:600 34px "Noto Serif JP",serif;color:var(--navy)}.review-summary small{color:#68717a}.review-stars{color:#d2aa4f;letter-spacing:.08em;font-size:18px;line-height:1}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1050px;margin:0 auto}.review-grid article{position:relative;border:1px solid var(--line);padding:30px 32px;background:#fff}.review-grid article:before{content:"“";position:absolute;right:24px;top:8px;font:500 70px/1 "Noto Serif JP",serif;color:#ece6d9}.review-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font:500 17px "Noto Serif JP",serif}.review-head b,.review-head small{display:block}.review-head b{font-size:15px}.review-head small{font-size:12px;color:#7b8288}.review-grid blockquote{font:500 15px/2 "Noto Serif JP",serif;margin:17px 0 0;color:#303942}.review-note{text-align:center;color:#7c8389;font-size:11px;margin:24px 0 0}.review-link{text-align:center;margin-top:26px}.review-link a{display:inline-block;border-bottom:1px solid var(--navy);padding:4px 2px;font-size:14px;font-weight:600}.review-link span{color:var(--gold);padding-left:8px}@media(max-width:700px){.review-summary{flex-wrap:wrap;gap:10px;margin-top:-15px}.review-summary small{width:100%;text-align:center}.review-grid{grid-template-columns:1fr}.review-grid article{padding:25px 24px}.review-grid blockquote{font-size:16px;line-height:1.95}.review-note{text-align:left;line-height:1.7}}

/* Clear typographic brand signatures */
.wordmark{display:flex;flex-direction:column;align-items:center;width:max-content;color:var(--navy)}
.wordmark-caption{font-size:12px;line-height:1.4;letter-spacing:.18em;font-weight:500}
.wordmark-name{font:600 32px/1.35 "Noto Serif JP",serif;letter-spacing:.06em;white-space:nowrap}
.wordmark-english{font:500 10px/1.5 "Noto Serif JP",serif;letter-spacing:.4em;color:#94763e;margin-top:2px;padding-left:.4em}
.site-header{height:94px;box-shadow:none;border-bottom:1px solid #10213314}
.footer-brand .wordmark{color:#fff;align-items:flex-start}
.footer-brand .wordmark-caption{font-size:13px;color:#c2cbd3;margin-bottom:7px}
.footer-brand .wordmark-name{font-size:38px;letter-spacing:.1em}
.footer-brand .wordmark-english{font-size:12px;letter-spacing:.45em;margin-top:10px;padding-left:0;color:#c7ad74}
.footer-brand p{margin-top:24px;font-size:14px;line-height:1.9}
footer{padding-top:64px;padding-bottom:36px;gap:42px;background:#102133}
@media(max-width:900px){.site-header{height:84px}.nav{top:84px}.wordmark-name{font-size:27px}.wordmark-caption{font-size:12px}.wordmark-english{font-size:10px}}
@media(max-width:600px){footer{padding-top:48px;gap:36px}.footer-brand .wordmark-name{font-size:34px}.footer-brand p{margin-top:22px}.footer-brand+div{border-top:1px solid #ffffff24;padding-top:26px;gap:15px 24px}.copyright{margin-top:4px}}
