:root{--ph-primary:#0d230d;--ph-dark:#081808;--ph-mid:#37613e;--ph-light:#e6eee3;--ph-pale:#f6f8f4;--ph-text:#1e2920;--ph-muted:#5b675d;--ph-header:80px;--ph-bottom:0px;--ph-font-sans:"IBM Plex Sans JP",system-ui,-apple-system,sans-serif;--ph-font-serif:"Shippori Mincho",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--ph-header) + 18px)}body{margin:0;color:var(--ph-text);background:#fff;font-family:var(--ph-font-sans);line-height:1.8}a{color:inherit}button{font:inherit;cursor:pointer}img,video{max-width:100%}.ph-container{width:min(1120px,calc(100% - 48px));margin-inline:auto}.ph-skip{position:fixed;top:-80px;left:10px;z-index:1000;background:#fff;padding:12px}.ph-skip:focus{top:8px}.ph-header{position:sticky;top:0;z-index:100;background:#fffefa;box-shadow:0 2px 18px #0d230d12;min-height:var(--ph-header)}.ph-header__inner{width:min(1440px,calc(100% - 64px));margin:auto;min-height:var(--ph-header);display:flex;align-items:center;gap:32px}.ph-brand{text-decoration:none;font-size:clamp(15px,1.55vw,22px);font-weight:700;letter-spacing:.12em;white-space:nowrap;line-height:1.2;color:var(--ph-primary)}.ph-brand small{display:block;font-size:.51em;letter-spacing:.45em}.ph-desktop-nav{margin-left:auto}.ph-nav-list{display:flex;gap:clamp(12px,2vw,29px);align-items:center;list-style:none;padding:0;margin:0}.ph-nav-list a{text-decoration:none;font-size:13px;white-space:nowrap}.ph-nav-list a:hover,.ph-footer a:hover{color:var(--ph-mid)}.ph-header__actions{display:flex;align-items:center;gap:10px}.ph-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 19px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid transparent;white-space:nowrap;transition:background .18s,color .18s}.ph-button--primary{background:var(--ph-primary);color:#fff}.ph-button--primary:hover{background:#1d3b20}.ph-button--outline{border-color:var(--ph-primary);color:var(--ph-primary)}.ph-button--outline:hover{background:var(--ph-light)}#main{padding-top:0;margin-top:0}.ph-hero{position:relative;min-height:520px;height:calc(100svh - var(--ph-header));max-height:1100px;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;color:#fff;background:#152b19}.ph-hero__media,.ph-hero__picture,.ph-hero__video,.ph-hero__shade{position:absolute;inset:0;width:100%;height:100%}.ph-hero__media{z-index:-2}.ph-hero__picture{display:block}.ph-hero__picture img,.ph-hero__video{width:100%;height:100%;object-fit:cover;object-position:var(--ph-focus-pc,center center)}.ph-hero__video{pointer-events:none}.ph-hero__placeholder{width:100%;height:100%;background:linear-gradient(125deg,#0d230d 15%,#37613e 70%,#7a906f)}.ph-hero__shade{z-index:-1;background:linear-gradient(0deg,#071408d9 0%,#07140860 43%,transparent 84%)}.ph-hero__content{padding-block:80px 58px}.ph-hero h1{max-width:880px;font-size:clamp(29px,3.8vw,60px);line-height:1.4;letter-spacing:.07em;margin:12px 0 16px;text-wrap:pretty}.ph-hero__eyebrow,.ph-eyebrow{font-size:11px;font-weight:700;letter-spacing:.23em}.ph-hero__lead{font-size:clamp(13px,1.2vw,17px);margin:0}.ph-hero__scroll{display:block;margin-top:32px;font-size:11px;letter-spacing:.2em}.ph-section{padding:clamp(75px,9vw,130px) 0;scroll-margin-top:var(--ph-header)}.ph-section--soft{background:var(--ph-pale)}.ph-section h2{font-size:clamp(25px,3vw,39px);line-height:1.5;margin:10px 0 25px;font-weight:700}.ph-section__center{text-align:center}.ph-eyebrow{color:var(--ph-mid)}.ph-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:50px}.ph-card{padding:48px 36px;background:#fff;border:1px solid #dfe9dd;min-height:220px}.ph-card h3{font-size:27px;margin:10px 0}.ph-card__num{color:var(--ph-mid);font-size:12px;letter-spacing:.18em}.ph-news{list-style:none;padding:0;margin:32px 0}.ph-news li{border-bottom:1px solid #dce5db;padding:16px 0;display:flex;gap:25px}.ph-news time{color:var(--ph-muted);font-size:13px;white-space:nowrap}.ph-news a{text-decoration:none}.ph-closing{background:var(--ph-primary);color:#fff;text-align:center;padding:90px 0}.ph-closing h2{font-size:clamp(25px,3vw,40px)}.ph-closing .ph-eyebrow{color:#c5d6c3}.ph-closing__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:38px}.ph-button--light{background:#fff;color:var(--ph-primary)}.ph-button--borderlight{border-color:#fff;color:#fff}.ph-footer{background:var(--ph-pale);padding:52px 0 35px;font-size:13px}.ph-footer strong{color:var(--ph-primary);letter-spacing:.12em}.ph-footer a{text-decoration:none}.ph-page{min-height:58vh}.ph-page h1{font-size:clamp(26px,3vw,42px)}.ph-contact{max-width:820px}.ph-note{padding:18px 24px;background:var(--ph-pale);border-left:3px solid var(--ph-primary)}.ph-mobile-bar,.ph-drawer,.ph-drawer-backdrop{display:none}a:focus-visible,button:focus-visible{outline:3px solid #80b88b;outline-offset:3px}
@media(max-width:1199px){.ph-desktop-nav{display:none}.ph-header__actions{margin-left:auto}}
@media(max-width:1023px){:root{--ph-header:66px;--ph-bottom:calc(70px + env(safe-area-inset-bottom))}.ph-header__inner{width:calc(100% - 36px)}.ph-header__actions{display:none}.ph-container{width:min(100% - 36px,850px)}body{padding-bottom:var(--ph-bottom)}.ph-mobile-bar{position:fixed;z-index:120;inset:auto 0 0;display:grid;grid-template-columns:.7fr 1.15fr 1.15fr;gap:5px;background:#fff;padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -2px 20px #0d230d21;height:var(--ph-bottom)}.ph-mobile-bar a,.ph-mobile-bar button{border:0;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;text-decoration:none;line-height:1.4;font-size:12px;font-weight:700;border-radius:3px}.ph-mobile-bar__menu{background:var(--ph-pale);color:var(--ph-primary)}.ph-mobile-bar__contact{background:#fff;border:1px solid var(--ph-primary)!important;color:var(--ph-primary)}.ph-mobile-bar__booking{background:var(--ph-primary);color:#fff}.ph-mobile-bar span:first-child{font-size:19px}.ph-drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#0714089c;z-index:125}.ph-drawer{display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;width:min(360px,88vw);padding:26px 25px 100px;background:#fff;z-index:130;box-shadow:-5px 0 30px #0003;transform:translateX(110%);transition:transform .25s ease;overflow-y:auto;visibility:hidden}.ph-menu-open .ph-drawer{visibility:visible;transform:translateX(0)}.ph-drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--ph-primary);letter-spacing:.2em}.ph-drawer-close{font-size:30px;background:transparent;border:0}.ph-drawer>a{padding:14px 0;border-bottom:1px solid #e7ece5;text-decoration:none}.ph-hero{height:calc(100svh - var(--ph-header) - var(--ph-bottom));min-height:400px}.ph-hero__content{padding-block:35px 28px}.ph-hero__picture img,.ph-hero__video{object-position:var(--ph-focus-sp,center center)}.ph-section{padding:70px 0}.ph-card-grid{gap:14px}.ph-card{padding:26px 22px}.ph-hero__scroll{margin-top:15px}}
@media(max-width:767px){.ph-hero{min-height:360px}.ph-hero h1{font-size:clamp(25px,6.8vw,40px)}.ph-hero__lead{font-size:13px}.ph-hero__scroll{margin-top:16px}.ph-card-grid{grid-template-columns:1fr}.ph-news li{display:block}.ph-news time{display:block}.ph-section__center{text-align:left}}
@media(max-height:600px) and (max-width:1023px){.ph-hero{min-height:290px}.ph-hero__content{padding-block:15px}.ph-hero h1{font-size:clamp(21px,3vw,28px);margin:4px 0}.ph-hero__scroll{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Main starts directly below the sticky (in-flow) site header. */
.ph-hero{margin-top:0}
.ph-hero h1,.ph-concept__copy h2,.ph-buildings__intro h2,.ph-rooms__heading h2,.ph-closing h2,.ph-room-detail__hero-text h1,.ph-dining h2,.ph-dining-page h1,.ph-dining-page h2{font-family:var(--ph-font-serif);font-weight:700;letter-spacing:.035em}
.ph-brand{display:inline-flex;align-items:center;max-width:min(280px,42vw);min-width:0}
.ph-brand__logo{display:block;width:auto;height:auto;max-width:100%;max-height:50px;object-fit:contain}
.ph-brand__wordmark{display:block}.ph-brand__wordmark small{display:block}
.ph-footer__brand{display:inline-flex;align-items:center;max-width:260px;min-width:0;text-decoration:none;color:var(--ph-primary);font-weight:700;letter-spacing:.12em}
.ph-footer__brand .ph-brand__logo{max-height:68px}.ph-footer__brand .ph-brand__wordmark{font-size:20px;line-height:1.25}.ph-footer__brand .ph-brand__wordmark small{font-size:10px;letter-spacing:.45em}
@media(max-width:1023px){.ph-brand__logo{max-height:43px}}

/* WordPress toolbar: keep sticky navigation visible to logged-in editors. */
body.admin-bar .ph-header{top:32px}
@media(max-width:782px){body.admin-bar .ph-header{top:46px}}
@media(max-width:600px){body.admin-bar .ph-header{top:0}}


/* Tablet navigation: explicit header menu (portrait AND landscape).
   Desktop nav hides <=1199; bottom mobile CTA remains phone-only. */
.ph-tablet-menu-toggle {display:none}
@media (min-width:768px) and (max-width:1199px){
  .ph-tablet-menu-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    gap:8px;order:2;margin-left:auto;
    border:1px solid var(--ph-primary);background:#fff;
    color:var(--ph-primary);padding:9px 13px;
    min-height:44px;white-space:nowrap;
    font-size:12px;font-weight:700;
  }
  .ph-tablet-menu-toggle span:first-child{font-size:19px;line-height:1}
  .ph-header__actions{display:flex;order:3;margin-left:0}
  .ph-header__inner{gap:14px}
  .ph-brand{margin-right:auto}
  .ph-mobile-bar{display:none}
  body{padding-bottom:0}
  .ph-drawer-backdrop:not([hidden]){
    display:block;position:fixed;inset:0;background:#0714089c;z-index:125
  }
  .ph-drawer{
    display:flex;flex-direction:column;position:fixed;
    inset:0 0 0 auto;width:min(400px,88vw);
    padding:26px 30px 80px;background:#fff;z-index:130;
    box-shadow:-5px 0 30px #0003;
    transform:translateX(110%);transition:transform .25s ease;
    overflow-y:auto;visibility:hidden;
  }
  .ph-menu-open .ph-drawer{visibility:visible;transform:translateX(0)}
  .ph-drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--ph-primary);letter-spacing:.2em}
  .ph-drawer-close{font-size:30px;background:transparent;border:0}
  .ph-drawer>a{padding:14px 0;border-bottom:1px solid #e7ece5;text-decoration:none}
}
@media (min-width:768px) and (max-width:890px){
  .ph-header__actions .ph-button--outline{display:none}
  .ph-brand__logo{max-height:43px}
}
