@font-face{font-family:Inter;src:url('../fonts/inter-latin-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Tokens follow the mobile app palette (src/theme/palette.ts). */
:root{--paper:#fbf7f3;--card:#fff;--ink:#1a2024;--muted:#5f6a70;--line:#e7e1da;--purple:#4e42da;--purple-deep:#3a2fc0;--soft:#edebfc;--lavender:#f3f0fe;--lilac:#b0a6ff;--sun:#ffd88a;--mint:#c8f0de;--radius:28px;--ease:cubic-bezier(.22,1,.36,1);--header:76px;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--cjk:"Hiragino Sans","Hiragino Kaku Gothic ProN","Apple SD Gothic Neo","Noto Sans JP","Noto Sans KR","Malgun Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[lang^=ja] body,html[lang^=ko] body{font-family:Inter,var(--cjk)}html[lang^=ja] :is(h1,h2,h3),html[lang^=ko] :is(h1,h2,h3){letter-spacing:-.01em!important;word-break:keep-all;line-height:1.3}
button,input{font:inherit}a{color:inherit;text-underline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{max-width:100%;height:auto;vertical-align:middle}figure,p,h1,h2,h3{margin:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:760;text-wrap:balance}h2{font-size:clamp(34px,4.4vw,60px)}h3{font-size:22px;letter-spacing:-.03em;line-height:1.2}p{color:var(--muted);text-wrap:pretty}p+p{margin-top:1em}
a,button{transition:color .18s,background .18s,transform .2s var(--ease),box-shadow .2s,border-color .18s}a:hover{color:var(--purple)}:focus-visible{outline:3px solid var(--purple);outline-offset:4px;border-radius:6px}
.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;left:20px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px}.skip-link:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:0;border-radius:999px;background:var(--purple);color:#fff;font-size:15px;font-weight:650;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px -8px #4e42da80}.button:hover{background:var(--purple-deep);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -10px #4e42da99}.button:active{transform:scale(.98)}
.icon{width:22px;height:22px;flex-shrink:0}.button .icon{filter:brightness(0) invert(1)}
.text-link{display:inline-flex;gap:8px;font-weight:650;color:var(--purple);text-decoration:none}.text-link:hover span{transform:translateX(4px)}.text-link span{display:inline-block;transition:transform .2s var(--ease)}

/* Header: sticky, glass once the page scrolls, compact on small screens. */
.site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60}
.site-header:before{content:'';position:absolute;inset:0;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid transparent;opacity:0;transition:opacity .3s,border-color .3s}
.site-header.is-scrolled:before,.site-header.is-open:before{opacity:1;border-color:var(--line)}
.header-bar{position:relative;display:flex;align-items:center;gap:20px;height:var(--header);transition:height .3s var(--ease)}.site-header.is-scrolled .header-bar{height:64px}
.brand a{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:780;letter-spacing:-.05em;text-decoration:none;color:var(--ink)}.brand img{width:36px;height:36px;object-fit:contain;transition:transform .5s var(--ease)}.brand a:hover img{transform:rotate(-12deg) scale(1.06)}.brand .custom-logo{width:auto;max-width:160px;max-height:44px}
.header-nav{margin-inline:auto}.header-menu{display:flex;gap:2px;list-style:none;margin:0;padding:4px;border:1px solid transparent;border-radius:999px}.site-header.is-scrolled .header-menu{border-color:var(--line);background:#ffffff8c}
.header-menu a{display:block;padding:8px 15px;border-radius:999px;font-size:14px;font-weight:560;text-decoration:none;color:var(--ink);white-space:nowrap}.header-menu a:hover,.header-menu a.is-current{background:var(--soft);color:var(--purple)}
.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.header-nav+.header-tools{margin-left:0}.header-cta{min-height:42px;padding-inline:18px;font-size:14px}
.menu-toggle{display:none;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer}
.menu-stroke{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .3s var(--ease);transform-box:fill-box;transform-origin:center}
.menu-toggle[aria-expanded=true] .menu-stroke--top{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-stroke--bottom{transform:translateY(-4px) rotate(-45deg)}
.mobile-panel{position:fixed;inset:var(--menu-panel-top,calc(var(--wp-admin--admin-bar--height,0px) + var(--header))) 0 0;z-index:59;display:flex;flex-direction:column;gap:28px;padding:20px 24px max(28px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s .28s}
.mobile-panel[hidden]{display:none}
.site-header.is-open .mobile-panel{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s}
.mobile-menu{list-style:none;margin:0;padding:0}.mobile-menu li{border-bottom:1px solid var(--line)}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;min-height:68px;font-size:28px;font-weight:720;letter-spacing:-.04em;text-decoration:none}.mobile-menu a:after{content:'→';color:var(--purple);font-size:22px}
.mobile-menu li,.mobile-panel-footer{opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .24s var(--ease)}
.site-header.is-open .mobile-menu li,.site-header.is-open .mobile-panel-footer{opacity:1;transform:translateY(0)}
.site-header.is-open .mobile-menu li:nth-child(1){transition-delay:35ms}.site-header.is-open .mobile-menu li:nth-child(2){transition-delay:60ms}.site-header.is-open .mobile-menu li:nth-child(3){transition-delay:85ms}.site-header.is-open .mobile-menu li:nth-child(4){transition-delay:110ms}.site-header.is-open .mobile-menu li:nth-child(5){transition-delay:135ms}.site-header.is-open .mobile-menu li:nth-child(n+6),.site-header.is-open .mobile-panel-footer{transition-delay:150ms}
.mobile-panel-footer{margin-top:auto}
html.menu-open{overflow:hidden;padding-right:var(--menu-scrollbar,0px)}
@media(max-width:1060px){.header-nav{display:none}.header-tools,.header-nav+.header-tools{margin-left:auto}.header-bar{z-index:61}.menu-toggle{display:grid}.site-header.is-open .header-bar{height:var(--menu-bar-height);background:var(--paper);transition:none}}
@media(min-width:561px) and (max-width:1060px){.header-tools .header-cta{order:-1}}
@media(max-width:560px){.header-cta{display:none}.shell{width:calc(100% - 32px)}.brand a{font-size:23px}}
@media(min-width:1061px){.mobile-panel{display:none!important}}

/* Store buttons: official-style dark pills. */
.store-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.store-button{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 16px;border-radius:16px;background:var(--ink);color:#fff;text-decoration:none;box-shadow:0 10px 24px -14px #1a2024}
.store-button .icon{width:26px;height:26px;filter:brightness(0) invert(1)}
.store-card-text{display:flex;flex-direction:column;line-height:1.05}.store-card-text small{font-size:11px;font-weight:500;opacity:.8}.store-card-name{font-size:18px;font-weight:700;letter-spacing:-.02em}
a.store-button:hover{color:#fff;background:#000;transform:translateY(-3px);box-shadow:0 18px 32px -14px #1a2024}
span.store-button{cursor:default;opacity:.92}
@media(max-width:560px){.store-buttons{flex-wrap:nowrap;gap:10px}.store-button{flex:1 1 0;min-width:0;justify-content:center;height:52px;padding:0 12px}.store-card-name{font-size:16px}.store-button .icon{width:22px;height:22px}}

/* Footer */
.site-footer{position:relative;margin-top:40px;border-top:1px solid var(--line);background:var(--card);overflow:hidden}
.footer-grid{position:relative;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-block:56px 48px}
.footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:24px;font-weight:780;letter-spacing:-.05em;text-decoration:none}.footer-intro p{max-width:320px;margin:14px 0 22px;font-size:14px}
.footer-col h2{margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}.footer-links a{text-decoration:none}
.site-footer .footer-pact{position:absolute;right:24px;bottom:-14px;width:96px;height:auto;transform:rotate(-6deg)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:18px 26px;border-top:1px solid var(--line);color:var(--muted)}
.footer-language .pact-language-options{top:auto;bottom:calc(100% + 12px);transform-origin:bottom right}
.footer-language .pact-language-picker>summary{height:40px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}.site-footer .footer-pact{display:none}}
@media(max-width:600px){.footer-language .pact-language-options{position:absolute;left:auto;right:0;top:auto;width:min(340px,calc(100vw - 32px))}}

/* Editorial pages (guides, articles, archives). */
.guides-strip{display:flex;justify-content:space-between;align-items:center;padding:36px 0 42px;gap:24px;font-size:14px}.reading-page{max-width:850px;padding-block:70px 100px;min-height:65vh}.reading-page h1,.archive-heading h1{font-size:clamp(36px,5vw,64px);margin-bottom:28px;overflow-wrap:anywhere}.entry-content{font-size:18px;line-height:1.85;overflow-wrap:anywhere}.entry-content>*+*{margin-top:24px}.entry-content h2,.entry-content h3{margin-top:40px}.entry-content h2{font-size:32px}.entry-content ul,.entry-content ol{padding-left:25px}.entry-content p{color:#424958}.entry-content figure img{height:auto}.post-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;color:var(--muted);margin:24px 0}.reading-page .wp-post-image{border-radius:18px;margin-bottom:30px}.back-link{color:var(--purple);font-size:14px;display:inline-block;margin-bottom:24px}.post-navigation{margin-top:50px;border-top:1px solid var(--line);padding-top:24px}.nav-links{display:flex;justify-content:space-between;gap:24px}.archive-page{padding-block:60px 90px;min-height:65vh}.archive-heading{max-width:700px;margin-bottom:55px}.search-form{margin:28px 0}.search-form label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.search-form>div{display:flex;gap:10px}.search-form input{background:#fff;border:1px solid #a9a4b5;border-radius:10px;padding:12px 16px;min-width:0;width:100%;font-size:16px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.post-preview h2{font-size:26px;margin:22px 0 14px;overflow-wrap:anywhere}.post-preview h2 a{text-decoration:none}.post-preview .wp-post-image{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:16px}.post-preview .text-link{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:14px;text-decoration:none}.pagination{margin-top:40px}.page-numbers{padding:8px}.empty-state{padding-block:36px}.empty-state h2{margin-bottom:20px}.empty-state .button{margin-top:24px}.reveal.is-pending{opacity:0;transform:translateY(16px)}.reveal.is-visible{animation:section-enter .4s var(--ease) both;animation-delay:var(--delay,0ms)}@keyframes section-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}}
@media(max-width:900px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.shell{width:calc(100% - 40px)}.guides-strip{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 0}.post-grid{grid-template-columns:1fr}.reading-page,.archive-page{padding-block:35px 65px}.entry-content{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}}.guides-strip>*{margin-block-start:0;margin-block-end:0}.skip-link:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}.reveal.is-visible{animation:section-enter .65s var(--ease) both;animation-delay:var(--delay,0ms)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.pact-breadcrumb{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:20px}.reveal.is-visible{animation-duration:.45s}.guides-hub{padding-block:50px 80px}.guides-intro{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:64px;align-items:center;margin-bottom:36px}.guides-intro h1{font-size:clamp(36px,4.2vw,60px);max-width:700px;line-height:1.08}.guides-intro>div>p{font-size:18px;max-width:640px;margin-top:20px}.guides-intro .search-form{margin-bottom:0}.guide-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.guide-filters a{padding:10px 18px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:14px;background:#fff}.guide-filters [aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.guide-results{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:14px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.guide-card{min-width:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.guide-card:hover{border-color:#c7b8ed;box-shadow:0 12px 28px #24123d08}.guide-image{display:block;overflow:hidden;aspect-ratio:16/9;background:var(--lavender)}.guide-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.guide-card:hover .guide-image img{transform:scale(1.025)}.guide-card-copy{padding:24px;display:flex;flex-direction:column;flex:1;gap:16px}.guide-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#686174;line-height:1.5}.guide-meta>span:first-child{color:#584395}.guide-card h2{font-size:24px;line-height:1.2;letter-spacing:-.035em}.guide-card h2 a{text-decoration:none}.guide-card p{font-size:14px;line-height:1.7}.guide-read{margin-top:auto;font-size:14px;font-weight:650;text-decoration:none;color:var(--purple);display:flex;justify-content:space-between}.guide-featured{display:grid;grid-template-columns:1.1fr 1fr;margin-bottom:32px;background:var(--lavender);border:0}.guide-featured .guide-image{aspect-ratio:auto;min-height:330px}.guide-featured .guide-card-copy{padding:36px;justify-content:center}.guide-featured h2{font-size:clamp(27px,2.8vw,38px)}.guide-featured .guide-read{margin-top:8px}.guide-grid-promo{grid-column:1/-1}.empty-state .guide-grid{margin-top:28px}
@media(max-width:1023px){.guides-intro{grid-template-columns:1fr;gap:24px}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guides-intro .pact-promo{max-width:none}.guide-featured .guide-card-copy{padding:26px}.guide-featured .guide-image{min-height:280px}}
@media(max-width:700px){.guides-hub{padding-block:28px 50px}.guides-intro{margin-bottom:24px}.guides-intro h1{font-size:37px}.guides-intro>div>p{font-size:16px}.guide-grid{grid-template-columns:1fr;gap:22px}.guide-featured{grid-template-columns:1fr}.guide-featured .guide-image{aspect-ratio:16/9;min-height:0}.guide-card-copy,.guide-featured .guide-card-copy{padding:22px}.guide-card h2{font-size:25px}.guide-filters{gap:7px}.guide-filters a{font-size:13px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.guide-image img{transition:none}}

/* Legal pages (pact-legal-pages plugin) render their own header/footer markup; keep it aligned with the new header. */
.pact-legal-public .site-header.shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;min-height:72px;padding-block:12px}
.pact-legal-public .site-header.shell:before{left:calc(50% - 50vw);right:calc(50% - 50vw)}
.pact-legal-public .navigation{display:block;margin-left:auto}.pact-legal-public .navigation>summary{display:none}
.pact-legal-public .navigation-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.pact-legal-public .navigation .menu,.pact-legal-public .footer-row .menu{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0;padding:0;font-size:14px;font-weight:560}
.pact-legal-public .navigation .menu a,.pact-legal-public .footer-row .menu a{text-decoration:none}
.pact-legal-public .header-actions{display:flex;align-items:center}
.pact-legal-public .footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-block:32px;color:var(--muted)}
@media(max-width:700px){.pact-legal-public .navigation{width:100%;margin-left:0}.pact-legal-public .navigation-panel{justify-content:space-between}}

@media(min-width:561px) and (max-width:1060px){.header-tools .header-cta{order:-1}}
