:root{--background:#fff;--surface:#fdeef4;--surface-deep:#f8dce6;--primary:#d3758e;--primary-dark:#a74662;--ink:#352632;--muted:#6c5862;--line:#e9cdd7;--white:#fff;--font:'LINE Seed JP','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--font-en:'Lobster',cursive;--font-ui:'Poppins','LINE Seed JP','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--container:1120px;--shadow:0 12px 40px rgba(72,32,49,.12)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--ink);font:500 20px/1.85 var(--font);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,h4,h5,h6,strong,b,th{font-weight:500}
:focus-visible{outline:3px solid var(--primary-dark);outline-offset:4px}
::selection{background:var(--surface-deep);color:var(--ink)}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;z-index:1000;top:-100px;left:20px;background:#fff;padding:10px 16px}.skip-link:focus{top:10px}
.site-header{font-family:var(--font-ui);position:fixed;z-index:100;top:15px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 30px));min-height:96px;padding:16px 18px 16px 22px;border:1px solid rgba(164,75,102,.22);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:16px;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:10px;flex:none;min-width:0;font-weight:500;line-height:1.2;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font:500 31px/1 var(--font-ui)}.brand-text{font-size:23px;letter-spacing:.03em}.brand-text small{display:block;margin-top:2px;color:var(--primary-dark);font-size:10px;letter-spacing:.18em}
.site-nav{display:flex;align-items:center;gap:17px}.site-nav a{font-size:20px;font-weight:500;line-height:1.5;white-space:nowrap;padding:12px 0;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--primary-dark);border-bottom-color:var(--primary)}
.menu-toggle{display:none;flex:none;width:52px;height:48px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:29px;height:3px;border-radius:3px;background:var(--primary);transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-9px) rotate(-45deg)}
main{min-height:65vh}.section{padding-block:112px}.surface-section{background:transparent;border-top:1px solid var(--line)}.eyebrow{margin:0 0 14px;color:var(--primary-dark);font:400 22px/1.3 var(--font-en);letter-spacing:.06em}.section-heading{margin-bottom:46px}.section-heading h2,.intro-copy h2,.access-teaser h2,.contact-cta h2{margin:0;font-size:clamp(34px,3.6vw,44px);font-weight:500;line-height:1.45;letter-spacing:.015em}.section-heading>p:last-child:not(.eyebrow){margin:14px 0 0;color:var(--muted)}
.button{min-height:58px;padding:14px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:999px;font-size:18px;font-weight:500;line-height:1.5;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:var(--primary-dark)}.button-light:hover{background:var(--surface)}.button-outline{border:2px solid var(--primary);color:var(--primary-dark)}.button-outline:hover{background:var(--primary-dark);color:#fff}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:2px solid var(--primary);font-weight:500;color:var(--primary-dark)}.text-link:hover{color:var(--ink)}
.hero-frame{padding:13px;background:var(--surface)}.hero{position:relative;min-height:calc(100svh - 26px);overflow:hidden;border-radius:14px;display:flex;align-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,25,31,.75) 0%,rgba(40,30,34,.56) 40%,rgba(40,30,34,.07) 78%)}.hero-content{position:relative;z-index:1;margin:130px max(32px,calc((100vw - 1100px)/2)) 75px;color:#fff;max-width:760px}.hero-kicker{margin:0 0 24px;font-size:20px;font-weight:500;letter-spacing:.1em}.hero h1{margin:0;font-size:clamp(48px,5.9vw,80px);line-height:1.32;letter-spacing:.04em;font-weight:500;text-wrap:balance}.hero-content>p:not(.hero-kicker){margin:26px 0 30px;font-size:21px;line-height:1.9}.image-note{position:absolute;right:23px;bottom:14px;color:#fff;font-size:12px;text-shadow:0 1px 4px #222;margin:0}
.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro-description p{margin:0 0 24px}.intro-description .text-link{margin-top:8px}.news-list{border-top:1px solid var(--line);margin-bottom:35px}.news-row{display:grid;grid-template-columns:160px 1fr 25px;align-items:center;gap:20px;min-height:88px;border-bottom:1px solid var(--line);padding:16px 6px;font-weight:500}.news-row:hover{color:var(--primary-dark)}.news-row time{font-size:16px;color:var(--primary-dark)}.news-row b{font-size:24px;font-weight:500;text-align:right}
.hours-scroll{overflow-x:auto}.hours-table{border-collapse:collapse;width:100%;min-width:660px;table-layout:fixed;text-align:center;background:#fff}.hours-table caption{text-align:left;font-size:16px;font-weight:500;margin-bottom:12px}.hours-table th,.hours-table td{padding:18px 8px;border-bottom:1px solid var(--line);font-size:18px}.hours-table thead th{background:var(--surface-deep);font-weight:500}.hours-table th:first-child{width:210px;text-align:left;padding-left:22px}.hours-table tbody th{font-weight:500}.hours-table td{color:var(--primary-dark);font-weight:500}.table-note{font-size:16px;margin:17px 0 0;color:var(--muted)}
.access-teaser{background:transparent}.access-teaser-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.access-teaser p:not(.eyebrow){margin:24px 0}.access-visual{height:400px;border-radius:18px;background:var(--surface);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.access-visual::before,.access-visual::after{content:"";position:absolute;border:1px solid var(--primary);border-radius:50%;width:330px;height:330px}.access-visual::after{width:220px;height:220px}.access-visual span{position:relative;z-index:1;text-align:center;color:var(--primary-dark);font-size:44px;font-weight:500;line-height:1.3;letter-spacing:.1em}.access-visual i{position:absolute;z-index:2;top:60px;right:70px;font-size:45px;color:var(--primary)}
.contact-cta{background:transparent;color:var(--ink);border-top:1px solid var(--line);padding-block:75px}.contact-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-cta .eyebrow{color:var(--primary-dark)}.contact-cta h2{font-size:clamp(32px,3vw,42px)}.contact-cta p:last-child{margin-bottom:0}.cta-actions{display:flex;flex-direction:column;align-items:flex-end;gap:20px}.phone-link{font:500 27px/1.4 var(--font);white-space:nowrap}.phone-link:hover{text-decoration:underline}
.site-footer{font-family:var(--font-ui);background:#fdeef4;color:var(--ink);border-top:1px solid var(--line);padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-brand{font-size:28px;font-weight:500;line-height:1.3}.footer-brand span{display:block;font-size:13px;letter-spacing:.2em}.footer-grid p{font-size:16px;line-height:1.7}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;align-content:start}.footer-grid nav a{font-size:17px;font-weight:500;padding:4px 0}.footer-grid a:hover,.footer-bottom a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:60px;padding-top:19px;font-size:14px}
.page-intro{padding-top:175px;padding-bottom:85px}.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--muted);margin-bottom:70px}.breadcrumb a:hover{color:var(--primary-dark);text-decoration:underline}.page-intro h1{margin:0}.page-intro h1 span{display:block;font-size:clamp(66px,9vw,112px);font-weight:500;line-height:1.15;letter-spacing:-.035em;color:var(--primary-dark)}.page-intro h1 small{display:block;font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1.45;margin-top:6px}.page-lead{margin:22px 0 0;max-width:760px;font-size:22px}.page-toc{display:flex;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:18px}.page-toc a{font-size:17px;font-weight:500;color:var(--primary-dark)}.page-toc a:hover{text-decoration:underline}section[id]{scroll-margin-top:120px}
.reading-grid{display:grid;grid-template-columns:36% 1fr;gap:8%}.sticky-label{align-self:start;position:sticky;top:130px}.sticky-label h2{font-size:44px;line-height:1.4;margin:0}.prose{max-width:750px}.prose p{margin:0 0 30px}.statement-band{background:transparent;padding:75px 0;color:var(--ink);border-block:1px solid var(--line)}.statement-band .container{border-left:10px solid var(--surface);padding-left:35px}.statement-band .eyebrow{color:var(--primary-dark)}.statement-band p:last-child{font-size:clamp(36px,4vw,56px);font-weight:500;line-height:1.5;margin:0}.philosophy-lead{max-width:800px;font-size:26px;font-weight:500}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.value-grid article{padding:35px 28px;border:1px solid var(--line);background:#fff;border-radius:14px}.value-grid span{color:var(--primary);font-size:32px;font-weight:500}.value-grid h3{font-size:28px;margin:15px 0}.value-grid p{font-size:18px;margin:0}.quote-card{margin-top:28px;padding:32px 38px;background:var(--surface);border-radius:14px}.quote-card span{font-size:16px;font-weight:500;color:var(--primary-dark)}.quote-card p{font-size:26px;font-weight:500;margin:8px 0 0}.gallery-section figure{margin:0}.gallery-section img{width:100%;height:min(52vw,560px);object-fit:cover;border:12px solid var(--surface);border-radius:16px}.gallery-section figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.featured-news{display:grid;grid-template-columns:30% 1fr;gap:50px;background:var(--surface);padding:55px;border-radius:14px}.feature-date{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.feature-date span{padding:6px 15px;border-radius:99px;background:var(--primary-dark);color:#fff;font-size:14px;font-weight:500}.feature-date time{font-size:18px;color:var(--primary-dark);font-weight:500}.featured-news h2{font-size:38px;line-height:1.5;margin:0 0 18px}.featured-news p{margin:0 0 23px}.list-heading{font-size:32px;margin:90px 0 25px}.article-head{padding-top:175px;padding-bottom:65px;max-width:1000px}.article-head .breadcrumb{margin-bottom:70px}.article-head time{display:block;color:var(--primary-dark);font-size:16px;font-weight:500}.article-head h1{font-size:clamp(36px,4vw,56px);line-height:1.5;margin:14px 0 0}.article-body{max-width:850px;padding-bottom:112px}.article-body p{margin:0 0 30px}.article-actions{margin-top:55px}.related-section{background:transparent;border-top:1px solid var(--line);padding:75px 0}.related-section h2{font-size:36px;margin:0 0 26px}.related-section .news-row{border-top:1px solid var(--line);grid-template-columns:1fr 25px}
.access-page{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:stretch}.access-info h2{font-size:44px;line-height:1.4;margin:0 0 30px}.access-info address{font-style:normal;margin-bottom:30px}.access-info dl{margin:0 0 36px}.access-info dl div{display:flex;gap:20px;padding:11px 0;border-top:1px solid var(--line)}.access-info dt{min-width:70px;font-weight:500}.access-info dd{margin:0}.access-info dd a{text-decoration:underline;text-underline-offset:4px}.map-panel{min-height:470px;background:var(--surface);border-radius:16px;position:relative;overflow:hidden;display:grid;place-items:center}.map-panel::before,.map-panel::after{content:"";position:absolute;inset:-15%;background:linear-gradient(145deg,transparent 0 46%,#fff 46% 48%,transparent 48% 62%,#fff 62% 65%,transparent 65%),linear-gradient(55deg,transparent 0 40%,#fff 40% 43%,transparent 43% 67%,#fff 67% 70%,transparent 70%);opacity:.72}.map-panel::after{transform:rotate(35deg);opacity:.4}.map-panel>div{position:relative;z-index:1;display:grid;text-align:center;background:#fff;padding:25px 40px;border-radius:12px;box-shadow:var(--shadow)}.map-panel span{font-size:43px;color:var(--primary);line-height:1}.map-panel strong{font-size:25px}.map-panel small{font-size:16px}
.links-page{padding-top:45px}.link-group{display:grid;grid-template-columns:35% 1fr;gap:6%;padding:54px 0;border-top:1px solid var(--line)}.link-group h2{font-size:34px;line-height:1.4;margin:0}.link-items{display:grid;gap:10px}.link-items a{display:grid;grid-template-columns:1fr auto;gap:3px 15px;padding:17px 24px;border:1px solid var(--line);border-radius:10px;background:#fff}.link-items a:hover{border-color:var(--primary);background:var(--surface)}.link-items strong{font-size:23px;line-height:1.5}.link-items span{grid-column:1;font-size:16px;color:var(--muted)}.link-items b{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--primary-dark);font-size:24px;font-weight:500}
.contact-empty{min-height:420px}
@media(max-width:1100px){.site-header{top:10px;min-height:82px;width:calc(100% - 24px);padding:12px 12px 12px 16px}.brand-mark{width:40px;height:40px}.brand-text{font-size:24px}.menu-toggle{display:flex}.site-nav{position:absolute;top:calc(100% + 8px);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 14px;border:1px solid var(--line);border-radius:10px;background:var(--background);box-shadow:var(--shadow);max-height:calc(100svh - 108px);overflow:auto}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}.site-nav a{padding:14px 8px;border-bottom:1px solid var(--line);font-size:20px;min-height:55px}.site-nav a[aria-current=page]{border-bottom-color:var(--primary)}.site-nav a:last-child{border-bottom:0}}
@media(max-width:767px){body{font-size:18px;line-height:1.85}.container{width:calc(100% - 48px)}.section{padding-block:72px}.eyebrow{font-size:18px}.section-heading{margin-bottom:30px}.section-heading h2,.intro-copy h2,.access-teaser h2,.contact-cta h2{font-size:30px}.button{font-size:17px;min-height:55px}.hero-frame{padding:11px}.hero{min-height:calc(100svh - 22px);border-radius:12px;align-items:flex-end}.hero>img{object-position:56% center}.hero-shade{background:linear-gradient(0deg,rgba(33,25,31,.82) 0%,rgba(33,25,31,.54) 53%,rgba(33,25,31,.12) 100%)}.hero-content{margin:0 24px 72px}.hero-kicker{font-size:16px;margin-bottom:16px}.hero h1{font-size:clamp(28px,8.5vw,60px);line-height:1.35}.hero-content>p:not(.hero-kicker){font-size:18px;margin:20px 0 24px}.image-note{right:15px;bottom:12px;font-size:10px}.intro-section,.access-teaser-grid,.reading-grid,.access-page,.link-group,.footer-grid{grid-template-columns:1fr;gap:28px}.intro-description p{margin-bottom:18px}.news-row{grid-template-columns:105px 1fr 20px;gap:10px;min-height:80px;font-size:17px}.news-row time{font-size:14px}.hours-table th,.hours-table td{font-size:16px;padding:13px 6px}.hours-table th:first-child{width:170px;padding-left:14px}.access-visual{height:280px}.access-visual span{font-size:34px}.access-visual::before{width:260px;height:260px}.access-visual::after{width:165px;height:165px}.contact-cta{padding-block:65px}.contact-cta-inner{display:block}.contact-cta h2{font-size:30px}.cta-actions{align-items:flex-start;margin-top:27px}.footer-grid nav{grid-template-columns:1fr 1fr}.footer-bottom{margin-top:45px}.page-intro{padding-top:130px;padding-bottom:58px}.breadcrumb{margin-bottom:43px;font-size:14px}.page-intro h1 span{font-size:56px}.page-intro h1 small{font-size:30px}.page-lead{font-size:18px}.page-toc{overflow-x:auto;white-space:nowrap;gap:24px}.page-toc a{font-size:16px}.sticky-label{position:static}.sticky-label h2{font-size:30px}.statement-band{padding:60px 0}.statement-band p:last-child{font-size:34px}.philosophy-lead{font-size:21px}.value-grid{grid-template-columns:1fr;margin-top:30px}.value-grid article{padding:25px}.value-grid h3{font-size:24px}.quote-card{padding:25px}.quote-card p{font-size:22px}.gallery-section img{height:280px;border-width:9px}.featured-news{grid-template-columns:1fr;gap:20px;padding:30px}.featured-news h2{font-size:28px}.list-heading{font-size:28px;margin-top:65px}.article-head{padding-top:130px;padding-bottom:45px}.article-head .breadcrumb{margin-bottom:45px}.article-head h1{font-size:36px}.article-body{padding-bottom:70px}.related-section{padding-block:65px}.related-section h2{font-size:30px}.access-info h2{font-size:34px}.map-panel{min-height:300px}.link-group{padding:35px 0}.link-group h2{font-size:29px}.link-items strong{font-size:20px}.contact-empty{min-height:350px}}
@media(max-width:390px){.container{width:calc(100% - 40px)}.brand{gap:7px}.brand-mark{width:36px;height:36px;font-size:26px}.brand-text{font-size:22px}.brand-text small{font-size:9px}.hero-content{margin-inline:19px}.hero h1{font-size:clamp(28px,8.5vw,40px)}.news-row{grid-template-columns:1fr 22px;gap:3px}.news-row time{grid-column:1}.news-row span{grid-column:1}.news-row b{grid-column:2;grid-row:1 / span 2}.footer-grid nav{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;gap:15px;flex-direction:column}.page-intro h1 span{font-size:50px}.page-intro h1 small{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.contact-cta .button-light{background:var(--primary-dark);color:#fff}

/* Original-site logo with readable offline fallback */
.brand-logo{display:block;max-width:224px;max-height:64px;width:auto;height:auto;object-fit:contain}.fallback-text,.footer-logo-fallback{display:none}.brand.logo-failed .brand-logo,.footer-brand.logo-failed .footer-logo{display:none}.brand.logo-failed .fallback-text,.footer-brand.logo-failed .footer-logo-fallback{display:block}.footer-logo{display:block;max-width:230px;max-height:95px;width:auto;height:auto;object-fit:contain}.footer-logo-fallback{font-size:28px;font-weight:500}.footer-logo-fallback small{display:block;font-size:13px;letter-spacing:.2em}
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.footer-social a{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:9px 15px;border:1px solid var(--primary);border-radius:999px;font-size:15px;font-weight:500;color:var(--primary-dark)}.footer-social a:hover{background:var(--surface);text-decoration:none}
/* Full about-page content */
.credo-block{padding:55px 0;border-top:1px solid var(--line)}.credo-block:first-of-type{margin-top:48px}.credo-block h3{font-size:34px;line-height:1.45;margin:0 0 22px}.credo-slogan{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.55;margin:0}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.policy-grid article{padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.policy-grid h4{font-size:25px;margin:0 0 14px}.policy-grid p{font-size:18px;margin:0}.principle-list,.strategy-steps{list-style:none;counter-reset:item;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.principle-list li,.strategy-steps li{counter-increment:item;position:relative;padding:18px 18px 18px 58px;border-bottom:1px solid var(--line);font-size:18px}.principle-list li::before,.strategy-steps li::before{content:counter(item,decimal-leading-zero);position:absolute;left:10px;top:18px;color:var(--primary-dark);font-size:16px;font-weight:500}.strategy-block>p:not(.eyebrow){font-size:24px;font-weight:500;margin:0 0 18px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{margin:0}.gallery-item img{width:100%;height:250px;object-fit:cover;border:8px solid var(--surface);border-radius:12px;background:var(--surface)}.gallery-item figcaption{font-size:16px;font-weight:500;margin-top:8px}.gallery-note{font-size:15px;color:var(--muted);margin-top:24px}
/* Live Google map */
.map-panel{background:#fff;border:1px solid var(--line);min-height:470px}.map-panel::before,.map-panel::after{display:none}.map-panel iframe{display:block;width:100%;height:100%;min-height:470px;border:0}
@media(max-width:1100px){.brand-logo{max-width:208px;max-height:58px}}
@media(max-width:767px){.site-header{min-height:82px}.brand-logo{max-width:190px;max-height:55px}.footer-social{gap:8px}.footer-social a{font-size:14px}.policy-grid,.principle-list,.strategy-steps{grid-template-columns:1fr}.credo-block{padding:42px 0}.credo-block h3{font-size:28px}.policy-grid h4{font-size:22px}.gallery-grid{grid-template-columns:1fr 1fr;gap:16px}.gallery-item img{height:180px;border-width:6px}.map-panel,.map-panel iframe{min-height:360px}}
@media(max-width:390px){.brand-logo{max-width:178px}.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:250px}}
.footer-logos{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.matrix-brand{display:inline-flex;align-items:center}.matrix-logo{display:block;max-width:180px;max-height:60px;width:auto;height:auto;object-fit:contain}.matrix-brand>span,.credo-matrix-logo>span{display:none;font-size:18px;font-weight:500}.matrix-brand.logo-failed .matrix-logo,.credo-matrix-logo.logo-failed img{display:none}.matrix-brand.logo-failed>span,.credo-matrix-logo.logo-failed>span{display:block}.credo-matrix-logo{margin:0 0 24px}.credo-matrix-logo img{display:block;max-width:260px;max-height:90px;width:auto;height:auto;object-fit:contain}
.footer-brand .footer-logo-fallback{display:none}.footer-brand.logo-failed .footer-logo-fallback{display:block}
/* The supplied original logo has a tall 235 × 147 canvas. */
.site-header{min-height:128px;padding:10px 22px}.brand-logo{max-width:170px;max-height:106px}.footer-logo{max-width:235px;max-height:132px}.page-intro,.article-head{padding-top:195px}section[id]{scroll-margin-top:160px}.sticky-label{top:160px}
@media(max-width:1100px){.site-header{min-height:106px;padding:9px 16px}.brand-logo{max-width:140px;max-height:88px}.site-nav{max-height:calc(100svh - 132px)}}
@media(max-width:767px){.site-header{min-height:106px}.brand-logo{max-width:140px;max-height:88px}.page-intro,.article-head{padding-top:150px}}
@media(max-width:390px){.brand-logo{max-width:136px;max-height:85px}}
.matrix-name{display:block;color:var(--primary-dark);font-size:17px;font-weight:500;line-height:1.5}.credo-matrix-logo .matrix-name{font-size:22px}
.article-body .archive-note{padding:20px 24px;border-left:4px solid var(--primary-dark);background:var(--surface);font-size:.88em;line-height:1.7}
.exterior-section figure{margin:0}.exterior-section img{display:block;width:100%;max-height:650px;aspect-ratio:16/10;object-fit:cover;object-position:center;border:11px solid var(--surface);border-radius:14px}.exterior-section figcaption{font-size:15px;color:var(--muted);margin-top:12px}
@media(max-width:767px){.exterior-section img{aspect-ratio:4/3;border-width:8px}}

.promise-section{max-width:1000px}.promise-statement{font-size:20px;font-weight:500;line-height:1.85;margin:20px 0 28px;text-wrap:pretty}.site-footer .footer-logo,.site-footer .matrix-logo{mix-blend-mode:multiply}.site-footer .footer-social a:hover{background:#fff}
@media(max-width:767px){.promise-statement{font-size:18px;line-height:1.85}}

.hero-content .button{margin-top:48px}
@media(max-width:767px){.hero-content .button{margin-top:36px}}

/* English display lettering outside the header and footer */
.page-intro h1 span[lang="en"],.breadcrumb a:first-child{font-family:var(--font-en)}

/* Soft pastel wash behind page content. The footer keeps its solid brand color. */
main{position:relative;isolation:isolate}
main::before{content:"";position:fixed;z-index:-1;inset:-12%;pointer-events:none;background:radial-gradient(ellipse at 15% 22%,rgba(249,185,210,.58),transparent 42%),radial-gradient(ellipse at 85% 18%,rgba(255,232,191,.55),transparent 38%),radial-gradient(ellipse at 58% 78%,rgba(224,213,246,.48),transparent 42%),radial-gradient(ellipse at 12% 82%,rgba(226,241,237,.42),transparent 36%);filter:blur(36px);opacity:.58;animation:pastel-drift 32s ease-in-out infinite alternate}
@keyframes pastel-drift{0%{transform:translate3d(-3%,-2%,0) scale(1.06)}50%{transform:translate3d(3%,2%,0) scale(1.11)}100%{transform:translate3d(-1%,4%,0) scale(1.07)}}
@media(prefers-reduced-motion:reduce){main::before{animation:none}}

/* The shared header/footer logo is a wide 197 × 57 image. */
.site-header .brand-logo{width:197px;max-width:197px;max-height:none;height:auto}
@media(max-width:1100px){.site-header .brand-logo{width:180px;max-width:180px}}
@media(max-width:390px){.site-header .brand-logo{width:170px;max-width:170px}}

.footer-grid .footer-name{font-size:20px;font-weight:500;line-height:1.5;letter-spacing:.03em;margin:24px 0 6px}
.footer-grid .footer-address{margin-top:0}
