/* The video-era header is shared by the home page, posts and archives. */
:root{--video-header-height:clamp(86px,6vw,100px);--video-ink:#303a31;--video-green:#315d3d;--video-green-deep:#244b31}
body.video-menu-open{overflow:hidden}
.video-header{position:sticky;top:0;z-index:1000;height:var(--video-header-height);border-bottom:1px solid rgba(49,93,61,.1);background:rgba(255,255,252,.98);transition:background .2s ease,border-color .2s ease}
.video-header.is-scrolled{border-bottom-color:rgba(49,93,61,.16);background:rgba(255,255,252,.96);backdrop-filter:blur(12px)}
.video-header__inner{display:grid;width:min(1488px,calc(100% - 96px));min-height:var(--video-header-height);margin:auto;grid-template-columns:minmax(260px,.78fr) minmax(500px,1.28fr) auto;align-items:center;gap:clamp(1.4rem,2.4vw,2.8rem)}
.video-brand{display:flex;min-width:0;align-items:center;gap:.8rem;color:var(--video-green);text-decoration:none}
.video-brand>img{display:block;width:48px!important;height:48px!important;flex:0 0 48px;filter:invert(31%) sepia(18%) saturate(1127%) hue-rotate(83deg) brightness(89%) contrast(88%)}
.video-brand>span{display:grid;gap:.22rem;white-space:nowrap}
.video-brand strong{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(1.45rem,2vw,1.9rem);font-weight:600;letter-spacing:-.025em;line-height:1}
.video-brand small{color:#58645a;font-size:.68rem;font-weight:500;letter-spacing:.08em}
.video-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,2vw,2.45rem);white-space:nowrap}
.video-nav a{position:relative;padding:.45rem 0;color:var(--video-ink);font-size:clamp(.84rem,1vw,1rem);font-weight:600;letter-spacing:.035em;text-decoration:none}
.video-nav a:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--video-green);content:"";transform:scaleX(0);transition:transform .2s ease}
.video-nav a:hover,.video-nav a:focus-visible{color:var(--video-green)}
.video-nav a:hover:after,.video-nav a:focus-visible:after{transform:scaleX(1)}
.video-header__actions{display:flex;align-items:center;gap:.9rem}
.video-header__phone,.video-header__estimate{display:inline-flex;min-height:60px;align-items:center;justify-content:center;border-radius:999px;font-weight:700;letter-spacing:.035em;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
.video-header__phone{min-width:218px;gap:.7rem;padding:.55rem 1.35rem;border:1px solid #a6b9a8;color:var(--video-green);font-family:"Noto Serif JP","Yu Mincho",serif;font-size:1.25rem}
.video-header__estimate{min-width:260px;gap:.7rem;padding:.8rem 1.5rem;border:1px solid var(--video-green);background:var(--video-green);color:#fff}
.video-header__phone img,.video-header__estimate img{display:block;width:23px!important;height:23px!important;flex:0 0 23px}
.video-header__phone img{filter:invert(31%) sepia(18%) saturate(1127%) hue-rotate(83deg) brightness(89%) contrast(88%)}
.video-header__estimate img{filter:brightness(0) invert(1)}
.video-header__estimate b{margin-left:.15rem;font-size:1.5rem;font-weight:400;line-height:.7}
.video-header__phone:hover,.video-header__phone:focus-visible,.video-header__estimate:hover,.video-header__estimate:focus-visible{transform:translateY(-2px)}
.video-header__phone:hover,.video-header__phone:focus-visible{border-color:var(--video-green);background:#f3f6f1}
.video-header__estimate:hover,.video-header__estimate:focus-visible{border-color:var(--video-green-deep);background:var(--video-green-deep)}
.video-header a:focus-visible,.video-menu-toggle:focus-visible{outline:3px solid #d4a853;outline-offset:3px}
.video-menu-toggle{display:none;position:relative;width:44px;height:44px;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer}
.video-menu-toggle span{position:absolute;width:25px;height:2px;border-radius:2px;background:var(--video-green);transition:transform .2s ease,opacity .2s ease}
.video-menu-toggle span:first-child{transform:translateY(-8px)}
.video-menu-toggle span:last-child{transform:translateY(8px)}
.video-menu-toggle.is-open span:first-child{transform:rotate(45deg)}
.video-menu-toggle.is-open span:nth-child(2){opacity:0}
.video-menu-toggle.is-open span:last-child{transform:rotate(-45deg)}
.video-mobile-menu{position:fixed;top:var(--video-header-height);right:0;bottom:0;left:0;z-index:999;background:rgba(22,42,28,.28);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .22s}
.video-mobile-menu[hidden]{display:none}
.video-mobile-menu.open{opacity:1;visibility:visible;transition-delay:0s}
.video-mobile-menu__panel{width:min(100%,440px);height:100%;margin-left:auto;padding:2rem 1.4rem;background:#fffefb;box-shadow:-20px 0 50px rgba(32,54,37,.13);outline:0;transform:translateX(100%);transition:transform .26s ease}
.video-mobile-menu.open .video-mobile-menu__panel{transform:none}
.video-mobile-menu nav{display:grid}
.video-mobile-menu nav a{padding:1rem .3rem;border-bottom:1px solid #dde4db;color:var(--video-ink);font-weight:700;text-decoration:none}
.video-mobile-menu__actions{display:grid;gap:.7rem;margin-top:1.4rem}
.video-mobile-menu__actions a{display:flex;min-height:52px;align-items:center;justify-content:center;border:1px solid var(--video-green);border-radius:8px;background:var(--video-green);color:#fff;font-weight:700;text-decoration:none}
.video-mobile-menu__actions a:nth-child(2){background:#0aaa46}
.video-mobile-menu__actions a:last-child{background:#fff;color:var(--video-green)}
@media(max-width:1420px){.video-header__inner{grid-template-columns:minmax(230px,.7fr) minmax(440px,1.15fr) auto}.video-header__phone{display:none}.video-header__estimate{min-width:220px}}
@media(max-width:1080px){:root{--video-header-height:72px}.video-header__inner{width:calc(100% - 40px);grid-template-columns:1fr auto}.video-nav,.video-header__actions{display:none}.video-menu-toggle{display:inline-flex}}
@media(max-width:640px){:root{--video-header-height:64px}.video-header__inner{width:calc(100% - 32px);min-height:64px}.video-brand{gap:.55rem}.video-brand>img{width:34px!important;height:34px!important;flex-basis:34px}.video-brand strong{font-size:1.22rem}.video-brand small{display:none}.video-mobile-menu{top:64px}}
