body.gentille-front{
  --bg:#faf9f7;--sub:#f2efea;--text:#222;--muted:#77736f;--accent:#a39283;--line:#dedad5;--white:#fff;
  --max:1280px;--content:1200px;--pad:64px;--section:156px;
  --serif:"Cormorant Garamond","Noto Serif JP",serif;--jpserif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;
}
body.gentille-front{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.9;letter-spacing:.045em}
.gentille-front *{box-sizing:border-box}
.gentille-front{scroll-behavior:smooth}
.gentille-front a{color:inherit;text-decoration:none}
.gentille-front img{max-width:100%;display:block}
.gentille-front .site-header{height:88px;padding:0 max(var(--pad),calc((100vw - var(--max))/2));display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:34px;position:absolute;z-index:20;width:100%;top:0;left:0}
.gentille-front .logo{display:inline-flex;flex-direction:column;line-height:1}
.gentille-front .logo-main{font-family:var(--serif);font-size:31px;letter-spacing:.03em}
.gentille-front .logo-sub{font-size:9px;letter-spacing:.28em;margin-top:6px;padding-left:9px}
.gentille-front .desktop-nav{justify-self:center;display:flex;gap:34px;font-family:var(--serif);font-size:12px;letter-spacing:.08em}
.gentille-front .reserve-header{border:1px solid rgba(34,34,34,.5);padding:11px 24px;font-family:var(--serif);font-size:12px;letter-spacing:.08em}
.gentille-front .menu-button{width:34px;height:34px;border:0;background:none;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:6px;cursor:pointer}
.gentille-front .menu-button span{height:1px;width:22px;background:var(--text);display:block}
.gentille-front .sp-nav{display:none}
.gentille-front .hero{min-height:820px;height:92vh;display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);position:relative;background:var(--bg)}
.gentille-front .hero-copy{align-self:center;padding-left:max(var(--pad),calc((100vw - var(--max))/2));padding-right:62px;padding-top:62px;position:relative}
.gentille-front .eyebrow,.gentille-front .section-kicker{font-size:11px;letter-spacing:.14em;margin:0 0 22px}
.gentille-front .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(62px,5vw,74px);line-height:.95;letter-spacing:-.018em;margin:0 0 28px}
.gentille-front .hero-ja{font-family:var(--jpserif);font-size:21px;letter-spacing:.18em;margin:0 0 30px}
.gentille-front .hero-desc{line-height:2.05;margin-bottom:36px}
.gentille-front .button{display:inline-flex;align-items:center;justify-content:center;gap:40px;height:52px;min-width:200px;border:1px solid var(--text);padding:0 26px;font-size:12px;letter-spacing:.12em;transition:.3s}
.gentille-front .button:hover{background:var(--text);color:#fff}
.gentille-front .scroll-cue{position:absolute;left:max(22px,calc((100vw - var(--max))/2 - 28px));bottom:-30px;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--serif);font-size:9px;letter-spacing:.13em}
.gentille-front .scroll-cue i{display:block;height:54px;width:1px;background:#777}
.gentille-front .hero-image{height:100%;border-radius:0;display:block;overflow:hidden}
.gentille-front .hero-photo{width:100%;height:100%;object-fit:cover;object-position:60% 22%;display:block}
.gentille-front .hero-aside{position:absolute;right:max(var(--pad),calc((100vw - var(--max))/2 - 4px));top:31%;font-family:var(--serif);font-size:11px;letter-spacing:.08em;line-height:1.65;text-align:left}
.gentille-front .hero-aside i{display:block;width:42px;height:1px;background:#aaa;margin:18px 0}
.gentille-front .hero-aside .serif{font-size:18px}
.gentille-front .hero-aside small{font-size:8px;letter-spacing:.2em}
.gentille-front .media-placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#e9e2d8 0%,#f6f2ed 48%,#d7c7b6 100%)}
.gentille-front .media-placeholder::before,.gentille-front .media-placeholder::after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.22}
.gentille-front .media-placeholder::before{width:46%;height:70%;right:-8%;top:-12%;background:#927a61;transform:rotate(20deg)}
.gentille-front .media-placeholder::after{width:36%;height:56%;left:8%;bottom:-18%;background:#fff}
.gentille-front .media-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gentille-front .media-placeholder.has-photo{background:var(--sub)}
.gentille-front .media-placeholder.has-photo::before,.gentille-front .media-placeholder.has-photo::after{content:none}
.gentille-front .asset-label{position:absolute;left:16px;bottom:14px;z-index:2;background:rgba(250,249,247,.82);padding:5px 8px;font-size:9px;letter-spacing:.08em;color:#6f665f}
.gentille-front .media-hero{background:radial-gradient(circle at 68% 38%,#f5e9df 0 12%,transparent 13%),radial-gradient(circle at 66% 42%,#d2b19f 0 19%,transparent 20%),linear-gradient(115deg,#eee8df,#c2aa97 55%,#948170)}
.gentille-front .media-hero::before{width:44%;height:90%;right:10%;top:8%;background:#7b5c4e;opacity:.28}
.gentille-front .media-hero::after{width:30%;height:70%;left:18%;bottom:-5%;background:#fff;opacity:.45}
.gentille-front .proof-strip{min-height:152px;display:grid;grid-template-columns:1.1fr .9fr 1.25fr .8fr;align-items:center;gap:44px;padding:0 max(var(--pad),calc((100vw - var(--content))/2));background:#fff;border-top:1px solid rgba(0,0,0,.025);border-bottom:1px solid rgba(0,0,0,.035)}
.gentille-front .proof-strip>*+*{border-left:1px solid var(--line);padding-left:44px}
.gentille-front .proof-source span{font-family:var(--serif);font-size:13px;letter-spacing:.12em}
.gentille-front .proof-source small,.gentille-front .proof-score small{display:block;font-size:10px;letter-spacing:.08em}
.gentille-front .proof-score{text-align:center}
.gentille-front .stars{letter-spacing:.16em;font-size:12px}
.gentille-front .proof-score strong{display:block;font-family:var(--serif);font-weight:400;font-size:58px;line-height:.92;letter-spacing:-.03em}
.gentille-front .proof-copy{font-family:var(--jpserif);font-size:13px}
.gentille-front .text-link{display:inline-flex;gap:18px;align-items:center;font-family:var(--serif);font-size:11px;letter-spacing:.12em;border-bottom:1px solid #999;padding-bottom:2px;white-space:nowrap}
.gentille-front .text-link span{transition:.3s}
.gentille-front .text-link:hover span{transform:translateX(5px)}
.gentille-front .section{padding:var(--section) max(var(--pad),calc((100vw - var(--content))/2))}
.gentille-front .concept{display:grid;grid-template-columns:36% 50% 14%;align-items:center;background:var(--bg)}
.gentille-front .concept-copy{padding-right:72px}
.gentille-front .concept h2,.gentille-front .private-text h2{font-family:var(--jpserif);font-weight:400;font-size:42px;line-height:1.55;letter-spacing:.05em;margin:0 0 30px}
.gentille-front .concept-copy>p:not(.section-kicker){margin-bottom:34px}
.gentille-front .media-concept{aspect-ratio:4/3}
.gentille-front .concept-whitespace{align-self:stretch;display:flex;align-items:center;justify-content:flex-end;padding-left:46px}
.gentille-front .concept-whitespace p{font-family:var(--serif);font-size:11px;letter-spacing:.14em;line-height:1.9;color:#736c66}
.gentille-front .menu-section{display:grid;grid-template-columns:22% 78%;background:#fff}
.gentille-front .menu-intro{padding-right:48px}
.gentille-front .small-heading{font-family:var(--jpserif);font-weight:400;font-size:28px;margin:0 0 22px}
.gentille-front .short-line{display:block;width:34px;height:1px;background:#aaa;margin:18px 0 42px}
.gentille-front .menu-intro>p:not(.section-kicker){font-size:13px;line-height:2;margin-bottom:34px}
.gentille-front .menu-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.gentille-front .menu-card{min-width:0}
.gentille-front .media-menu{aspect-ratio:1.48/1;margin-bottom:22px}
.gentille-front .menu-card h3{font-family:var(--serif);font-weight:500;font-size:14px;letter-spacing:.07em;margin:0 0 3px}
.gentille-front .jp-title{font-family:var(--jpserif);font-size:12px;margin:0 0 14px}
.gentille-front .menu-card>p:not(.jp-title){font-size:12px;line-height:1.85;min-height:72px;margin-bottom:24px}
.gentille-front .menu-card .text-link{font-size:10px}
.gentille-front .private-salon{display:grid;grid-template-columns:20% 40% 40%;min-height:430px}
.gentille-front .private-copy{display:flex;align-items:center;padding:0 24px 0 var(--pad);background:#ab9581;color:#fff;font-size:21px;line-height:1.65;letter-spacing:.1em}
.gentille-front .media-salon{min-height:430px;background:linear-gradient(130deg,#f1ebe3,#d5c2af)}
.gentille-front .private-text{display:flex;flex-direction:column;justify-content:center;padding:60px max(var(--pad),calc((100vw - var(--content))/2 - 60px)) 60px 72px;background:var(--bg)}
.gentille-front .private-text h2{font-size:36px;margin-bottom:22px}
.gentille-front .private-text>p:not(.section-kicker){margin:0 0 30px}
.gentille-front .gallery-section{display:grid;grid-template-columns:20% 80%;gap:34px;background:#fff;padding-top:100px;padding-bottom:100px}
.gentille-front .gallery-intro{padding-right:20px}
.gentille-front .gallery-intro p:not(.section-kicker){font-size:12px;margin-bottom:26px}
.gentille-front .gallery-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr .7fr;gap:18px;min-height:240px}
.gentille-front .media-gallery{height:100%}
.gentille-front .gallery-more{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(130deg,#f7f5f2,#e3ddd6);font-family:var(--serif);font-size:17px;line-height:1.35}
.gentille-front .gallery-more b{font-weight:400;margin-top:18px}
.gentille-front .reviews-section,.gentille-front .staff-section{background:var(--bg)}
.gentille-front .section-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}
.gentille-front .section-heading-row>.text-link{margin-bottom:6px}
.gentille-front .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.gentille-front .review-grid blockquote{margin:0;padding:0 28px 0 0;border-right:1px solid var(--line)}
.gentille-front .review-grid blockquote:last-child{border-right:0}
.gentille-front .review-grid p{font-family:var(--jpserif);font-size:15px;line-height:2;min-height:120px}
.gentille-front .review-grid footer{font-size:11px;color:var(--muted)}
.gentille-front .staff-section{padding-top:110px}
.gentille-front .staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.gentille-front .staff-grid article{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto auto 1fr auto;column-gap:24px}
.gentille-front .media-staff{grid-row:1/5;aspect-ratio:4/5}
.gentille-front .staff-grid h3{font-family:var(--serif);font-size:19px;font-weight:500;margin:5px 0 0}
.gentille-front .staff-grid small{font-family:var(--serif);font-size:11px}
.gentille-front .staff-grid p{font-size:12px}
.gentille-front .staff-grid .text-link{font-size:9px;justify-self:start}
.gentille-front .first-visit{background:#fff}
.gentille-front .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gentille-front .steps li{padding:42px 36px 46px;border-right:1px solid var(--line)}
.gentille-front .steps li:last-child{border-right:0}
.gentille-front .steps b{font-family:var(--serif);font-size:32px;font-weight:400;color:#b6a99d}
.gentille-front .steps h3{font-family:var(--serif);font-size:14px;letter-spacing:.07em;margin:16px 0 2px}
.gentille-front .steps p{font-family:var(--jpserif);margin:0 0 16px}
.gentille-front .steps small{font-size:11px;color:var(--muted);line-height:1.8}
.gentille-front .access-section{display:grid;grid-template-columns:60% 40%;min-height:430px;background:var(--bg)}
.gentille-front .media-access{min-height:430px}
.gentille-front .media-access-map{min-height:430px}
.gentille-front .media-access-map iframe{width:100%;height:100%;min-height:430px;border:0;display:block}
.gentille-front .access-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(var(--pad),calc((100vw - var(--content))/2 - 60px)) 70px 70px}
.gentille-front .access-copy h2{font-family:var(--serif);font-weight:400;font-size:32px}
.gentille-front .access-copy dl{margin:6px 0 30px}
.gentille-front .access-copy dl>div{display:grid;grid-template-columns:86px 1fr;gap:16px;font-size:12px}
.gentille-front .access-copy dt{font-family:var(--serif);letter-spacing:.1em}
.gentille-front .reservation-section{min-height:360px;background:linear-gradient(110deg,#4a4844,#2f2f2d);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 24px}
.gentille-front .reservation-section>.serif{font-family:var(--serif);font-size:38px;letter-spacing:.02em;margin:0 0 6px}
.gentille-front .reservation-section h2{font-family:var(--jpserif);font-weight:400;font-size:21px;letter-spacing:.14em;margin:0 0 8px}
.gentille-front .reservation-section small{opacity:.75;margin-bottom:34px}
.gentille-front .button-light{border-color:#fff;color:#fff}
.gentille-front .button-light:hover{background:#fff;color:#222}
.gentille-front .site-footer{min-height:145px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:50px;padding:0 max(var(--pad),calc((100vw - var(--content))/2));background:#fff}
.gentille-front .site-footer nav{display:flex;gap:24px;font-family:var(--serif);font-size:10px;letter-spacing:.08em}
.gentille-front .footer-meta{display:flex;gap:18px;font-size:9px;color:var(--muted)}
.gentille-front .mobile-cta{display:none}
@media(max-width:1199px){
  .gentille-front{--pad:36px;--section:120px}
  .gentille-front .desktop-nav{gap:20px}
  .gentille-front .hero-copy{padding-right:40px}
  .gentille-front .proof-strip{gap:22px}
  .gentille-front .proof-strip>*+*{padding-left:22px}
  .gentille-front .concept{grid-template-columns:38% 54% 8%}
  .gentille-front .concept-copy{padding-right:42px}
  .gentille-front .menu-section{grid-template-columns:20% 80%}
  .gentille-front .menu-rail{gap:18px}
  .gentille-front .private-text{padding-left:50px}
  .gentille-front .site-footer{grid-template-columns:auto 1fr}
  .gentille-front .footer-meta{grid-column:2}
}
@media(max-width:767px){
  .gentille-front{--pad:22px;--section:88px}
  .gentille-front .site-header{height:68px;padding:0 18px;grid-template-columns:auto 1fr auto;background:rgba(250,249,247,.94);position:absolute}
  .gentille-front .desktop-nav,.gentille-front .reserve-header{display:none}
  .gentille-front .menu-button{grid-column:3}
  .gentille-front .logo-main{font-size:26px}
  .gentille-front .logo-sub{font-size:7px;margin-top:5px}
  .gentille-front .hero{height:auto;min-height:0;display:flex;flex-direction:column;padding-top:68px}
  .gentille-front .hero-image{order:1;height:320px;width:100%}
  .gentille-front .hero-photo{object-position:50% 20%}
  .gentille-front .hero-copy{order:2;padding:44px var(--pad) 62px;align-self:auto}
  .gentille-front .hero-aside,.gentille-front .scroll-cue{display:none}
  .gentille-front .eyebrow{font-size:10px;margin-bottom:17px}
  .gentille-front .hero h1{font-size:43px;line-height:.96;margin-bottom:21px}
  .gentille-front .hero-ja{font-size:17px;margin-bottom:22px}
  .gentille-front .hero-desc{font-size:13px;line-height:1.95;margin-bottom:30px}
  .gentille-front .button{width:100%;max-width:300px;min-width:0;justify-content:space-between;height:50px}
  .gentille-front .proof-strip{min-height:0;display:flex;flex-direction:column;text-align:center;gap:0;padding:54px var(--pad) 60px}
  .gentille-front .proof-strip>*+*{border-left:0;padding-left:0}
  .gentille-front .proof-source{display:none}
  .gentille-front .proof-score strong{font-size:58px}
  .gentille-front .proof-copy{margin:30px 0 24px;padding-top:28px;border-top:1px solid var(--line);font-size:12px}
  .gentille-front .section{padding:var(--section) var(--pad)}
  .gentille-front .concept{display:flex;flex-direction:column;align-items:stretch}
  .gentille-front .concept-copy{padding-right:0}
  .gentille-front .concept h2{font-size:31px;line-height:1.55;margin-bottom:24px}
  .gentille-front .concept-copy>p:not(.section-kicker){font-size:13px;margin-bottom:28px}
  .gentille-front .media-concept{margin-top:44px;order:2}
  .gentille-front .concept-whitespace{display:none}
  .gentille-front .concept-copy .text-link{margin-top:0}
  .gentille-front .menu-section{display:block;padding-right:0}
  .gentille-front .menu-intro{padding-right:var(--pad);margin-bottom:44px}
  .gentille-front .menu-rail{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding-right:22px;padding-bottom:12px}
  .gentille-front .menu-rail::-webkit-scrollbar{display:none}
  .gentille-front .menu-card{flex:0 0 84vw;max-width:340px;scroll-snap-align:start}
  .gentille-front .media-menu{margin-bottom:20px}
  .gentille-front .menu-card>p:not(.jp-title){min-height:0}
  .gentille-front .private-salon{display:flex;flex-direction:column;min-height:0}
  .gentille-front .private-copy{display:none}
  .gentille-front .media-salon{min-height:270px;order:1}
  .gentille-front .private-text{order:2;padding:54px var(--pad) 70px}
  .gentille-front .private-text h2{font-size:29px;line-height:1.55}
  .gentille-front .gallery-section{display:block;padding:84px 0 80px}
  .gentille-front .gallery-intro{padding:0 var(--pad);margin-bottom:34px}
  .gentille-front .gallery-grid{display:block;min-height:0}
  .gentille-front .gallery-grid>*{display:none}
  .gentille-front .gallery-grid .media-gallery:nth-child(2){display:block;height:260px;margin:0 var(--pad)}
  .gentille-front .gallery-more{display:flex;margin:18px var(--pad) 0;height:92px;flex-direction:row;justify-content:space-between;padding:0 24px}
  .gentille-front .section-heading-row{display:block;margin-bottom:50px}
  .gentille-front .section-heading-row>.text-link{margin-top:20px}
  .gentille-front .review-grid{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory}
  .gentille-front .review-grid::-webkit-scrollbar{display:none}
  .gentille-front .review-grid blockquote{flex:0 0 86vw;max-width:350px;border-right:0;padding-right:18px;scroll-snap-align:start}
  .gentille-front .review-grid p{min-height:0}
  .gentille-front .staff-grid{display:flex;overflow-x:auto;gap:22px;scroll-snap-type:x mandatory}
  .gentille-front .staff-grid::-webkit-scrollbar{display:none}
  .gentille-front .staff-grid article{flex:0 0 82vw;max-width:330px;display:block;scroll-snap-align:start}
  .gentille-front .media-staff{margin-bottom:22px}
  .gentille-front .staff-grid h3{margin-top:0}
  .gentille-front .steps{display:block;border-bottom:0}
  .gentille-front .steps li{padding:36px 0 42px;border-right:0;border-bottom:1px solid var(--line)}
  .gentille-front .steps li:first-child{border-top:0}
  .gentille-front .access-section{display:block}
  .gentille-front .media-access{min-height:280px}
  .gentille-front .media-access-map,.gentille-front .media-access-map iframe{min-height:280px}
  .gentille-front .access-copy{padding:62px var(--pad) 80px}
  .gentille-front .reservation-section{min-height:340px;padding:80px 24px 110px}
  .gentille-front .reservation-section>.serif{font-size:31px}
  .gentille-front .reservation-section h2{font-size:18px}
  .gentille-front .site-footer{display:block;min-height:0;padding:46px var(--pad) 92px}
  .gentille-front .site-footer nav{flex-wrap:wrap;margin:34px 0;gap:16px 22px}
  .gentille-front .footer-meta{display:block}
  .gentille-front .footer-meta span{display:block;margin-top:8px}
  .gentille-front .mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:50;left:0;right:0;bottom:0;height:58px;background:#252525;color:#fff}
  .gentille-front .mobile-cta>*{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#fff;font-family:var(--sans);font-size:11px;letter-spacing:.12em}
  .gentille-front .mobile-cta button{border-right:1px solid rgba(255,255,255,.35)}
  .gentille-front .sp-nav{display:none;position:fixed;inset:68px 0 0 0;z-index:19;background:#faf9f7;padding:40px 22px;overflow-y:auto}
  .gentille-front .sp-nav.-open{display:block}
  .gentille-front .sp-nav a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:14px;letter-spacing:.08em}
}
