:root{--ink:#243c34;--green:#234d42;--deep:#193e34;--paper:#faf9f6;--line:#d9dfd8;--muted:#626d65;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ab7436;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65}p{line-break:strict}h2{font-size:clamp(1.8rem,2.7vw,2.65rem);letter-spacing:.075em}h3{font-size:1.75rem}.site-header{height:108px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:24px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{font-family:var(--serif);font-size:30px;width:48px;height:48px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;line-height:1}.brand-name{display:block;font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:.09em}.brand-name span{font-size:16px;margin-left:8px}.brand small{display:block;letter-spacing:.13em;font-size:10px;line-height:2.1}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{white-space:nowrap}nav a:not(.nav-contact):hover{color:#886b43}nav .nav-contact{background:var(--green);color:white;padding:14px 23px;display:flex;gap:28px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:45% 55%;position:relative;max-width:1680px;margin:auto}.hero-copy{padding:65px 20px 58px 12.4%;position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em;line-height:1.6;margin-bottom:25px;display:flex;align-items:center;gap:13px}.rule{width:28px;height:1px;background:currentColor}h1{font-size:clamp(2.8rem,4.2vw,4.6rem);letter-spacing:.1em;line-height:1.62;white-space:nowrap;margin:22px 0 25px}h1 span{display:block}.hero-lead{font-family:var(--serif);font-size:20px;letter-spacing:.09em;line-height:1.95;margin-bottom:18px}.hero-desc{font-size:14px;line-height:2.1;color:var(--muted)}.button{background:var(--green);color:white;padding:15px 26px;display:inline-flex;align-items:center;justify-content:space-between;min-width:234px;gap:40px;margin-top:30px;font-size:14px;transition:background .2s,transform .2s}.button:hover,.nav-contact:hover{background:#356451}.button:hover{transform:translateY(-2px)}.hero-secondary{font-size:12px;display:block;margin-top:19px;letter-spacing:.03em}.hero-secondary span{margin-left:17px}.hero-visual{position:relative;min-height:620px;margin:0 25px 0 0;border-radius:140px 0 0 0;overflow:hidden;background:#c4c8b7}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:62% center}.hero-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#16352855)}.image-label{position:absolute;bottom:28px;left:35px;color:white;font-size:10px;letter-spacing:.17em;z-index:1}.vertical-note{position:absolute;top:54px;right:37px;writing-mode:vertical-rl;color:white;font-family:var(--serif);font-size:18px;letter-spacing:.22em;text-shadow:0 1px 8px #132219}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:25px 5.6%;font-size:12px;letter-spacing:.11em}.hero-bottom a{font-size:10px;display:flex;gap:30px}.section{max-width:1400px;margin:auto;padding:105px 7.3%}.section-top{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:48px}.section-top .eyebrow{margin-bottom:18px}.section-top>p{font-size:14px;color:var(--muted);line-height:2}.services{padding-top:79px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:30px 28px 28px 0;display:flex;flex-direction:column}.service-card+article{padding-left:30px;border-left:1px solid var(--line)}.service-card:last-child{padding-right:0}.service-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.service-meta>span:first-child{font-family:Georgia,serif;font-size:33px;font-style:italic;font-weight:400;color:#799183}.service-meta>span:last-child{font-size:10px;letter-spacing:.13em;color:var(--muted)}.service-card h3{margin-bottom:7px;letter-spacing:.07em}.service-card .card-sub{font-family:var(--serif);font-size:16px;margin-bottom:17px;color:var(--ink)}.service-card p{font-size:14px;color:var(--muted);line-height:2}.service-card ul{list-style:none;padding:19px 0 24px;margin:0;font-size:13px;line-height:2.1}.service-card li:before{content:'—';margin-right:10px;color:#809887}.service-card>a{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-top:1px solid var(--line);padding-top:19px;margin-top:auto}.service-card>a:hover{color:#926c36}.about{display:grid;grid-template-columns:1fr 1fr;background:#eaf0e9;align-items:center;gap:8%;padding:76px 7.3%}.about-image{height:560px;position:relative;max-width:570px}.about-image img{height:100%;width:100%;object-fit:cover;object-position:80%}.about-image>span{position:absolute;left:22px;bottom:22px;font-size:10px;color:#fff;letter-spacing:.15em;text-shadow:0 1px 4px #000}.about-copy{max-width:510px;padding:10px 0}.about-copy h2{margin-bottom:29px;font-size:clamp(1.7rem,2.6vw,2.5rem)}.about-copy>p:not(.eyebrow){font-size:15px;line-height:2.3;margin-bottom:18px}.philosophy-sign{font-family:var(--serif);font-size:20px;text-align:right;margin-top:30px;letter-spacing:.07em}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin:0;padding:0}.steps li{border-top:1px solid var(--line);padding-top:22px}.step-number{font-family:Georgia,serif;font-size:31px;color:#72917e}.step-number span{font:10px var(--sans);letter-spacing:.1em;margin-left:14px;color:var(--muted)}.steps h3{font-size:22px;margin:15px 0 14px}.steps p{font-size:14px;color:var(--muted)}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding-top:80px;padding-bottom:95px}.faq h2{font-size:31px}.faq-intro{font-size:14px;margin-top:22px;color:var(--muted)}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{display:flex;align-items:center;gap:16px;padding:25px 0;cursor:pointer;list-style:none;font-size:15px}summary::-webkit-details-marker{display:none}.q{font-family:Georgia,serif;font-size:22px;color:#718b79}.plus{width:13px;height:13px;position:relative;margin-left:auto;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:6px;left:0;width:13px;height:1px;background:var(--ink)}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}details>p{padding:0 28px 25px 37px;font-size:14px;color:var(--muted);line-height:2}.contact{background:var(--deep);color:#fff;position:relative;overflow:hidden;text-align:center;padding:76px 24px 82px}.contact-inner{position:relative;z-index:1}.contact .eyebrow{justify-content:center;color:#c2d4c1}.contact h2{font-size:clamp(1.8rem,3vw,2.7rem)}.contact h2 span{display:inline-block}.contact p:not(.eyebrow){font-size:15px;margin-top:21px;color:#e1e9e1}.contact-action{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:10px}.contact-action small{font-size:12px;color:#c2d4c1}.contact-pending{padding:14px 36px;border:1px solid #759283;font-size:16px}.contact-watermark{position:absolute;bottom:-75px;right:30px;font:italic 200px Georgia,serif;opacity:.035;pointer-events:none}.site-footer{padding:49px 5.6% 23px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:25px;font-size:13px}.back-top{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center}.footer-bottom{margin-top:42px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted)}.footer-bottom p,.footer-bottom small{font-size:10px;line-height:1.8}.skip-link{position:fixed;top:-100px;left:15px;background:white;padding:10px;z-index:100}.skip-link:focus{top:15px}.entry-content{max-width:800px;margin:auto}.entry-content p{margin:1em 0}.entry-content img{height:auto}.entry-content a{text-decoration:underline}.contact-phone{font:40px Georgia,serif;letter-spacing:.04em;line-height:1.4}.contact-email{font-size:14px;border-bottom:1px solid #8aa797;margin-top:8px}.office-info{margin:30px 0 0;text-align:left;border-top:1px solid #cad5c9;padding-top:20px;font-size:13px}.office-info div{display:flex;gap:22px}.office-info dt{min-width:65px;color:var(--muted)}.office-info dd{margin:0}.extra-services{display:flex;align-items:center;flex-wrap:wrap;gap:15px 30px;margin-top:27px;font-size:13px}.extra-services a{text-decoration:underline;text-underline-offset:5px}.blog-link{display:inline-block;border-bottom:1px solid #748d79;font-size:14px;margin-top:20px}.demo-note{font-size:11px;color:var(--muted)}.admin-bar .site-header{top:32px}
@media(min-width:1600px){.hero-copy{padding-top:90px;padding-bottom:80px}.hero-visual{min-height:740px}}@media(max-width:1100px){.site-header{padding:0 4%;height:94px}nav{gap:18px;font-size:12px}.brand-name{font-size:22px}.brand-name span{font-size:14px}.brand small{font-size:9px}nav .nav-contact{padding:12px 16px;gap:14px}.hero-copy{padding:45px 16px 42px 10%}h1{font-size:3.1rem}.hero-visual{min-height:575px;margin-right:18px}.hero-desc{font-size:12px}.hero-lead{font-size:18px}.hero-secondary{font-size:12px}.section{padding:80px 6%}.section-top{align-items:flex-start}.section-top>p{max-width:320px}.about{padding:60px 6%;gap:7%}.about-image{height:530px}.service-card{padding-right:20px}.service-card+article{padding-left:20px}.service-card h3{font-size:24px}.service-meta>span:last-child{font-size:9px}.footer-links{gap:16px}}
@media(max-width:800px){html{scroll-padding-top:20px}.site-header{height:88px;padding:0 6%}.brand-name{font-size:21px}.brand-name span{font-size:13px;margin-left:6px}.brand-mark{width:39px;height:39px;font-size:25px}.brand small{font-size:8px}.menu-toggle{display:flex;gap:12px;align-items:center;padding:8px 0;background:none;border:0;font-size:12px}.menu-toggle span{font-size:22px}.js nav{display:none}.js nav.is-open{display:flex}.site-header nav{position:absolute;top:88px;left:0;right:0;padding:20px 6% 26px;background:var(--paper);flex-direction:column;align-items:stretch;box-shadow:0 20px 30px #243c3415;font-size:15px}.site-header nav a{padding:10px}.site-header nav .nav-contact{padding:14px 18px;justify-content:space-between}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:40px 12px 40px 12%}h1{font-size:clamp(2.05rem,4.8vw,3.1rem);letter-spacing:.06em}.hero .eyebrow{font-size:9px;gap:8px}.hero .rule{width:18px}.hero-lead{font-size:16px}.hero-desc{font-size:12px}.hero-visual{margin-right:0;min-height:535px;border-top-left-radius:95px}.vertical-note{right:19px;font-size:15px}.button{min-width:210px;padding:13px 19px}.image-label{left:22px;font-size:8px}.section-top{display:block}.section-top>p{max-width:none;margin-top:20px}.section{padding:66px 6%}.service-grid{grid-template-columns:1fr}.service-card,.service-card+article,.service-card:last-child{padding:27px 0;border-left:0}.service-card+article{border-top:1px solid var(--line)}.service-meta{margin-bottom:12px}.service-meta>span:last-child{font-size:11px}.service-card ul{display:flex;gap:6px 22px;flex-wrap:wrap;padding:18px 0}.service-card>a{font-size:14px}.service-card p{font-size:16px}.service-card .card-sub{font-size:17px;margin-bottom:9px}.service-card h3{font-size:28px}.about{grid-template-columns:1fr;gap:35px;padding:55px 6%}.about-image{height:350px;max-width:none}.about-copy{max-width:none}.about-copy h2{font-size:30px}.about-copy>p:not(.eyebrow){font-size:16px}.steps{gap:24px}.steps h3{font-size:19px}.steps p{font-size:14px}.step-number span{display:block;margin:7px 0 0}.faq{grid-template-columns:1fr;gap:30px}.faq .eyebrow{margin-bottom:13px}.faq-intro{margin-top:13px}.footer-main{flex-wrap:wrap}.footer-links{order:3;width:100%;font-size:13px}.footer-bottom{display:block}.footer-bottom small{display:block;margin-top:12px}.contact h2{font-size:30px}.office-info{font-size:14px}}
@media(max-width:540px){.site-header{height:80px;padding:0 6%}.site-header nav{top:80px}.brand{gap:9px}.brand-name{font-size:20px}.brand-name span{font-size:12px}.menu-toggle{font-size:11px;gap:6px}.brand small{font-size:7px;letter-spacing:.09em}.hero{display:flex;flex-direction:column}.hero-copy{padding:28px 7% 37px}.hero .eyebrow{font-size:9px;margin-bottom:13px}h1{font-size:clamp(2.45rem,10vw,3.7rem);letter-spacing:.08em;line-height:1.62;margin:13px 0 18px}.hero-lead{font-size:17px;line-height:1.9;margin-bottom:12px}.hero-desc{font-size:12px;line-height:2}.button{margin-top:23px;font-size:14px;min-width:230px}.hero-secondary{margin-top:14px;font-size:12px}.hero-visual{height:350px;min-height:0;margin-left:7%;border-radius:85px 0 0 0}.hero-visual img{object-position:64% center}.vertical-note{top:32px;right:26px;font-size:16px}.hero-bottom{padding:20px 7%;font-size:10px}.hero-bottom a{font-size:8px;gap:12px}.hero-bottom>span{letter-spacing:0}.image-label{font-size:8px;bottom:19px}.section{padding:59px 7%}h2{font-size:26px;letter-spacing:.045em}.section-top{margin-bottom:29px}.eyebrow{font-size:10px;margin-bottom:15px}.section-top>p{font-size:14px}.service-card p{line-height:1.9}.service-card ul{display:block;font-size:14px}.service-meta{margin-bottom:13px}.about{padding:45px 7%}.about-image{height:310px}.about-copy h2{font-size:26px;letter-spacing:.025em}.about-copy>p:not(.eyebrow){font-size:16px;line-height:2.1}.philosophy-sign{font-size:20px}.steps{grid-template-columns:1fr;gap:26px}.step-number span{display:inline;margin-left:14px}.steps h3{font-size:23px;margin:10px 0}.steps p{font-size:16px}.faq h2{font-size:26px}summary{font-size:15px;gap:12px;padding:21px 0}.q{font-size:20px}details>p{font-size:15px;padding:0 0 22px 30px}.contact{padding:55px 7% 62px}.contact h2{font-size:25px;line-height:1.9}.contact p:not(.eyebrow){font-size:14px}.contact-phone{font-size:35px}.contact-pending{font-size:14px;padding:14px 20px}.contact-watermark{font-size:130px;bottom:-46px;right:0}.site-footer{padding:34px 7% 20px}.footer-main{gap:25px 14px}.footer-links{gap:16px;font-size:12px;flex-wrap:wrap}.back-top{width:35px;height:35px}.footer-bottom{margin-top:25px}.footer-bottom p{font-size:10px}.office-info div{display:block;margin-top:12px}.office-info dt{font-size:12px}.extra-services{gap:15px 20px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
h2,h3{word-break:keep-all;overflow-wrap:normal}p{word-break:normal}.entry-title,.archive-title{white-space:normal;overflow-wrap:break-word;font-size:clamp(1.8rem,4vw,3rem);line-height:1.7}.journal-entry{padding:32px 0;border-bottom:1px solid var(--line)}.journal-entry h2{font-size:26px;margin:10px 0;word-break:normal}.journal-entry time{font-size:13px;color:var(--muted)}.custom-menu{display:flex;gap:26px;align-items:center;list-style:none;padding:0;margin:0}.entry-content iframe{max-width:100%}.entry-content .alignwide{max-width:100%}.entry-content table{border-collapse:collapse;display:block;overflow:auto;max-width:100%}.entry-content td,.entry-content th{border:1px solid var(--line);padding:10px}.entry-content pre{overflow:auto}.entry-content li{margin-bottom:8px}.entry-content h2{margin-top:1.4em}.entry-content h3{margin-top:1em}.entry-content ul,.entry-content ol{padding-left:1.5em}.page-numbers{display:inline-block;padding:5px 12px;margin:20px 5px 0;border:1px solid var(--line)}.page-numbers.current{background:var(--green);color:#fff}
@media(max-width:800px){.custom-menu{display:flex;flex-direction:column;align-items:stretch;gap:8px}}
@media(max-width:540px){h1{font-size:clamp(2rem,9vw,3rem)}.about-copy h2{font-size:clamp(1.3rem,6.5vw,1.625rem)}.section-top h2{font-size:clamp(1.4rem,6.5vw,1.625rem)}.contact h2{font-size:clamp(1.25rem,6vw,1.5625rem)}.brand small{font-size:8px}.contact h2 span{max-width:100%}}
.hero-desc,.section-top>p,.service-card p,.about-copy>p:not(.eyebrow),.steps p,.faq-intro,details>p{font-size:16px}.service-card .card-sub{font-size:16px}.service-card ul{font-size:14px}.contact p:not(.eyebrow):not(.demo-note){font-size:16px}
@media(min-width:801px) and (max-width:1100px){h1{font-size:clamp(2.3rem,4.7vw,3.1rem)}}
@media(min-width:541px) and (max-width:800px){h1{font-size:clamp(1.7rem,4.5vw,3.1rem)}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-lead{font-size:15px}.hero-desc{font-size:14px}.hero-copy{padding-left:10%}.button{min-width:190px}}
@media(max-width:540px){.hero-desc{font-size:14px}.hero-lead{font-size:17px}.hero-visual{height:330px}}

/* Homepage journal: chronological posts without thumbnail requirements. */
.home-journal{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding-top:10px;padding-bottom:90px}.journal-heading .eyebrow{margin-bottom:15px}.journal-heading h2{font-size:34px}.journal-heading>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:18px;line-height:2}.journal-all{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #91a497;padding:0 0 8px;margin-top:28px;font-size:14px}.journal-all:hover{color:#886b43}.journal-posts{border-top:1px solid var(--line)}.home-post{border-bottom:1px solid var(--line)}.home-post-link{position:relative;display:block;padding:24px 42px 25px 0;transition:background .2s,padding .2s}.home-post-link:hover{background:#eaf0e9;padding-left:14px}.home-post-meta{display:flex;align-items:center;gap:22px;font-size:12px;color:var(--muted);letter-spacing:.04em}.home-post-meta span{font-size:12px;letter-spacing:0;border-left:1px solid var(--line);padding-left:20px}.home-post h3{font-family:var(--serif);font-size:21px;line-height:1.8;letter-spacing:.03em;word-break:normal;overflow-wrap:break-word;margin-top:9px}.journal-empty{padding:28px 0;color:var(--muted)}.home-post-excerpt{margin-top:12px;color:var(--muted);font-size:15px;line-height:1.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.home-post-more{display:inline-block;margin-top:14px;padding-bottom:4px;border-bottom:1px solid #91a497;font-size:13px}.home-post--featured .home-post-link{padding-bottom:6px}
@media(max-width:800px){.home-journal{padding-top:0;grid-template-columns:1fr;gap:28px;padding-bottom:65px}.journal-heading h2{font-size:30px}.journal-heading>p:not(.eyebrow){margin-top:13px}.journal-all{margin-top:19px}.home-post h3{font-size:21px}}
@media(max-width:540px){.home-journal{padding-top:0;padding-bottom:55px}.journal-heading h2{font-size:28px}.home-post-link{padding:21px 32px 22px 0}.home-post h3{font-size:19px}.home-post-meta{gap:15px}.home-post-meta span{padding-left:15px}}

/* Small interaction cues complement the one-time scroll reveals. */
@keyframes kubo-menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes kubo-answer-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .menu-toggle>span[aria-hidden]{transition:transform .25s ease}
 .menu-toggle[aria-expanded="true"]>span[aria-hidden]{transform:rotate(45deg)}
 .button>span,.nav-contact>span,.journal-all>span,.service-card>a>span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
 .button:hover>span,.button:focus-visible>span,.nav-contact:hover>span,.journal-all:hover>span,.service-card>a:hover>span{transform:translate(3px,-3px)}
 details[open]>p{animation:kubo-answer-enter .28s ease-out}
 .back-top{transition:background .25s ease,color .25s ease,transform .25s ease}
 .back-top:hover{background:var(--green);color:#fff;transform:translateY(-3px)}
}
@media(max-width:800px) and (prefers-reduced-motion:no-preference){.js nav.is-open{animation:kubo-menu-enter .24s ease-out}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
@media print{*,*:before,*:after{animation:none!important;transition:none!important}}

/* Telephone and fax remain visible above the main content. */
.site-header{height:auto;min-height:108px;padding-top:18px;padding-bottom:18px;gap:24px}
.site-header>.brand{order:1}.site-header>nav{order:2}.header-contact{order:3;flex-shrink:0;line-height:1.55;text-align:right}.header-phone{display:block;font-size:20px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.025em}.header-phone>span,.header-fax>span{font-size:12px;letter-spacing:.06em;margin-right:5px}.header-fax{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}
.service-card h3{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.75}.service-term{white-space:nowrap}.service-card:nth-child(3n+1){border-left:0;padding-left:0}.service-card:nth-child(3n){padding-right:0}.service-card:nth-child(n+4){border-top:1px solid var(--line)}
.philosophy-sign{text-align:right}.philosophy-sign>.signature-roles{font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.025em;word-break:keep-all}.philosophy-sign>.signature-volunteer{font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:0;word-break:keep-all;margin-top:4px;color:var(--muted)}.philosophy-sign>.signature-name{font-family:var(--serif);font-size:26px;line-height:1.8;letter-spacing:.15em;margin-top:15px}.contact .contact-action>p.contact-fax{font-size:16px;margin:0;letter-spacing:.04em}
@media(min-width:801px) and (max-width:1180px){.site-header{flex-wrap:wrap;row-gap:12px}.header-contact{order:2;margin-left:auto}.site-header>nav{order:3;flex-basis:100%;justify-content:flex-end;gap:25px}.site-header nav a{font-size:14px}.site-header nav .nav-contact{padding:9px 18px}}
@media(max-width:800px){.site-header{height:auto;min-height:0;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:13px}.site-header>.menu-toggle{order:2;margin-left:auto}.header-contact{order:3;flex-basis:100%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;border-top:1px solid var(--line);padding-top:10px;text-align:left}.header-phone{font-size:20px}.site-header>nav{order:4;top:100%}.service-card:nth-child(n){padding:27px 0;border-left:0;border-top:1px solid var(--line)}.service-card:first-child{border-top:0}.service-card h3{font-size:26px}.philosophy-sign{text-align:left}}
@media(max-width:540px){.service-card h3{font-size:clamp(1.3rem,5.6vw,1.625rem)}.header-phone{font-size:19px}.header-fax{font-size:13px}.philosophy-sign>.signature-name{font-size:25px}.philosophy-sign>.signature-roles,.philosophy-sign>.signature-volunteer{font-size:14px}}

.phrase{display:inline-block;white-space:nowrap}
@media(max-width:540px){.site-header{column-gap:6px}.menu-toggle{line-height:1.4;min-height:44px}.menu-toggle>span{line-height:1}}

@media(max-width:540px){.hero-bottom{flex-wrap:wrap;row-gap:12px}.hero-bottom>span{flex-basis:100%}.hero-bottom>a{margin-left:auto}}

.signature-unit{display:inline-block;white-space:nowrap}

/* Keep the revised two-line headline inside its column at every width. */
.hero-copy h1{font-size:clamp(1.5rem,3.3vw,3.45rem);letter-spacing:.035em}
@media(min-width:541px) and (max-width:800px){.hero-copy h1{font-size:clamp(1.25rem,4vw,2rem)}}
@media(max-width:540px){.hero-copy h1{font-size:clamp(1.55rem,8vw,2.7rem)}}

/* Supplied portrait: preserve the full photograph and its natural proportions. */
.about-portrait{margin:10px 0 0;width:100%;max-width:570px;align-self:start;background:var(--paper);padding:18px 18px 0}
.about-portrait img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.about-portrait figcaption{display:flex;flex-direction:column;gap:8px;padding:23px 5px 25px}
.about-portrait figcaption span:first-child{font-size:12px;letter-spacing:.17em;color:var(--muted)}
.about-portrait figcaption span:last-child{font-family:var(--serif);font-size:clamp(1rem,1.45vw,1.2rem);letter-spacing:.025em;word-break:keep-all}
@media(max-width:800px){.about-portrait{max-width:570px;margin:0 auto}.about-portrait figcaption span:last-child{font-size:18px}}
@media(max-width:540px){.about-portrait{padding:12px 12px 0}.about-portrait figcaption{padding:18px 2px 20px}.about-portrait figcaption span:last-child{font-size:16px}}

/* Keep both people fully visible, with captions below the supplied photograph. */
.hero-visual--office{align-self:center;min-height:0;height:auto;border-radius:64px 0 0 0;background:transparent}
.hero-visual--office img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}
.hero-visual--office:after{display:none}
.office-photo-caption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 20px;padding:18px 0;border-bottom:1px solid var(--line)}
.office-photo-caption .image-label,.office-photo-caption .vertical-note{position:static;writing-mode:horizontal-tb;color:var(--ink);text-shadow:none}
.office-photo-caption .image-label{font-family:var(--sans);font-size:13px;letter-spacing:.1em}
.office-photo-caption .vertical-note{font-size:17px;letter-spacing:.08em;white-space:nowrap}
@media(max-width:540px){.hero-visual--office{width:86%;margin:0 7%;border-radius:36px 0 0 0}.office-photo-caption{gap:8px 12px;padding:14px 0}.office-photo-caption .vertical-note{font-size:15px;letter-spacing:.025em}}

/* Responsive masthead: a typographic wordmark and a grouped contact area. */
.site-header{height:auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:16px 40px;padding:23px 5.6% 19px;min-height:0;border-top:3px solid var(--green);border-bottom:1px solid var(--line)}
.header-brand{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;border-left:2px solid var(--green);padding-left:19px;color:var(--ink)}
.header-brand-role{font-size:13px;letter-spacing:.23em;line-height:1.6}
.header-brand-name{font-family:var(--serif);font-size:32px;letter-spacing:.18em;line-height:1.7;white-space:nowrap}
.header-brand-en{font-size:10px;letter-spacing:.12em;line-height:1.7;color:var(--muted)}
.header-actions{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:26px;min-width:0}
.site-header .header-contact{order:0;display:block;flex:initial;border:0;padding:0;margin:0;text-align:right;line-height:1.4}
.site-header .header-phone{font-size:25px;letter-spacing:.035em;line-height:1.3;font-weight:500}
.site-header .header-phone>span{font-size:11px;letter-spacing:.1em;margin-right:9px}
.site-header .header-fax{font-size:13px;letter-spacing:.035em;margin-top:5px}
.site-header .header-fax>span{font-size:11px;margin-right:7px}
.header-inquiry{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:52px;padding:12px 23px;background:var(--green);color:#fff;border:1px solid var(--green);font-size:14px;white-space:nowrap;transition:background .2s}
.header-inquiry:hover{background:var(--deep)}
.site-header #navigation{grid-column:2;grid-row:2;position:static;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:30px;padding:0;margin:0;box-shadow:none;background:transparent;font-size:14px}
.site-header #navigation>a,.site-header #navigation .custom-menu a{display:inline-block;padding:5px 0;line-height:1.6;position:relative}
.site-header #navigation a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-header #navigation a:hover:after,.site-header #navigation a:focus-visible:after{transform:scaleX(1)}
.site-header #navigation .custom-menu{gap:30px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1100px){.site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;padding:16px 6% 14px;gap:17px 12px}.header-brand{grid-column:1;grid-row:1;padding-left:13px}.header-brand-role{font-size:12px;letter-spacing:.16em}.header-brand-name{font-size:27px;line-height:1.65}.header-brand-en{font-size:9px;letter-spacing:.08em}.site-header>.menu-toggle{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:0;min-width:48px;min-height:48px;margin:0;padding:4px;font-size:11px}.site-header>.menu-toggle>span:last-child{font-size:25px;line-height:1.2}.header-actions{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:13px}.site-header .header-contact{text-align:left}.site-header .header-phone{font-size:21px}.site-header .header-fax{font-size:12px;margin-top:4px}.header-inquiry{min-height:46px;padding:10px 16px;gap:13px;font-size:13px}.site-header #navigation{grid-column:1/-1;grid-row:3;flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.site-header #navigation>a,.site-header #navigation .custom-menu a{padding:13px 0;font-size:15px}.site-header #navigation .custom-menu{flex-direction:column;align-items:stretch;gap:0}.js .site-header #navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 6% 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 24px #243c3412}.js .site-header #navigation.is-open{display:flex}}
@media(max-width:360px){.site-header .header-phone{font-size:18px}.site-header .header-phone>span{font-size:10px;margin-right:5px}.header-inquiry{font-size:12px;padding:10px;gap:9px}.header-brand-name{font-size:26px}}

.site-header .menu-toggle .menu-label{font-size:11px;line-height:1.5;transform:none}

.header-inquiry{justify-content:center;gap:0;min-width:152px}
@media(max-width:1100px){.header-inquiry{min-width:126px}}
@media(max-width:360px){.header-inquiry{min-width:110px}}

/* Text-only links and controls. */
.button{justify-content:center;gap:0}
.hero-bottom a,.journal-all,.service-card>a{gap:0}
.home-post-link{padding-right:0}
.back-top{width:auto;height:auto;min-height:44px;padding:8px 14px;font-size:12px;white-space:nowrap}

/* Keep the desktop navigation and contact details on one row. */
@media(min-width:1101px){
.site-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;gap:24px;padding:21px 4%;}
.header-brand{grid-row:1;grid-column:1;}
.header-brand-name{font-size:29px;}
.site-header #navigation{grid-row:1;grid-column:2;gap:22px;}
.site-header #navigation .custom-menu{gap:22px;}
.header-actions{grid-row:1;grid-column:3;gap:22px;}
.site-header .header-phone{font-size:22px;}
.header-inquiry{min-width:136px;padding-inline:20px;}
}
@media(min-width:801px) and (max-width:1100px){.site-header>.menu-toggle{border:0;background:transparent;color:var(--ink);align-items:center;cursor:pointer;}}

.home-post h3{text-wrap:pretty}

/* Share content rows so all three service lists start at the same height. */
@media(min-width:801px){
.service-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;}
.service-card>a{margin-top:0;align-self:start;}
}

/* Instant-photo frame: square corners, a white border, and a generous caption area. */
.hero-visual--office{border-radius:0;background:#fff;padding:18px 18px 0;margin:28px 36px 28px 14px;border:1px solid #e7e5df;box-shadow:0 14px 32px #243c3412,0 2px 5px #243c3408;overflow:visible;}
.hero-visual--office img{border-radius:0;}
.hero-visual--office .office-photo-caption{border:0;padding:23px 6px 30px;gap:8px 16px;}
.hero-visual--office .image-label{font-size:12px;color:var(--muted);}
.hero-visual--office .vertical-note{font-size:16px;letter-spacing:.04em;}
@media(min-width:541px) and (max-width:800px){.hero-visual--office{padding:14px 14px 0;margin:24px 20px 24px 0;}.hero-visual--office .office-photo-caption{flex-direction:column;align-items:center;padding:18px 0 23px;}.hero-visual--office .vertical-note{font-size:14px;}}
@media(max-width:540px){.hero-visual--office{width:86%;margin:10px 7% 22px;padding:12px 12px 0;box-shadow:0 8px 20px #243c3412,0 1px 3px #243c3408;}.hero-visual--office .office-photo-caption{flex-direction:column;align-items:center;gap:5px;padding:17px 0 23px;}.hero-visual--office .vertical-note{font-size:14px;letter-spacing:.02em;}}

.hero-visual--office .office-photo-caption{justify-content:center}

/* Editorial layout: restrained typography, open columns, and readable office information. */
:root{--ink:#293d35;--green:#355649;--deep:#29483c;--paper:#fcfbf8;--line:#dcded7;--muted:#647068;}
.site-header{border-top:0;padding-block:18px;border-bottom:1px solid var(--line);}
.header-brand{border:0;padding-left:0;}
.header-brand-name{font-size:28px;letter-spacing:.12em;line-height:1.65;}
.header-brand-role{font-size:12px;letter-spacing:.12em;}
.header-brand-en{font-size:12px;letter-spacing:.09em;}
.header-inquiry{background:transparent;color:var(--ink);border-color:#a7b3a8;min-height:46px;}
.header-inquiry:hover{background:var(--green);color:#fff;}
.hero{max-width:1180px;grid-template-columns:1fr 1fr;align-items:center;padding:48px 40px 34px;gap:40px;}
.hero-copy{padding:0;}
.hero-copy h1{font-size:clamp(30px,3.05vw,40px);line-height:1.7;letter-spacing:.045em;margin:24px 0;}
.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:400;color:var(--muted);margin-bottom:18px;}
.hero-copy .eyebrow{font-size:14px;letter-spacing:.04em;}
.hero-copy .eyebrow .rule{display:none;}
.hero-lead{font-size:18px;letter-spacing:.025em;line-height:1.9;margin-bottom:18px;}
.hero-desc{font-size:15px;line-height:2;}
.hero-copy .button{min-width:190px;padding:12px 24px;margin-top:25px;}
.hero-visual--office{width:100%;max-width:510px;min-height:0;height:auto;margin:0;justify-self:end;padding:14px 14px 0;border-radius:0;box-shadow:0 8px 22px #293d350c,0 1px 3px #293d3508;}
.hero-visual--office .office-photo-caption{padding:19px 0 26px;}
.hero-visual--office .vertical-note{font-size:14px;letter-spacing:.07em;}
.section{max-width:1180px;padding:66px 40px;}
h2{font-size:30px;letter-spacing:.035em;line-height:1.65;}
.section-top{gap:32px;margin-bottom:32px;}
.section-top .eyebrow{margin-bottom:13px;}
.section-top>p{font-size:15px;line-height:1.9;}
.service-grid{column-gap:34px;border-bottom:0;}
.service-card:nth-child(n){border-left:0;padding:24px 0 30px;}
.service-card:nth-child(n+4){border-top:1px solid var(--line);}
.service-meta{margin-bottom:12px;}
.service-meta>span:first-child{font:500 13px var(--sans);color:#877460;letter-spacing:.08em;}
.service-card h3{font-size:22px;letter-spacing:.025em;line-height:1.7;margin-bottom:10px;}
.service-card .card-sub{font-size:15px;margin-bottom:16px;color:#647068;}
.service-card p{font-size:15px;line-height:2;}
.service-card ul{font-size:14px;padding-top:18px;padding-bottom:22px;}
.service-card>a{font-size:13px;padding-top:13px;}
.extra-services{margin-top:8px;font-size:16px;line-height:1.8;gap:18px 32px;}
.extra-service-unit{display:inline-block;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;}
.home-journal{width:calc(100% - 80px);max-width:1100px;margin:12px auto 68px;padding:32px 0;grid-template-columns:.65fr 1.35fr;gap:52px;border-block:1px solid var(--line);}
.journal-heading h2{font-size:32px;letter-spacing:.06em;}
.journal-heading>p:not(.eyebrow){font-size:15px;line-height:1.9;}
.journal-all{margin-top:24px;font-size:14px;}
.journal-posts{border-top:0;}
.home-post:last-child{border-bottom:0;}
.home-post-link{padding:17px 0 20px;}
.home-post:first-child .home-post-link{padding-top:0;}
.home-post-meta{font-size:13px;}
.home-post h3{font-size:20px;letter-spacing:.025em;}
.about{max-width:1180px;margin:auto;padding:0 40px 65px;grid-template-columns:.8fr 1.2fr;align-items:start;gap:64px;background:transparent;}
.about-portrait{margin:4px 0 0;padding:12px 12px 0;background:#fff;border:1px solid #e7e5df;}
.about-portrait figcaption{padding:18px 3px 21px;gap:6px;}
.about-portrait figcaption span:first-child{font-size:14px;letter-spacing:.05em;}
.about-portrait figcaption span:last-child{font-size:16px;line-height:1.9;}
.about-copy{max-width:none;padding:0;}
.about-copy h2{font-size:28px;letter-spacing:.03em;margin-bottom:24px;}
.about-copy>p:not(.eyebrow){font-size:15px;line-height:2.1;}
.philosophy-sign{margin-top:26px;}
.signature-name{font-size:26px;}
.flow{border-top:1px solid var(--line);padding-top:46px;padding-bottom:54px;}
.steps{gap:34px;}
.steps li{padding-top:15px;}
.step-number{font:500 13px var(--sans);color:#877460;letter-spacing:.08em;}
.steps h3{font-size:20px;margin:12px 0;}
.steps p{font-size:15px;line-height:1.9;}
.contact{padding:40px;background:#f0f2ed;color:var(--ink);text-align:left;border-block:1px solid var(--line);}
.contact-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;}
.contact h2{font-size:27px;letter-spacing:.03em;}
.contact p:not(.eyebrow):not(.demo-note){font-size:15px;color:var(--muted);line-height:1.9;margin-top:18px;}
.contact-action{margin-top:0;gap:7px;align-items:flex-start;}
.contact-phone{font:500 30px var(--sans);letter-spacing:.03em;}
.contact .contact-action>p.contact-fax{font-size:14px;color:var(--muted);}
.contact-action small{font-size:13px;color:var(--muted);}
.contact-email{font-size:14px;margin-top:8px;border-color:#879689;}
.contact .contact-action .demo-note{font-size:11px;color:var(--muted);margin-top:8px;}
.site-footer{max-width:1180px;margin:auto;padding:35px 40px 20px;}
.footer-bottom{margin-top:28px;}
@media(min-width:801px) and (max-width:1100px){
.hero{gap:26px;padding:36px 6% 26px;}.hero-copy h1{font-size:clamp(27px,3.15vw,34px);}.hero-lead{font-size:16px;}.hero-desc{font-size:14px;}.hero-copy .eyebrow{font-size:12px;}.section{padding-inline:6%;}.section-top{align-items:start;flex-direction:column;gap:18px;}.service-grid{column-gap:24px;}.service-card h3{font-size:20px;}.service-card p{font-size:15px;}.home-journal{width:88%;padding-inline:0;}.about{padding-inline:6%;gap:35px;}.about-copy h2{font-size:24px;}.contact-inner{gap:30px;}.contact h2{font-size:24px;}}
@media(max-width:800px){
.site-header{padding:15px 6% 13px;}.header-brand-name{font-size:27px;}.hero{display:grid;grid-template-columns:1fr;padding:32px 7% 20px;gap:30px;}.hero-copy{padding:0;}.hero-copy h1{font-size:34px;}.hero-visual--office{width:100%;max-width:480px;margin:0;justify-self:center;}.section{padding:44px 7%;}.section-top{gap:18px;margin-bottom:26px;}h2{font-size:27px;}.service-grid{column-gap:0;}.service-card:nth-child(n){padding:24px 0;}.service-card h3{font-size:24px;}.service-card p{font-size:16px;}.service-card .card-sub{font-size:16px;}.service-card ul{display:block;font-size:14px;}.service-card>a{font-size:14px;}.home-journal{width:86%;margin:10px auto 46px;padding:28px 0;grid-template-columns:1fr;gap:28px;}.journal-heading h2{font-size:29px;}.home-post h3{font-size:20px;}.home-post-link{padding-block:18px;}.about{padding:0 7% 44px;grid-template-columns:1fr;gap:28px;}.about-portrait{max-width:440px;margin:0 auto;}.about-copy h2{font-size:27px;}.about-copy>p:not(.eyebrow){font-size:16px;}.steps p{font-size:16px;}.contact{padding:32px 7%;}.contact-inner{grid-template-columns:1fr;gap:25px;}.contact h2{font-size:25px;}.contact p:not(.eyebrow):not(.demo-note){font-size:16px;}.contact-action{padding-top:22px;border-top:1px solid #d3d9ce;}.site-footer{padding:30px 7% 20px;}}
@media(max-width:540px){
.hero-copy h1{font-size:clamp(25px,7.3vw,33px);margin:20px 0;}.hero-copy .eyebrow{font-size:12px;letter-spacing:.015em;}.hero-lead{font-size:17px;}.hero-desc{font-size:14px;}.hero-visual--office{padding:12px 12px 0;}.hero-visual--office .office-photo-caption{padding:19px 0 23px;}.hero-visual--office .vertical-note{font-size:14px;}h2{font-size:25px;}.about-copy h2{font-size:24px;}.service-card h3{font-size:24px;}.steps{gap:23px;}.contact-phone{font-size:28px;}.footer-main{gap:22px 12px;}}

.service-card p,.steps p,.about-copy>p:not(.eyebrow),.journal-heading>p:not(.eyebrow){font-size:16px}

/* Office photograph and caption matching the representative portrait. */
.about-photos{min-width:0;width:100%;align-self:start;}
.about-scene{width:100%;margin:26px auto 0;padding:12px 12px 0;background:#fff;border:1px solid #e7e5df;}
.about-scene img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 42%;}
@media(max-width:800px){.about-photos{max-width:440px;margin:0 auto;}.about-scene{margin-top:22px;}}

/* Give the main photograph more presence while keeping its full composition. */
@media(min-width:1101px){.hero{max-width:1240px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}.hero-visual--office{max-width:600px;}}
@media(min-width:541px) and (max-width:800px){.hero-visual--office{max-width:560px;}}

.about-scene figcaption{padding:18px 3px 21px;font-family:var(--serif);font-size:16px;line-height:1.9;letter-spacing:.025em;}

/* Make fax contact details easy to find and read. */
.site-header .header-fax{font-size:18px;font-weight:500;color:var(--ink);}
.site-header .header-fax>span{font-size:13px;}
.contact .contact-action>p.contact-fax{font-size:22px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;line-height:1.5;}
.office-info .office-fax{align-items:baseline;}
.office-info .office-fax dd{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums;}
.office-info .office-fax dt{font-size:14px;color:var(--ink);}
@media(max-width:540px){.site-header .header-fax{font-size:16px;}.site-header .header-fax>span{font-size:12px;}.contact .contact-action>p.contact-fax{font-size:20px;}}

.contact-phone{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;}
.contact-phone-label{font-size:22px;}
@media(max-width:540px){.contact-phone-label{font-size:20px;}}

/* Personal snapshots keep the site grounded in real moments without crowding the service content. */
.snapshot-section{max-width:1180px;margin:0 auto 72px;padding:0 40px;}
.snapshot-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px;padding-top:30px;border-top:1px solid var(--line);}
.snapshot-head .eyebrow{margin:0;}
.snapshot-head h2{font-size:24px;letter-spacing:.035em;}
.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;}
.snapshot-photo{margin:0;padding:9px;background:#fff;border:1px solid #e7e5df;box-shadow:0 8px 22px #293d3508;}
.snapshot-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.snapshot-photo--training img{object-fit:contain;object-position:center;}
.snapshot-photo--journey img{object-position:center 42%;}
@media(max-width:800px){.snapshot-section{margin-bottom:50px;padding:0 7%;}.snapshot-head{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:18px;padding-top:24px;}.snapshot-head h2{font-size:23px;}.snapshot-grid{grid-template-columns:1fr;gap:15px;}.snapshot-photo{padding:8px;}}


/* Latest article preview: preserve the rhythm of a real journal entry. */
.home-journal{grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);gap:60px;}
.journal-posts{min-width:0;}
.journal-feature{padding-top:0;}
.journal-feature .home-post-meta{margin-bottom:13px;}
.journal-feature h3{font-family:var(--serif);font-size:clamp(25px,2.15vw,32px);line-height:1.55;letter-spacing:.035em;text-wrap:pretty;}
.journal-feature h3 a{transition:color .2s ease;}
.journal-feature h3 a:hover{color:#6f5a3f;}
.journal-feature-body{max-width:860px;margin-top:20px;color:var(--ink);}
.journal-feature-body p{font-size:15px;line-height:2;margin-top:0;}
.journal-feature-body p+p{margin-top:12px;}
.journal-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:24px;}
.journal-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#e9ece7;}
.journal-feature .home-post-more{margin-top:22px;}
@media(max-width:800px){
 .home-journal{grid-template-columns:1fr;gap:30px;}
 .journal-feature h3{font-size:25px;}
 .journal-feature-body p{font-size:16px;line-height:2;}
 .journal-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
}
@media(max-width:540px){
 .journal-feature h3{font-size:22px;line-height:1.65;}
 .journal-feature-body{margin-top:16px;}
 .journal-feature-body p{font-size:15px;line-height:1.95;}
 .journal-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Give the journal a distinct editorial band without card styling. */
.home-journal{width:100%;max-width:none;margin:18px 0 76px;padding:58px max(40px,calc((100% - 1100px)/2));grid-template-columns:minmax(210px,.48fr) minmax(0,1.52fr);gap:58px;background:#eef2ec;border-block:1px solid #d7ded5;}
.journal-heading{padding-right:42px;border-right:1px solid #cfd8ce;}
.journal-heading h2{font-size:38px;color:var(--green);}
.journal-latest-label{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#6f806f;font-size:11px;font-weight:700;letter-spacing:.17em;}
.journal-latest-label span{font-size:11px;font-weight:500;letter-spacing:.08em;}
.journal-feature h3{font-size:clamp(29px,2.5vw,36px);color:var(--green);}
.journal-feature-body{margin-top:22px;}
.journal-gallery{gap:10px;margin-top:28px;}
.journal-feature .home-post-more{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:24px;padding:11px 24px;border:0;background:var(--green);color:#fff;font-size:14px;transition:background .2s ease;}
.journal-feature .home-post-more:hover{background:#173c33;color:#fff;}
@media(max-width:800px){
 .home-journal{width:100%;margin:10px 0 52px;padding:42px 7%;grid-template-columns:1fr;gap:30px;}
 .journal-heading{padding:0 0 28px;border-right:0;border-bottom:1px solid #cfd8ce;}
 .journal-heading h2{font-size:34px;}
 .journal-feature h3{font-size:28px;}
}
@media(max-width:540px){
 .home-journal{padding-block:36px;margin-bottom:44px;}
 .journal-heading h2{font-size:31px;}
 .journal-latest-label{margin-bottom:12px;}
 .journal-feature h3{font-size:23px;}
 .journal-gallery{gap:7px;margin-top:22px;}
 .journal-feature .home-post-more{width:100%;margin-top:20px;}
}

/* Client-confirmed content from the 2026-10-02 review sheet. */
.header-brand-role{white-space:nowrap;letter-spacing:.06em}
.hero-title-unit{display:inline;white-space:nowrap}
.hero-copy h1>span:first-child{white-space:nowrap}
.journal-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
.journal-links .journal-all{margin-top:0}
.about-dialogue{margin:24px 0;padding:19px 0;border-block:1px solid var(--line)}
.about-copy .about-dialogue p{display:grid;grid-template-columns:8.2em minmax(0,1fr);gap:14px;margin:0;font-size:15px;line-height:1.9}
.about-copy .about-dialogue p+p{margin-top:6px}
.about-dialogue strong{font-family:var(--serif);font-weight:500;color:var(--green)}
.steps{row-gap:34px}
.office-info a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:1100px){.header-brand-role{font-size:10px}.header-brand-name{font-size:25px}}
@media(max-width:540px){
 .header-brand-role{font-size:9px;letter-spacing:.035em}
 .hero-copy h1{font-size:clamp(22px,6.7vw,32px);white-space:normal}
 .about-copy .about-dialogue p{grid-template-columns:1fr;gap:1px;font-size:15px}
 .about-copy .about-dialogue p+p{margin-top:10px}
}

.journal-links .journal-facebook{gap:9px;}
.facebook-icon{width:22px;height:22px;flex:none;}

/* Provided photographs accompany the three areas requested in the client PDF. */
.hero-photo-stack{width:100%;min-width:0;justify-self:end;max-width:600px;}
.hero-photo-stack .hero-visual--office{max-width:none;}
.provided-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.provided-photo{margin:0;padding:9px;border:1px solid #e7e5df;background:#fff;min-width:0;}
.provided-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;}
.hero-companion-photos{margin-top:20px;}
.about-photos>.provided-photo{margin-top:26px;}

@media(max-width:800px){.hero-photo-stack{max-width:560px;justify-self:center;}.provided-photo-grid{gap:14px;}}
@media(max-width:540px){.hero-photo-stack{max-width:480px;}.provided-photo-grid{grid-template-columns:1fr;}.hero-companion-photos{margin-top:16px;}.provided-photo{padding:8px;}.about-photos>.provided-photo{margin-top:22px;}}

/* HP改訂-3: three photo groups, with all faces and original photographs visible. */
.hero--personal{display:block;max-width:1180px;padding:44px 40px 0;}
.hero-opening{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;align-items:center;margin-bottom:34px;}
.hero--personal .hero-copy{padding:0;}
.hero--personal h1{font-size:clamp(26px,3vw,38px);letter-spacing:.05em;white-space:normal;margin:0 0 20px;line-height:1.75;}
.hero--personal .hero-lead{font-size:21px;margin-bottom:12px;}
.hero--personal .hero-desc{font-size:16px;line-height:2;}
.hero--personal .button{min-width:190px;margin-top:22px;font-size:16px;}
.hero-office-details{padding:20px 0 20px 28px;border-left:1px solid var(--line);font-size:14px;line-height:2.1;color:var(--muted);}
.hero-office-details .hero-office-name{font-family:var(--serif);font-size:22px;margin-bottom:14px;color:var(--ink);}
.hero-office-details>a{display:inline-block;margin-top:12px;font-size:15px;border-bottom:1px solid #96a59b;}
.client-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;min-width:0;}
.client-photo{margin:0;padding:10px;border:1px solid #e4e3de;background:#fff;min-width:0;}
.client-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;}
.community-gallery{margin-bottom:42px;}
.community-activities{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);}
.community-activities h3{font-size:22px;margin-bottom:12px;}
.community-activities p{font-size:16px;color:var(--muted);line-height:2.1;}
.about{align-items:start;}
.conversation-gallery{grid-template-columns:1fr;gap:18px;padding-top:14px;max-width:360px;width:100%;}
.conversation-gallery .client-photo img{aspect-ratio:3/4;}
.about-copy{padding-top:0;}
.about-copy>p:not(.eyebrow),.about-copy .about-dialogue p{font-size:16px;}
@media(max-width:1000px){
 .hero-opening{grid-template-columns:minmax(0,1fr) 260px;gap:28px;}
 .hero-office-details{padding-left:20px;}
 .conversation-gallery{grid-template-columns:1fr;max-width:360px;}
}
@media(max-width:800px){
 .hero--personal{padding:30px 7% 0;}
 .hero-opening{grid-template-columns:1fr;gap:24px;margin-bottom:26px;}
 .hero-office-details{border-left:0;border-top:1px solid var(--line);padding:18px 0 0;}
 .hero-office-details .hero-office-name{font-size:20px;margin-bottom:8px;}
 .client-gallery{gap:14px;}
 .conversation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;}
 .about-copy{grid-row:1;}
 .conversation-gallery{grid-row:2;}
 .community-gallery{margin-bottom:28px;}
 .hero--personal h1{font-size:clamp(22px,5.7vw,36px);}
}
@media(max-width:540px){
 .client-gallery{grid-template-columns:1fr;gap:16px;}
 .client-photo{padding:9px;}
 .intro-gallery,.community-gallery{max-width:400px;margin-inline:auto;}
 .hero--personal .hero-lead{font-size:19px;letter-spacing:.03em;}
 .hero--personal .hero-desc{font-size:16px;}
 .hero-office-details{font-size:14px;}
 .hero-office-details .hero-office-name{font-size:19px;}
 .conversation-gallery{max-width:330px;margin-inline:auto;width:100%;}
 .community-activities h3{font-size:20px;}
 .header-brand-role{font-size:9px;letter-spacing:0;}
}

/* 2026-10-11: concise service introductions and three equally prominent roles. */
.service-card{grid-template-rows:subgrid;grid-row:span 4;}
.additional-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:12px;padding-top:32px;border-top:1px solid var(--line);}
.additional-service{min-width:0;}
.additional-service h3{font-family:var(--serif);font-size:24px;line-height:1.7;letter-spacing:.025em;margin:0 0 16px;font-weight:500;}
.additional-service .card-sub{font-family:var(--serif);font-size:15px;line-height:2;color:#647068;}
.additional-service p{font-size:16px;line-height:2;color:var(--muted);margin:0;}
@media(max-width:1000px) and (min-width:801px){.additional-services{gap:24px;}.additional-service h3{font-size:21px;}}
@media(max-width:800px){.additional-services{grid-template-columns:1fr;gap:28px;padding-top:28px;}.additional-service+.additional-service{border-top:1px solid var(--line);padding-top:26px;}.additional-service h3{font-size:24px;margin-bottom:10px;}}

@media(max-width:800px){.service-phrase{display:inline-block;white-space:nowrap;}}

.additional-service .additional-service-description{margin-top:18px;}
.role-phrase{display:inline-block;white-space:nowrap;}

/* Contact numbers sit beneath the office name in the introduction. */
.hero-office-contact{display:grid;gap:6px;margin:0 0 18px;color:var(--ink);}
.hero-office-contact>a,.hero-office-contact>p{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:baseline;gap:9px;font:500 24px/1.5 var(--sans);letter-spacing:.015em;margin:0;white-space:nowrap;}
.hero-office-contact>a>span:first-child,.hero-office-contact>p>span:first-child{font-size:13px;letter-spacing:.07em;}
.hero-office-contact>a:hover{color:var(--green);}
@media(max-width:1100px){.header-actions{justify-content:flex-end;}}

@media(max-width:800px){.additional-service .card-sub{font-size:16px;}}

/* Finishing: shared text baselines, readable subheads and a calm reading rhythm. */
.service-card .card-sub,.additional-service .card-sub{font-size:16px;line-height:1.85;color:#526258;}
.service-card p,.additional-service p{line-height:1.95;}
.additional-services{column-gap:34px;margin-top:8px;padding-top:34px;}
.additional-service .additional-service-description{margin-top:20px;}
.additional-service .community-note{display:block;margin-top:12px;font-size:15px;line-height:1.9;}
@media(min-width:801px){
 .additional-service{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;align-content:start;}
 .additional-service h3{margin-bottom:10px;}
 .additional-service .card-sub{margin-bottom:20px;}
 .additional-service .additional-service-description{margin-top:0;}
 .service-card:nth-child(n){padding-block:28px 32px;}
}
@media(min-width:801px) and (max-width:1000px){.additional-services{column-gap:24px;}.role-phrase{display:inline;white-space:normal;}}
@media(max-width:800px){
 .additional-services{padding-top:30px;gap:30px;}
 .additional-service+.additional-service{padding-top:30px;}
 .additional-service h3{margin-bottom:12px;}
 .additional-service .additional-service-description{margin-top:18px;}
}

/* Each conversational phrase reads as one continuous sentence. */
.about-copy .about-dialogue p{display:block;}

/* Additional candid photos, below the profile; preserve the entire frame. */
.about{row-gap:36px;}
.profile-moments{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:1100px;justify-self:center;}
@media(max-width:800px){.profile-moments{grid-row:3;}}
@media(max-width:540px){.profile-moments{grid-template-columns:1fr;max-width:400px;}}

/* 2026-10-29: mobile layout, independent of desktop grid placement. */
.site-header #navigation>.mobile-nav-contact{display:none;}
@media(max-width:1100px){
 .site-header{grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:auto;height:auto;gap:12px;padding:16px 6%;}
 .site-header .header-brand{min-width:0;grid-area:1/1;}
 .site-header .header-actions{display:none;}
 .site-header>.menu-toggle{grid-area:1/2;width:48px;min-height:48px;}
 .site-header .menu-label{font-size:10px;white-space:nowrap;letter-spacing:0;}
 .site-header #navigation .mobile-nav-contact{display:block;margin-top:8px;padding:12px 16px;background:var(--green);color:#fff;text-align:center;}
}
@media(max-width:800px){
 .hero--personal,.section,.about,.contact,.site-footer{padding-inline:24px;}
 .hero--personal{padding-top:28px;}
 .hero-opening{gap:24px;margin-bottom:28px;}
 .hero--personal h1{font-size:clamp(21px,5.6vw,30px);line-height:1.75;letter-spacing:.02em;}
 .hero--personal .hero-lead{font-size:19px;line-height:1.8;}
 .hero--personal .hero-desc{line-height:1.9;}
 .hero--personal .button{width:100%;max-width:360px;min-height:48px;justify-content:center;}
 .hero-office-details{padding-top:20px;}
 .hero-office-contact>a,.hero-office-contact>p{font-size:24px;gap:8px;}
 .section{padding-block:48px;}
 .section-top{margin-bottom:24px;}
 .section-top>p{margin-top:16px;line-height:1.9;}
 .section-top h2,.about-copy h2{font-size:clamp(23px,6vw,28px);line-height:1.65;letter-spacing:.02em;}
 .service-grid{display:block;}
 .service-card:nth-child(n){display:block;padding:24px 0;}
 .service-card h3{font-size:23px;line-height:1.65;margin-bottom:10px;}
 .service-card .card-sub{margin-bottom:12px;}
 .service-card p,.additional-service p{line-height:1.9;}
 .additional-service h3{font-size:23px;}
 .client-gallery{gap:14px;}
 .client-photo{padding:7px;}
 .home-journal{width:100%;padding:36px 24px;margin:0 0 44px;gap:24px;}
 .journal-heading{padding-bottom:22px;}
 .journal-heading h2{font-size:30px;}
 .journal-links{flex-direction:row;flex-wrap:wrap;gap:12px 24px;margin-top:18px;}
 .journal-all{min-height:44px;align-items:center;padding-block:7px;}
 .journal-feature h3{font-size:24px;line-height:1.6;}
 .journal-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 .about{gap:28px;padding-bottom:44px;grid-template-columns:minmax(0,1fr);}
 .about-copy{min-width:0;}
 .about-copy>p:not(.eyebrow){line-height:1.95;}
 .conversation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:540px;padding-top:0;gap:12px;}
 .office-info div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;margin-top:12px;}
 .office-info dt{min-width:0;font-size:13px;}
 .office-info dd{min-width:0;font-size:14px;}
 .office-info a[href^="tel:"]{font-size:18px;}
 .blog-link{min-height:44px;padding:8px 0;}
 .steps{grid-template-columns:1fr;gap:0;}
 .steps li{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:14px;padding:20px 0;}
 .step-number{grid-column:1;grid-row:1/3;padding-top:7px;}
 .steps h3{grid-column:2;font-size:21px;margin:0 0 6px;}
 .steps p{grid-column:2;font-size:16px;}
 .contact-inner{grid-template-columns:minmax(0,1fr);gap:22px;}
 .contact{padding-block:32px;}
 .contact h2{font-size:clamp(20px,5.6vw,27px);letter-spacing:0;}
 .contact-phone{font-size:clamp(25px,6.5vw,30px);letter-spacing:0;gap:9px;min-height:44px;}
 .contact-phone-label{font-size:15px;}
 .contact .contact-action>p.contact-fax{font-size:20px;}
 .contact-email{min-height:44px;display:inline-flex;align-items:center;}
 .footer-main{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:24px 8px;}
 .footer-brand{min-width:0;}
 .back-top{grid-column:2;grid-row:1;width:40px;height:44px;font-size:23px;}
 .footer-links{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;}
 .footer-links a{padding:10px 0;font-size:14px;}
 .header-brand-name{font-size:clamp(20px,5.5vw,25px);letter-spacing:.06em;}
 .header-brand-role{font-size:10px;letter-spacing:0;}
 .header-brand-en{font-size:11px;margin-top:3px;}
}
@media(max-width:360px){
 .hero--personal,.section,.about,.contact,.site-footer{padding-inline:20px;}
 .site-header{padding-inline:20px;gap:8px;}
 .home-journal{padding-inline:20px;}
 .header-brand-name{font-size:20px;letter-spacing:.035em;}
 .header-brand-role{font-size:9px;}
 .hero--personal h1{font-size:21px;letter-spacing:0;}
 .journal-feature h3{font-size:22px;}
}

/* Familiar navigation icon with an explicit open/close state. */
.site-header .menu-icon{display:block;order:-1;flex:none;width:24px;height:20px;overflow:visible;}
.menu-icon path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;transition:transform .2s ease,opacity .2s ease;}
.menu-line-top{transform-origin:12px 4px;}
.menu-line-bottom{transform-origin:12px 16px;}
.menu-toggle[aria-expanded="true"] .menu-line-top{transform:translateY(6px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-line-middle{opacity:0;}
.menu-toggle[aria-expanded="true"] .menu-line-bottom{transform:translateY(-6px) rotate(-45deg);}
@media(max-width:1100px){.site-header>.menu-toggle{gap:6px;min-height:52px;color:var(--ink);cursor:pointer;}.site-header .menu-label{font-size:10px;line-height:1.4;}}

/* Mobile reading order and photo browsing, 2026-10-29. */
.gallery-controls{display:none;}
@media(max-width:800px){
 html{scroll-padding-top:120px;}
 .site-header{position:sticky;top:0;padding-block:12px;background:rgba(252,251,248,.97);}
 .hero--personal{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:28px;}
 .hero--personal .hero-opening,.hero--personal .hero-copy{display:contents;}
 .hero--personal h1{order:1;margin:0;font-size:clamp(21px,5.8vw,30px);line-height:1.7;}
 .hero--personal .hero-lead{order:2;margin:0;font-size:18px;line-height:1.8;}
 .hero--personal .intro-gallery{order:3;}
 .hero--personal .gallery-controls{order:4;margin-top:-10px;}
 .hero--personal .button{order:5;max-width:none;margin:0;min-height:52px;}
 .hero--personal .hero-desc{order:6;margin-top:4px;font-size:16px;line-height:1.95;}
 .hero-office-details{order:7;background:#f0f2ec;border:0;padding:20px;margin-top:4px;}
 .hero-office-details .hero-office-name{font-size:19px;margin-bottom:12px;}
 .hero-office-contact{gap:5px;margin-bottom:12px;}
 .hero-office-contact>a,.hero-office-contact>p{font-size:clamp(21px,6vw,25px);grid-template-columns:29px minmax(0,1fr);gap:7px;}
 .intro-gallery,.community-gallery{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;gap:12px;max-width:none;width:100%;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a3b1a5 transparent;padding-bottom:6px;}
 .intro-gallery .client-photo,.community-gallery .client-photo{scroll-snap-align:start;}
 .gallery-controls{align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;}
 .js .gallery-controls{display:flex;}
 .gallery-buttons{display:flex;gap:8px;}
 .gallery-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #bdc9be;border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;}
 .gallery-button:disabled{opacity:.32;cursor:default;}
 .gallery-counter{font-variant-numeric:tabular-nums;letter-spacing:.08em;}
 .services>.gallery-controls{margin:4px 0 28px;}
 .service-card:nth-child(n){display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:12px;row-gap:0;padding-block:26px;}
 .service-meta{grid-column:1;grid-row:1;margin:0;align-self:start;padding-top:8px;}
 .service-card h3{grid-column:2;font-size:22px;margin-bottom:10px;}
 .service-card p{grid-column:2;line-height:1.9;}
 .service-card .card-sub{font-size:15px;margin-bottom:12px;}
 .additional-services{margin-top:0;padding-top:26px;}
 .additional-service h3{font-size:22px;}
 .additional-service .card-sub{color:var(--green);font-size:17px;}
 .additional-service .additional-service-description{margin-top:12px;}
 .journal-heading{padding-bottom:20px;}
 .journal-heading>p:not(.eyebrow){margin-top:12px;}
 .journal-links{gap:8px 20px;margin-top:12px;}
 .journal-latest-label{font-size:11px;letter-spacing:.1em;border-left:3px solid #83967f;padding-left:10px;}
 .journal-feature h3{margin-top:12px;margin-bottom:16px;}
 .journal-feature-body{margin-top:16px;}
 .journal-feature-body p{line-height:1.9;}
 .about-copy h2{margin-bottom:20px;}
 .about-dialogue{padding:18px 16px;background:#f0f2ec;border:0;}
 .about-copy .about-dialogue p{font-size:15px;}
 .philosophy-sign{margin-top:22px;}
 .office-info{margin-top:24px;}
}
@media(max-width:360px){
 .hero--personal h1{font-size:21px;letter-spacing:0;}
 .hero-office-details{padding:16px;}
 .service-card .card-sub{font-size:14px;}
}

/* Desktop motion: a gentle lift, without cropping or enlarging photographs. */
@media(min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .client-photo{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;border-color:#e0e2da;}
 .client-photo:hover{transform:translateY(-5px);box-shadow:0 12px 24px #293d3512;}
 .service-meta>span:first-child{transition:color .3s ease,transform .3s ease;}
 .service-card:hover .service-meta>span:first-child{color:var(--green);transform:translateX(4px);}
 .hero-copy .button{transition:background .3s ease,transform .3s ease,box-shadow .3s ease;}
 .hero-copy .button:hover{transform:translateY(-4px);box-shadow:0 8px 18px #293d3520;}
}

/* 2.2.15 ブラッシュアップ */
@media(min-width:801px){.service-phrase{display:inline-block;white-space:nowrap;max-width:100%}}
.step-number,.service-number,.service-index{color:#55625a}
.journal-latest-label span{color:var(--muted);font-size:12px}
@media(max-width:1100px){.header-brand-role{font-size:11px;letter-spacing:0}}
@media(max-width:800px){.hero-office-contact a{min-height:44px;align-items:center}.contact-email,.office-info dd a{display:inline-block;padding-block:12px}}
.entry-content img,.entry-content video,.entry-content iframe{max-width:100%;height:auto}
@media(max-width:800px){.entry-content table{display:block;max-width:100%;overflow-x:auto}}

.service-card .service-meta span{color:#75634f}
