/* Gie: shared chrome and typography. All rules are opt-in via gdu-on. */
body.gdu-on{--gdu-green:#435738;--gdu-ink:#323a2c;--gdu-paper:#fcfbf6;--gdu-sage:#eef0e6;--gdu-line:#d4dac9;--gdu-beige:#eee2d5;--gdu-bar-height:76px;--gdu-admin:0px;--gdu-sans:'GieSans','Noto Sans JP','Yu Gothic',sans-serif;--gdu-serif:'GieSerif','Yu Mincho',serif;background:var(--gdu-paper);margin:0}
body.gdu-on.admin-bar{--gdu-admin:32px}
/* Exact structures observed on the live Twenty Twenty-Five and Gie pages. */
body.gdu-on #gie-contact-root,body.gdu-on .wp-site-blocks>header.wp-block-template-part,body.gdu-on.gdu-dedicated>header.site-header,body.gdu-on.gdu-dedicated>nav#mobile-menu,body.gdu-on .gv>header,body.gdu-on .gie-profile .gp-header,body.gdu-on .mobile-booking{display:none!important}
body.gdu-on.gdu-footer-on .wp-site-blocks>footer.wp-block-template-part,body.gdu-on.gdu-footer-on.gdu-dedicated>footer.site-footer,body.gdu-on.gdu-footer-on .gv>footer,body.gdu-on.gdu-footer-on .gie-profile>footer.footer{display:none!important}
body.gdu-on.gdu-type{font-family:var(--gdu-sans);color:var(--gdu-ink)}
body.gdu-on.gdu-type main :is(h1,h2,h3,h4),body.gdu-on.gdu-type .gie-profile :is(h1,h2,h3,h4){font-family:var(--gdu-serif)!important;font-weight:400}
body.gdu-on.gdu-type.gdu-dedicated main{font-family:var(--gdu-sans)}
/* The new shared header has its own namespace, so page CSS cannot reshape it. */
#gdu-header-root,#gdu-footer{font-family:var(--gdu-sans);font-size:14px;line-height:1.8;color:var(--gdu-ink);letter-spacing:normal;box-sizing:border-box}
#gdu-header-root *,#gdu-footer *{box-sizing:border-box}
#gdu-header-root a,#gdu-footer a{text-decoration:none;font-weight:400;color:inherit}
#gdu-header-root a:focus-visible,#gdu-header-root summary:focus-visible,#gdu-footer a:focus-visible{outline:3px solid #927337;outline-offset:4px}
#gdu-header{position:fixed!important;inset:var(--gdu-admin) 0 auto!important;z-index:99990;margin:0!important;padding:0!important;width:100%!important;min-height:0;background:#fcfbf6!important;border-bottom:1px solid #e5ded3;box-shadow:0 3px 16px #43573809}
#gdu-header .gdu-bar-inner{width:min(100% - 32px,1000px);margin:auto;min-height:76px;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 0}
#gdu-header .gdu-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;max-width:800px;margin:0;padding:0}
#gdu-header .gdu-actions a{display:flex;justify-content:center;align-items:center;gap:3px;white-space:nowrap;border:1px solid #ccb9a5;background:var(--gdu-beige);color:#624b39;min-height:44px;padding:10px 15px;border-radius:999px;font-size:13px;line-height:1.5}
#gdu-header .gdu-actions a.gdu-book{background:#896653;border-color:#896653;color:#fff}
#gdu-header .gdu-actions a:hover{filter:brightness(.95)}
#gdu-header .gdu-menu{margin:0;padding:0;border:0;position:static;background:none}
#gdu-header summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;list-style:none;background:none;border:0;color:#624b39;padding:0;width:44px;min-height:44px;font-size:9px;line-height:1.2}
#gdu-header summary::-webkit-details-marker{display:none}#gdu-header summary::marker{content:''}#gdu-header summary:after{content:none}
#gdu-header .gdu-lines{display:grid;gap:5px;width:23px}#gdu-header .gdu-lines i{display:block;background:#624b39;height:1px}
#gdu-header .gdu-menu[open] .gdu-lines i:first-child{transform:translateY(6px) rotate(45deg)}#gdu-header .gdu-menu[open] .gdu-lines i:nth-child(2){opacity:0}#gdu-header .gdu-menu[open] .gdu-lines i:last-child{transform:translateY(-6px) rotate(-45deg)}
#gdu-header .gdu-menu-panel{position:absolute;right:max(16px,calc((100vw - 1000px)/2));top:100%;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - var(--gdu-bar-height) - var(--gdu-admin) - 16px);overflow:auto;padding:18px 24px;background:var(--gdu-paper);box-shadow:0 15px 35px #323a2c20;border:1px solid #dfd6c9;border-radius:0 0 12px 12px;display:block}
#gdu-header .gdu-menu-panel a{display:block;padding:11px 0;border-bottom:1px solid #e3e4da;white-space:normal;font-size:14px;line-height:1.7}
#gdu-header .gdu-menu-panel a[aria-current=page]{color:var(--gdu-green);font-weight:600}
#gdu-header .gdu-menu-title{font-family:var(--gdu-serif);font-size:17px;margin:0 0 12px}#gdu-header .gdu-sms-note{font-size:11px;color:#626959;margin:18px 0 0}
#gdu-header-space{height:var(--gdu-bar-height)}#gdu-content-start{display:block;scroll-margin-top:calc(var(--gdu-bar-height) + var(--gdu-admin) + 12px)}
#gdu-header-root .gdu-skip{position:fixed;top:-150px;left:15px;z-index:100000;background:white;padding:10px 16px;color:#304129}#gdu-header-root .gdu-skip:focus{top:calc(var(--gdu-admin) + 8px)}
body.gdu-on main :is([id]){scroll-margin-top:calc(var(--gdu-bar-height) + var(--gdu-admin) + 18px)}
/* Legacy blog / page layout. Preserve blocks, images, forms, and custom widgets. */
body.gdu-on.gdu-type.gdu-legacy{--wp--style--global--content-size:800px;--wp--style--global--wide-size:1100px;--wp--preset--font-family--body:var(--gdu-sans);--wp--preset--font-family--heading:var(--gdu-serif);--wp--preset--color--base:var(--gdu-paper);--wp--preset--color--contrast:var(--gdu-ink);font-size:16px;line-height:2}
body.gdu-on.gdu-type.gdu-legacy .wp-site-blocks{padding-top:0!important;padding-bottom:0!important}
body.gdu-on.gdu-type.gdu-legacy .wp-site-blocks>main{margin-top:0!important;margin-bottom:0!important;padding:48px max(22px,calc((100vw - 1100px)/2)) 70px!important;max-width:none}
body.gdu-on.gdu-type.gdu-legacy main>.wp-block-group.alignfull{padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content{margin-top:26px;padding-inline:0!important;max-width:1100px;width:100%;margin-inline:auto}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright){max-width:800px;margin-left:auto;margin-right:auto}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>.alignwide{max-width:1100px;margin-inline:auto}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:is(p,ul,ol,blockquote),body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content .wp-block-paragraph{font-family:var(--gdu-sans)!important;font-size:16px!important;line-height:2.05!important;letter-spacing:.015em}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:is(p,ul,ol,blockquote):not(.has-text-color){color:var(--gdu-ink)}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>p{margin-top:0;margin-bottom:1.5em}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>p:empty{display:none}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:is(h1,h2,h3,h4){color:var(--gdu-green);font-family:var(--gdu-serif)!important;font-weight:400!important;line-height:1.65!important}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>h2{font-size:clamp(24px,2.5vw,32px)!important;margin-top:2em;margin-bottom:24px;padding-bottom:15px;border-bottom:1px solid var(--gdu-line)}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>h3{font-size:23px!important;margin-top:1.8em;margin-bottom:18px}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-title,body.gdu-on .gdu-page-title{font-family:var(--gdu-serif)!important;font-size:clamp(28px,3.2vw,42px)!important;font-weight:400!important;line-height:1.6!important;letter-spacing:.025em;color:var(--gdu-green);max-width:800px;margin:10px auto 32px!important}
body.gdu-on .gdu-page-intro{max-width:800px;margin:0 auto 30px;padding:0 0 24px;border-bottom:1px solid var(--gdu-line)}body.gdu-on .gdu-page-intro .gdu-page-title{margin:14px 0 0!important}
body.gdu-on .gdu-breadcrumb{font-family:var(--gdu-sans);font-size:12px;color:#68705e;line-height:1.8}body.gdu-on .gdu-breadcrumb a{color:inherit;text-decoration:none}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content :is(img,video,iframe){max-width:100%}body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content img{height:auto}
body.gdu-on.gdu-type.gdu-legacy .wp-block-image{margin-block:28px}body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content figure img{border-radius:8px}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content a{overflow-wrap:anywhere;text-underline-offset:4px}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:is(p,ul,ol) a{color:var(--gdu-green);text-decoration:underline}
body.gdu-on.gdu-type.gdu-legacy .wp-block-button__link{background:var(--gdu-green);border-radius:999px;color:#fff;padding:14px 26px;font-family:var(--gdu-sans);font-size:15px}
body.gdu-on.gdu-type.gdu-legacy .wp-block-table{overflow-x:auto}body.gdu-on.gdu-type.gdu-legacy blockquote{background:var(--gdu-sage);border-left:3px solid #9aa58b;padding:24px}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-template{gap:28px}body.gdu-on.gdu-type.gdu-legacy .wp-block-post-template>li{background:#fff;border:1px solid var(--gdu-line);border-radius:10px;padding:24px}
/* Same footer on every template. Never fixed to the viewport. */
#gdu-footer{display:block!important;position:relative!important;width:100%;max-width:none;margin:0!important;padding:56px max(24px,calc((100vw - 1100px)/2)) 24px!important;background:#eef0e6!important;border-top:1px solid #d4dac9;color:#323a2c;clear:both}
#gdu-footer .gdu-footer-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;margin:0;padding:0}
#gdu-footer .gdu-logo{display:block;width:180px;max-width:100%;height:auto;margin:0 0 22px}
#gdu-footer .gdu-logo img{position:static;display:block;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain;mix-blend-mode:normal;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#gdu-footer p{font-family:var(--gdu-sans);font-size:13px;line-height:2;margin:16px 0 0;padding:0;color:inherit}
#gdu-footer p.gdu-footer-tagline{font-family:var(--gdu-serif);font-size:clamp(20px,2vw,26px);line-height:1.7;margin:0}
#gdu-footer .gdu-footer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
#gdu-footer .gdu-footer-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid #869277;border-radius:999px;font-size:13px}
#gdu-footer .gdu-footer-actions a:first-child{background:var(--gdu-green);color:#fff;border-color:var(--gdu-green)}
#gdu-footer .gdu-footer-nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 25px;margin:0;padding:0}
#gdu-footer .gdu-footer-nav a{padding:9px 0;border-bottom:1px solid #d5dacb;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
#gdu-footer a:hover{text-decoration:underline;text-underline-offset:4px}
#gdu-footer .gdu-footer-bottom{display:flex;flex-wrap:wrap;gap:20px;align-items:center;border-top:1px solid #d4dac9;margin-top:40px;padding-top:20px;font-size:11px}
#gdu-footer .gdu-footer-bottom span{margin-right:auto}
@media(max-width:782px){body.gdu-on.admin-bar{--gdu-admin:46px}}
@media(max-width:700px){body.gdu-on{--gdu-bar-height:68px}#gdu-header .gdu-bar-inner{min-height:68px;width:calc(100% - 24px);gap:8px;padding:10px 0}#gdu-header .gdu-actions{gap:6px}#gdu-header .gdu-actions a{font-size:11px;padding:8px 5px;min-height:42px;gap:1px}#gdu-header .gdu-wide{display:none}#gdu-header summary{width:32px}#gdu-header .gdu-menu-label{font-size:8px}#gdu-header .gdu-menu-panel{right:12px;width:calc(100vw - 24px)}body.gdu-on.gdu-type.gdu-legacy .wp-site-blocks>main{padding:30px 22px 48px!important}body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content{margin-top:22px}body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content>:is(p,ul,ol,blockquote),body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content .wp-block-paragraph{font-size:16px!important;line-height:2!important}#gdu-footer{padding:38px 22px 22px!important}#gdu-footer .gdu-footer-inner{grid-template-columns:1fr;gap:32px}#gdu-footer .gdu-footer-nav{gap:0 18px}#gdu-footer .gdu-footer-bottom{gap:14px;margin-top:30px}}
@media(prefers-reduced-motion:reduce){body.gdu-on{scroll-behavior:auto!important}}
@media print{#gdu-header-root,#gdu-footer{display:none!important}body.gdu-on{background:white}body.gdu-on main{padding:0!important}}
/* Twenty Twenty-Five aligns full-width groups with negative margins. Reset only the outer article shell. */
body.gdu-on.gdu-type.gdu-legacy main>.wp-block-group.alignfull{margin-inline:0!important;width:100%;max-width:100%;box-sizing:border-box}
body.gdu-on.gdu-type.gdu-legacy .wp-block-post-content{margin-inline:auto!important;box-sizing:border-box}
body.gdu-on.gdu-type.gdu-legacy main>.wp-block-group.alignfull{padding-inline:0!important}
/* Shared palette for the existing Gie landing-page styles. Hero photography stays intact. */
body.gdu-on.gdu-dedicated{--paper:#fcfbf6;--cream:#eef0e6;--ink:#323a2c;--muted:#626959;--gold:#435738;--gold-dark:#304129;--line:#d4dac9;--forest:#435738;--forest-dark:#304129;--sage:#eef0e6}

/* Front page: online introductory session, below the fourth strength card. */
body.gdu-on #gdu-trial-link{grid-column:1 / -1;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:16px 18px;background:#eef0e6;color:#435738;border:1px solid #cbd2bf;border-radius:14px;font-family:'GieSans',sans-serif;font-size:15px;line-height:1.8;letter-spacing:.03em;text-decoration:none;box-sizing:border-box;max-width:100%}
body.gdu-on #gdu-trial-link .gdu-trial-words{display:block;min-width:0}
body.gdu-on #gdu-trial-link .gdu-trial-label{display:block;overflow-wrap:anywhere}
body.gdu-on #gdu-trial-link .gdu-trial-price{display:block;margin-top:3px;font-size:18px;font-weight:600}
body.gdu-on #gdu-trial-link .gdu-trial-arrow{flex:0 0 auto;font-size:25px;line-height:1}
body.gdu-on #gdu-trial-link:hover{background:#e3e8d9}
body.gdu-on #gdu-trial-link:focus-visible{outline:3px solid #435738;outline-offset:4px}
