:root{--paper:#fff;--soft:#f3f4f4;--ink:#26292b;--muted:#616769;--bronze:#886247;--line:#d8dcdd;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}figcaption{color:var(--muted);font-size:12px;line-height:1.6;margin-top:9px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5}h2{font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:.035em;margin-bottom:22px}h3{font-size:20px;font-weight:600}p{margin-bottom:20px}.container{width:calc(100% - 112px);max-width:var(--max);margin:auto}.section{padding:88px 0}.kicker{font-family:Arial,sans-serif;color:var(--bronze);font-size:13px;letter-spacing:.14em;font-weight:600;margin-bottom:22px}.note{font-size:14px;color:var(--muted)}.pending{display:inline-block;color:var(--bronze);font-size:12px;border:1px solid #c9b8aa;padding:3px 9px;line-height:1.7}.design-notice{background:#eef0f0;text-align:center;font-size:12px;padding:7px 16px;color:#52585a}.design-notice a{margin-left:12px}.site-header{padding:22px 0;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{text-decoration:none;line-height:1.2;flex-shrink:0}.wordmark strong{display:block;font-size:23px;font-weight:650;letter-spacing:.05em}.wordmark small{display:block;margin-top:8px;font-size:12px;letter-spacing:.05em;color:var(--muted)}.header-menu{display:flex;gap:22px;align-items:center;font-size:14px}.header-menu a{text-decoration:none}.lang{background:none;color:var(--ink);border:none;font-size:14px;padding:9px 0;max-width:92px}.lang:disabled{opacity:1}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 25px;background:var(--bronze);color:white;text-decoration:none;border:1px solid var(--bronze);font-size:15px;line-height:1.5;font-weight:500}.button.secondary{background:transparent;color:var(--ink);border-color:#a9adae}.button.small{padding:12px 18px;min-height:44px;font-size:14px}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:570px}.hero-copy{padding:64px 42px 50px max(56px,calc((100vw - 1240px)/2));align-self:center;z-index:1}.hero-eyebrow{font-size:14px;color:var(--bronze);font-weight:600;letter-spacing:.04em;margin-bottom:24px}.hero h1{font-size:clamp(35px,4.1vw,59px);letter-spacing:.01em;font-weight:600;line-height:1.65;white-space:nowrap;margin-bottom:26px}.hero h1 span{display:block}.hero-description{line-height:2;font-size:16px;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .secondary{font-size:14px}.hero-visual{position:relative;margin:32px 32px 32px 0;min-width:0}.hero-visual img{object-position:56% 42%}.hero-side{position:absolute;right:4px;top:50px;writing-mode:vertical-rl;font:12px Arial;letter-spacing:.2em;color:#667074}.intro-strip{display:flex;align-items:center;gap:28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-strip .placeholder{width:94px;height:106px;flex-shrink:0;font-size:12px}.intro-strip p{font-size:14px;margin-bottom:0}.intro-strip .profile-name{font-size:17px;font-weight:600;margin-bottom:3px}.intro-strip .intro-text{margin-left:auto;max-width:460px;font-size:14px}.placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;background:#e9eded;color:#5e666a;border:1px solid #d1d8da;line-height:1.7;padding:20px}.placeholder span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.14em;color:#777f83}.placeholder strong{font-size:16px;font-weight:500}.split-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end;margin-bottom:36px}.split-heading p{max-width:450px;margin-bottom:24px;color:var(--muted)}.situations{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.situation{text-decoration:none;padding:30px 32px 30px 0}.situation+.situation{border-left:1px solid var(--line);padding-left:32px}.situation span{display:block;color:var(--bronze);font:14px Arial;margin-bottom:16px}.situation strong{display:block;font-size:21px;line-height:1.7;font-weight:550}.situation small{display:block;font-size:13px;color:var(--muted);margin-top:15px}.service-section{background:var(--soft)}.service-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start}.service-photo{height:465px}.service-photo img{object-position:40% center}.service-list{border-top:1px solid #c9ced0}.service-row{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:21px 0;border-bottom:1px solid #c9ced0;text-decoration:none}.service-row .n{color:var(--bronze);font:13px Arial;padding-top:7px}.service-row h3{font-size:19px;margin-bottom:8px}.service-row p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:0}.text-link{display:inline-block;font-size:14px;text-decoration:none;border-bottom:1px solid var(--bronze);padding-bottom:5px}.responsibility{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.responsibility-photo{height:345px;margin-top:14px}.responsibility-pairs{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:26px}.responsibility-pairs h3{font-size:17px;color:var(--bronze);border-bottom:1px solid var(--line);padding-bottom:12px}.responsibility-pairs ul{margin:0;padding-left:20px;font-size:14px;line-height:2.1}.decor-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden}.decor-band p{font:clamp(30px,6.2vw,92px)/1.2 Arial,sans-serif;letter-spacing:.03em;white-space:nowrap;color:#dee2e2;margin:0;text-align:center}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.office-photo{height:405px}.profile-pair{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start;margin-top:32px}.portrait{height:190px}.profile-pair h3{margin:12px 0 6px}.profile-pair p{font-size:14px;line-height:1.9;margin-bottom:12px}.profile-pair .pending{margin-top:0}.pricing{background:var(--soft)}.fees-table{width:100%;border-collapse:collapse;font-size:16px}.fees-table th,.fees-table td{padding:20px 18px;text-align:left;border-bottom:1px solid #cdd2d3;vertical-align:top}.fees-table th{font-size:13px;color:var(--muted);font-weight:500}.fees-table td:nth-child(2){color:var(--bronze);font-size:15px;width:170px}.fees-table td:last-child{font-size:14px;color:var(--muted)}.fees-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:26px}.fees-bottom p{font-size:14px;color:var(--muted);margin-bottom:0}.flow-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.flow-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 34px;margin-top:30px}.flow-step{border-top:1px solid var(--line);padding-top:15px}.flow-step .n{font:14px Arial;color:var(--bronze);margin-bottom:10px}.flow-step h3{font-size:17px;margin-bottom:8px}.flow-step p{font-size:14px;color:var(--muted);margin:0}.consultation-photo{height:400px}.area-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.area-block h2{margin-bottom:0}.area-block p{margin-bottom:14px;font-size:15px}.journal-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.journal-photo{height:400px}.article-list{border-top:1px solid var(--line)}.article{display:block;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}.article span{color:var(--bronze);font-size:12px}.article h3{font-size:19px;line-height:1.7;margin:8px 0}.article p{color:var(--muted);font-size:13px;margin-bottom:0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list details{border-top:1px solid var(--line);padding:22px 0;font-size:16px}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style-position:outside;padding-left:10px}.faq-list details p{font-size:14px;color:var(--muted);padding-top:16px;margin-bottom:0}.contact-band{padding:65px 0;background:var(--ink);color:white}.contact-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.contact-band .kicker{color:#cdb19c}.contact-band h2{font-size:clamp(27px,3vw,40px);margin-bottom:18px}.contact-band p{font-size:15px;color:#e1e4e4}.contact-message{display:flex;gap:16px;align-items:center;margin-bottom:24px}.contact-message .placeholder{width:64px;height:76px;font-size:11px;padding:4px;flex-shrink:0}.contact-message p{font-size:14px;line-height:1.8;margin:0}.contact-band .button{background:#987353;border-color:#987353}.site-footer{padding:42px 0}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:45px}.footer-top p{font-size:13px;color:var(--muted);margin:14px 0}.footer-links{display:flex;flex-wrap:wrap;gap:14px 26px;align-content:start;font-size:14px}.footer-links a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:12px;color:var(--muted)}.mobile-fixed{display:none}.breadcrumbs{font-size:13px;color:var(--muted);padding:20px 0}.sub-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:28px 0 50px}.sub-hero h1{font-size:clamp(34px,4vw,50px);font-weight:600;letter-spacing:.02em;margin:12px 0 22px}.sub-hero figure{height:275px}.sub-hero .kicker{margin-bottom:12px}.content-layout{display:grid;grid-template-columns:260px 1fr;gap:65px}.contents{font-size:14px;border-top:2px solid var(--bronze);padding-top:20px}.contents a{display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.article-body h2{font-size:29px;margin-top:48px}.article-body h2:first-child{margin-top:0}.article-body p{max-width:720px}.checklist{padding:24px 28px;background:var(--soft);list-style:none;line-height:2.1;font-size:15px}.checklist li::before{content:"・";color:var(--bronze)}.related-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.form-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;margin:10px 0 35px}.form-intro h1{font-size:40px;margin:8px 0 14px}.form-intro .intro-strip{align-self:center;padding:15px 0}.form-intro .intro-strip .placeholder{width:64px;height:85px;padding:3px}.form-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px}.form-side{font-size:14px}.form-side h2{font-size:23px}.form-side li{margin-bottom:12px}.mock-form fieldset{border:0;padding:0;margin:0}.form-field{margin-bottom:25px}.form-field label{display:block;font-size:15px;margin-bottom:8px;font-weight:500}.required{font-size:11px;color:var(--bronze);margin-left:12px}.mock-form input,.mock-form textarea,.mock-form select{background:white;border:1px solid #b8bfc1;padding:12px;width:100%;min-height:48px;color:var(--ink);opacity:1;font-size:16px}.mock-form textarea{min-height:150px;resize:vertical}.mock-form input:disabled,.mock-form textarea:disabled,.mock-form select:disabled{-webkit-text-fill-color:#71787b;color:#71787b}.mock-form .check{display:flex;align-items:flex-start;gap:10px;font-size:14px}.mock-form .check input{width:18px;min-height:18px;margin:6px 0 0}.mock-form button{width:100%;background:#e1e5e5;border:1px solid #bcc3c5;color:#5c6568;min-height:54px}.demo-status{border-left:3px solid var(--bronze);padding:14px 18px;background:var(--soft);font-size:14px;margin-bottom:28px}.source-box{margin-top:35px;padding-top:25px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
@media(min-width:1450px){.hero-copy{padding-right:54px}}@media(max-width:1150px){.header-menu{gap:14px;font-size:13px}.header-menu .area-link{display:none}.container{width:calc(100% - 64px)}.hero-copy{padding-left:32px;padding-right:25px}.hero h1{font-size:43px}.hero-actions .button{padding:12px 16px;font-size:14px}.service-grid,.responsibility,.about-grid,.flow-grid,.journal-grid,.faq-grid{gap:40px}.profile-pair{grid-template-columns:125px 1fr;gap:20px}.hero-visual{margin-right:24px}.hero{min-height:550px}}@media(max-width:820px){.header-menu>a{display:none}.header-menu>a.button{display:inline-flex}.header-menu{gap:15px}.mobile-nav{display:block;font-size:13px;border:0;background:none;padding:10px 0}.hero h1{font-size:35px}.hero{min-height:510px}.hero-actions{gap:10px}.hero-actions .button{font-size:13px}.hero-description{font-size:15px}.hero-copy{padding-top:40px}.intro-strip .intro-text{display:none}.split-heading{gap:30px}.service-photo{height:400px}.situation strong{font-size:18px}.about-grid{gap:30px}.profile-pair{grid-template-columns:100px 1fr;gap:18px}.portrait{height:150px}.flow-list{gap:22px}.fees-table th,.fees-table td{padding-left:10px;padding-right:10px}.sub-hero{gap:30px}.content-layout{grid-template-columns:190px 1fr;gap:35px}}@media(max-width:600px){body{padding-bottom:65px}.container{width:calc(100% - 40px)}.section{padding:52px 0}.design-notice{font-size:11px;padding:6px 12px}.design-notice a{display:none}.site-header{padding:15px 0}.wordmark strong{font-size:18px;letter-spacing:.03em}.wordmark small{font-size:10px;margin-top:6px}.header-inner{gap:8px}.header-menu{gap:10px}.header-menu>a.button{display:none}.lang{font-size:13px;max-width:75px}.mobile-nav{font-size:13px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:30px 20px 25px;order:0}.hero-eyebrow{font-size:12px;letter-spacing:0;margin-bottom:13px}.hero h1{font-size:clamp(27px,8.2vw,32px);line-height:1.6;letter-spacing:0;margin-bottom:18px}.hero-description{font-size:14px;line-height:1.9;margin-bottom:20px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions .button{padding:11px 8px;font-size:12px;min-height:47px}.hero-actions .secondary{font-size:11px}.hero-visual{margin:0 20px 24px;height:225px;min-height:0;order:1}.hero-visual img{object-position:57% 35%}.hero-side{display:none}.intro-strip{gap:18px;padding:17px 0}.intro-strip .placeholder{width:70px;height:82px;padding:5px;font-size:11px}.intro-strip .profile-name{font-size:15px}.intro-strip p{font-size:12px}.split-heading{display:block;margin-bottom:25px}.split-heading p{font-size:14px;line-height:1.9;margin:0 0 22px}.kicker{font-size:11px;margin-bottom:16px}h2{font-size:27px;margin-bottom:20px;letter-spacing:.015em}.situations{grid-template-columns:1fr}.situation,.situation+.situation{display:grid;grid-template-columns:35px 1fr;padding:20px 0;border-left:0;border-bottom:1px solid var(--line);gap:0 8px}.situation:last-child{border-bottom:0}.situation span{margin:5px 0 0;font-size:13px;grid-row:1/3}.situation strong{font-size:18px;line-height:1.65}.situation strong br{display:none}.situation small{font-size:12px;margin-top:6px}.service-grid,.responsibility,.about-grid,.flow-grid,.journal-grid,.faq-grid,.area-block{display:block}.service-photo{height:225px;margin-bottom:28px}.service-row{padding:18px 0;grid-template-columns:28px 1fr;gap:8px}.service-row h3{font-size:18px}.service-row p{font-size:14px}.responsibility-photo{height:200px;margin-top:28px}.responsibility-pairs{gap:18px;margin-top:20px}.responsibility-pairs h3{font-size:15px}.responsibility-pairs ul{font-size:13px;padding-left:16px;line-height:1.9}.decor-band{padding:12px 0}.decor-band p{font-size:34px;text-align:left}.office-photo{height:235px;margin-bottom:26px}.profile-pair{grid-template-columns:116px 1fr;gap:18px;margin-top:25px}.portrait{height:168px;padding:12px}.placeholder strong{font-size:15px}.profile-pair h3{font-size:17px;margin-top:0}.profile-pair p{font-size:13px}.fees-table{font-size:14px}.fees-table th{font-size:12px}.fees-table th:last-child,.fees-table td:last-child{display:none}.fees-table th,.fees-table td{padding:17px 4px}.fees-table td:nth-child(2){width:110px;text-align:right;font-size:14px}.fees-bottom{display:block;margin-top:24px}.fees-bottom p{font-size:13px;margin-bottom:20px}.fees-bottom .button{width:100%}.flow-list{gap:24px 18px;margin:25px 0}.flow-step h3{font-size:16px}.flow-step p{font-size:13px}.consultation-photo{height:235px;margin-top:26px}.area-block{padding:30px 0}.area-block h2{margin-bottom:20px}.area-block p{font-size:14px}.journal-photo{height:225px;margin-bottom:25px}.article{padding:18px 0}.article h3{font-size:18px}.faq-list{margin-top:26px}.faq-list details{font-size:15px;padding:20px 0}.contact-band{padding:45px 0}.contact-inner{display:block}.contact-band h2{font-size:27px}.contact-band p{font-size:14px}.contact-message{margin-top:24px}.contact-band .button{width:100%}.footer-top{display:block}.footer-links{margin-top:25px;gap:14px 20px;font-size:13px}.site-footer{padding:35px 0}.footer-bottom{display:block;font-size:11px}.footer-bottom span{display:block;margin-bottom:9px}.mobile-fixed{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:white;border-top:1px solid var(--line);padding:8px 12px;gap:8px;z-index:20}.mobile-fixed .button{font-size:13px;min-height:46px;padding:10px}.breadcrumbs{font-size:11px;padding:16px 0}.sub-hero{display:flex;flex-direction:column;gap:12px;align-items:stretch;padding:12px 0 30px}.sub-hero h1{font-size:33px;margin:10px 0 18px}.sub-hero p{font-size:14px}.sub-hero figure{height:200px}.content-layout{display:block}.contents{margin-bottom:35px}.contents a{display:inline-block;padding:8px 10px 8px 0;margin-right:12px;font-size:13px;border:0}.article-body h2{font-size:24px;margin-top:35px}.article-body p,.checklist{font-size:14px}.checklist{padding:20px}.form-intro{display:block;margin-bottom:25px}.form-intro h1{font-size:31px}.form-intro .intro-strip{display:none}.form-layout{display:block}.form-side{margin-bottom:28px}.form-side h2{font-size:22px}.form-side ul{padding-left:20px}.form-field{margin-bottom:22px}.form-field label{font-size:14px}.source-box{font-size:12px}.form-page{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.design-notice,.mobile-fixed,.header-menu,.mobile-nav{display:none}body{padding-bottom:0}.section{break-inside:avoid}.site-header{padding-top:0}a{text-decoration:none}}

@media(max-width:600px){.fees-table thead tr,.fees-table tbody tr{display:grid;grid-template-columns:1fr 110px}.fees-table tbody tr{border-bottom:1px solid #cdd2d3;padding:12px 0}.fees-table td{border:0;padding:4px}.fees-table td:last-child{display:block;grid-column:1/3;font-size:12px;padding:5px 4px;color:var(--muted)}.fees-table td:nth-child(2){width:auto}.hero-description{font-size:16px}.service-row p,.article-body p,.area-block p{font-size:16px}.hero-actions .secondary{font-size:12px}}
@media(max-width:350px){.wordmark small{font-size:9px;letter-spacing:0}.lang{max-width:65px;font-size:12px}.header-menu{gap:8px}}
@media(max-width:600px){.header-menu>a.mobile-nav{display:block}.hero-copy{align-self:stretch}.header-menu{gap:8px}.lang{max-width:70px}.wordmark small{letter-spacing:0}}
@media(max-width:600px){.form-layout{display:flex;flex-direction:column}.mock-form{order:0}.form-side{order:1;margin-top:30px}}

[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-80px;z-index:100;background:var(--ink);color:white;padding:12px 22px}.skip-link:focus{top:10px}.preview-strip{background:#edf0f0;padding:7px 18px;text-align:center;font-size:12px;color:#596166}.preview-strip a{margin-left:12px}.header-menu .menu-disclosure{position:relative}.menu-disclosure summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}.menu-disclosure summary::-webkit-details-marker{display:none}.menu-disclosure summary::after{content:'＋';font-size:12px;color:var(--bronze)}.menu-disclosure[open] summary::after{content:'−'}.menu-panel{position:absolute;top:calc(100% + 13px);left:-22px;z-index:50;background:white;border:1px solid var(--line);padding:18px 22px;min-width:210px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.menu-panel a{display:block;padding:10px 0;white-space:nowrap}.mobile-menu{display:none}.language-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.language-label select{font-size:13px;width:75px;opacity:1;background:none;color:var(--ink);border:0;padding:10px 0}.language-label select:disabled{color:var(--ink);-webkit-text-fill-color:var(--ink)}.page-hero{padding-bottom:45px}.page-tag{font:12px Arial,sans-serif;letter-spacing:.12em;color:var(--bronze)}.info-banner{padding:15px 20px;border-left:3px solid var(--bronze);background:var(--soft);font-size:14px;margin:25px 0}.source-box ul{padding-left:18px;margin-bottom:0}.source-box li{margin-bottom:8px}.source-box a{overflow-wrap:anywhere}.article-body h2{scroll-margin-top:24px}.article-body li{margin:8px 0}.article-body .wp-block-image{margin:0}.article-body>p{font-size:16px;line-height:2}.simple-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.content-panel{border-top:1px solid var(--line);padding-top:22px}.content-panel h3{font-size:20px;margin-bottom:13px}.content-panel p{font-size:16px}.small-copy{font-size:14px;color:var(--muted)}.office-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin:35px 0}.office-gallery .placeholder{height:260px}.office-profile{display:grid;grid-template-columns:180px 1fr;gap:28px;margin:35px 0}.office-profile .placeholder{height:230px}.office-profile dl{display:grid;grid-template-columns:125px 1fr;gap:12px;font-size:15px;margin:0}.office-profile dt{color:var(--muted)}.office-profile dd{margin:0}.process-steps{counter-reset:step;list-style:none;padding:0}.process-steps li{counter-increment:step;display:grid;grid-template-columns:50px 1fr;gap:15px;border-top:1px solid var(--line);padding:24px 0}.process-steps li::before{content:counter(step,decimal-leading-zero);color:var(--bronze);font:17px Arial;padding-top:5px}.process-steps h3{font-size:19px;margin-bottom:8px}.process-steps p{font-size:15px;margin-bottom:0}.procedure-link-row{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px}.procedure-link-row a{font-size:14px}.journal-list{display:grid;grid-template-columns:1fr;gap:0}.journal-item{border-top:1px solid var(--line);padding:25px 0;text-decoration:none;display:grid;grid-template-columns:45px 1fr;gap:15px}.journal-item .n{font:13px Arial;color:var(--bronze);padding-top:6px}.journal-item h2{font-size:22px;margin:0 0 10px}.journal-item p{font-size:15px;color:var(--muted);margin:0}.contact-note{font-size:14px;color:var(--muted)}.contact-form fieldset{border:0;padding:0;margin:0}.contact-form input,.contact-form select,.contact-form textarea{background:white;color:var(--ink);border:1px solid #aeb7ba;border-radius:0;padding:12px;width:100%;min-height:50px;font-size:16px}.contact-form textarea{min-height:150px;resize:vertical}.contact-form label{display:block;margin-bottom:8px}.contact-form .form-field{margin-bottom:23px}.contact-form .checkbox-label{display:flex;gap:12px;align-items:start;font-size:14px}.contact-form .checkbox-label input{width:18px;min-height:18px;margin:6px 0 0;flex-shrink:0}.contact-form .button{width:100%;font:inherit;cursor:pointer}.contact-form .honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-confirmation{padding:24px;border:1px solid var(--line)}.form-confirmation h2{font-size:25px}.form-confirmation dl{margin:20px 0}.form-confirmation dt{font-size:13px;color:var(--muted);margin-top:18px}.form-confirmation dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}.form-confirmation .button{margin-top:20px}.form-confirmation button:disabled{color:#626b6f;background:#e2e7e8;border-color:#b8c1c5;opacity:1;width:100%;font-size:15px}.contact-inputs{max-width:730px}.decor-band{position:relative;padding:14px 0 40px}.decor-band p{width:max-content;text-align:left;animation:band-travel 35s linear infinite;will-change:transform}.decor-band .motion-control{position:absolute;right:20px;bottom:9px;border:1px solid #c7cdcf;background:white;font-size:12px;color:var(--muted);padding:3px 9px;cursor:pointer}.decor-band.motion-paused p{animation-play-state:paused}.decor-band .motion-control:disabled{opacity:1;cursor:default}.reveal-ready{opacity:0;transform:translateY(20px);transition:transform .6s ease,opacity .6s ease}.reveal-ready.is-visible{opacity:1;transform:none}.photo-reveal.reveal-ready{transform:scale(1.04);transition:transform 1.1s ease,opacity .7s ease}.photo-reveal.is-visible{transform:scale(1)}.portrait.reveal-ready,.office-photo.reveal-ready,.consultation-photo.reveal-ready{transform:none;transition:opacity .45s ease}.hero-motion h1 span{animation:hero-line .65s both cubic-bezier(.2,.7,.2,1)}.hero-motion h1 span:nth-child(2){animation-delay:.15s}.hero-motion .hero-visual img{animation:hero-image 1.1s both ease}.hero-visual{overflow:hidden}.article-body img{max-width:100%}.contact-page .mobile-fixed{display:none}.seo-canonical-note{font-size:12px;color:var(--muted)}.page-footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px}.page-footer-links a{text-decoration:none}.admin-status{background:var(--soft);padding:25px}.section .wp-block-group{max-width:none}.service-photo .wp-block-image,.responsibility-photo .wp-block-image,.journal-photo .wp-block-image{height:100%}.office-profile .placeholder strong{font-size:15px}.wp-block-heading{font-family:inherit}.no-animations .reveal-ready{opacity:1;transform:none}.article-body .fees-table{font-size:15px}.article-body .fees-table td:last-child{font-size:13px}.contact-form .submit-help{font-size:13px;color:var(--muted);margin-top:12px}.service-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 50px}.service-index-grid a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:25px 0}.service-index-grid h2{font-size:22px;margin-bottom:12px}.service-index-grid p{font-size:15px;color:var(--muted)}.service-index-grid span{font:13px Arial;color:var(--bronze)}.pending-short{font-size:12px;color:var(--bronze)}
@keyframes hero-line{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes band-travel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1150px){.header-menu{gap:17px}.header-menu>.desktop-secondary{display:none}.language-label{gap:0}}@media(max-width:820px){.header-menu>.desktop-item,.header-menu>.desktop-secondary{display:none}.header-menu>.mobile-menu{display:block}.mobile-menu .menu-panel{left:auto;right:0}.mobile-menu summary{font-size:14px}.page-hero{padding-bottom:30px}.office-profile{grid-template-columns:140px 1fr}.office-profile dl{grid-template-columns:100px 1fr}}@media(max-width:600px){.preview-strip{font-size:11px;line-height:1.6;padding:6px 10px}.preview-strip a{display:none}.language-label{font-size:11px}.language-label select{font-size:12px;width:63px}.header-menu{gap:9px}.mobile-menu summary{font-size:13px}.header-menu>.mobile-menu{display:block}.site-header .wordmark small{font-size:10px;letter-spacing:0}.simple-grid,.office-gallery,.service-index-grid{grid-template-columns:1fr}.office-gallery .placeholder{height:225px}.office-profile{grid-template-columns:110px 1fr;gap:18px}.office-profile .placeholder{height:165px;padding:8px}.office-profile dl{display:block;font-size:14px}.office-profile dt{font-size:12px;margin-top:10px}.office-profile dd{margin-top:4px}.process-steps li{grid-template-columns:35px 1fr;gap:8px;padding:20px 0}.process-steps h3{font-size:18px}.article-body h2{font-size:24px}.article-body>p,.content-panel p{font-size:16px}.form-layout{display:flex;flex-direction:column;gap:0}.contact-inputs{order:0}.form-side{order:1}.form-confirmation{padding:20px}.decor-band .motion-control{font-size:11px}.article-body .fees-table td:last-child{font-size:13px}.journal-item{grid-template-columns:30px 1fr;gap:10px}.journal-item h2{font-size:21px}.footer-top .wordmark{display:block}.menu-panel{min-width:215px;max-width:calc(100vw - 40px)}.page-hero h1{font-size:33px}.content-layout{gap:25px}.sub-hero h1{font-size:32px}.form-intro h1{font-size:30px}.info-banner{font-size:13px;padding:13px 15px}.article-body li{font-size:16px}.language-label span{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}.decor-band p{animation:none!important;transform:none!important}.hero-motion h1 span,.hero-motion .hero-visual img{animation:none!important}.decor-band .motion-control{display:none}}
.menu-panel{max-height:min(70vh,680px);overflow-y:auto}.placeholder.has-image{padding:0;display:block;overflow:hidden;border:0}.placeholder.has-image img{width:100%;height:100%;object-fit:cover}.portrait.has-image img{object-position:center 25%}.contact-page{padding-bottom:0}.wp-block-details{border-top:1px solid var(--line);padding:20px 0}.wp-block-details:last-of-type{border-bottom:1px solid var(--line)}.wp-block-details p{padding-top:16px}.wp-block-details summary{cursor:pointer}.wp-block-shortcode{margin-bottom:20px}
.article-categories{display:flex;flex-wrap:wrap;gap:12px 22px;margin:24px 0 50px;padding-bottom:20px;border-bottom:1px solid var(--line)}.article-categories a{text-decoration:none;font-size:15px;min-height:44px;display:flex;align-items:center;gap:10px}.article-categories span{font-size:12px;color:var(--muted)}.journal-category{scroll-margin-top:24px;margin:45px 0}.journal-category>h2{font-size:27px;margin-bottom:24px}.journal-item h3{font-size:22px;margin:0 0 10px}.article-takeaways{padding:24px 28px;background:var(--soft);font-size:15px;margin:0 0 32px}.article-takeaways ul{margin-bottom:0;padding-left:20px}.article-checks{padding:20px 25px 20px 42px;background:var(--soft)}.article-related-list{padding-left:20px}.article-related-list li{margin:14px 0}.article-body .inline-source{font-size:12px;color:var(--muted);margin-top:-8px}.journal-more{margin-top:28px;text-align:right}.article-count{color:var(--muted);font-size:15px}.article-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.article-pagination a,.article-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:44px;border:1px solid var(--line);padding:5px 12px;text-decoration:none;font-size:14px}.article-pagination span{background:var(--ink);color:white}.article-takeaways li{font-size:15px}
@media(max-width:600px){.article-categories{gap:4px 18px;margin-bottom:32px}.article-categories a{font-size:14px}.journal-category>h2{font-size:24px}.journal-item h3{font-size:20px}.article-takeaways{padding:20px}.article-checks{padding:15px 18px 15px 35px}.journal-more{text-align:left}.article-related-list li{font-size:15px}}
.consultation-label{display:inline-block;font-size:16px;font-weight:600;color:var(--bronze);padding:5px 13px;border:1px solid #c9b8aa;background:var(--soft);margin:0 0 20px;line-height:1.7}.hero-copy .consultation-small{font-size:14px;line-height:1.9;margin:16px 0 0;color:var(--muted);max-width:520px}.consultation-note{padding:24px 28px;background:var(--soft);border-left:3px solid var(--bronze);margin:24px 0 32px;line-height:1.9}.consultation-note strong{display:block;color:var(--bronze);font-size:20px;margin-bottom:14px}.consultation-note p{font-size:16px;margin:0 0 12px}.consultation-note p:last-child{margin-bottom:0}.footer-consultation{font-size:14px;margin-top:20px}.footer-consultation strong{font-size:16px}.initial-consultation td:nth-child(2){font-weight:600}.header-menu>.button{font-size:14px;padding:12px 16px;white-space:nowrap}.contact-band .consultation-small{font-size:14px;line-height:1.9;color:var(--muted)}
@media(max-width:1150px){.language-label>span{display:none}.header-menu{gap:13px}.header-menu>.button{padding:12px}}
@media(max-width:1000px){.header-menu>.desktop-item,.header-menu>.desktop-secondary{display:none}.header-menu>.mobile-menu{display:block}}
@media(max-width:600px){body{padding-bottom:82px}.contact-page{padding-bottom:0}.hero-actions{grid-template-columns:1fr}.hero-actions .button,.hero-actions .secondary{font-size:14px;min-height:52px;padding:12px}.consultation-label{font-size:14px;margin-bottom:16px}.consultation-note{padding:20px;margin:22px 0 28px}.consultation-note strong{font-size:19px}.consultation-note p{font-size:16px}.mobile-fixed{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.mobile-fixed .button{font-size:14px;line-height:1.6;min-height:52px;padding:8px}.fees-table tr.initial-consultation{grid-template-columns:1fr 1.6fr}.initial-consultation td:nth-child(2){font-size:14px}.footer-consultation{font-size:14px}}

/* The selected construction photo fills the hero behind the consultation copy. */
.hero-photo-background{display:flex;align-items:center;min-height:650px;background:#172b35;isolation:isolate;color:#fff}
.hero-photo-background .hero-visual{position:absolute;inset:0;margin:0;height:100%;z-index:-1}
.hero-photo-background .hero-visual img{object-position:center 48%}
.hero-photo-background .hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,29,39,.90) 0%,rgba(12,29,39,.77) 32%,rgba(12,29,39,.33) 62%,rgba(12,29,39,.07) 100%)}
.hero-photo-background .hero-copy{width:calc(660px + max(56px,calc((100vw - 1240px)/2)));max-width:100%;padding:65px 40px 64px max(56px,calc((100vw - 1240px)/2));align-self:auto}
.hero-photo-background .hero-eyebrow{color:#e9eef0;font-size:14px;letter-spacing:.04em;margin-bottom:22px}
.hero-photo-background h1{white-space:normal;font-size:clamp(36px,4.1vw,59px);line-height:1.5;letter-spacing:.025em;margin-bottom:24px}
.hero-photo-background .hero-description{font-size:16px;color:#f0f3f4;margin-bottom:25px}
.hero-photo-background .consultation-label{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(12,29,39,.4);font-size:18px;padding:6px 15px;margin-bottom:18px}
.hero-photo-background .hero-actions .button{background:#fff;border-color:#fff;color:#20313a;font-weight:600;min-height:54px}
.hero-photo-background .hero-actions .button:hover{background:#e8eff2;border-color:#e8eff2}
.hero-photo-background .hero-actions .secondary{background:rgba(12,29,39,.3);color:#fff;border-color:rgba(255,255,255,.7);font-weight:500}
.hero-photo-background .hero-actions .secondary:hover{background:rgba(255,255,255,.15);border-color:#fff}
.hero-photo-background .consultation-small{color:#edf1f2;font-size:14px;max-width:540px;margin-top:18px}
.hero-photo-background a:focus-visible{outline-color:#fff}

.hero-photo-background .hero-side{display:none}
@media(max-width:1150px){.hero-photo-background .hero-copy{padding-left:32px;width:720px}.hero-photo-background h1{font-size:clamp(36px,4.3vw,49px)}}
@media(max-width:820px){.hero-photo-background{min-height:610px}.hero-photo-background .hero-copy{padding:48px 32px 60px}.hero-photo-background h1{font-size:38px}.hero-photo-background .hero-visual img{object-position:60% center}.hero-photo-background .hero-visual::after{background:linear-gradient(90deg,rgba(12,29,39,.91),rgba(12,29,39,.72) 55%,rgba(12,29,39,.25))}}
@media(max-width:600px){.hero-photo-background{min-height:0;display:flex;flex-direction:column;align-items:stretch}.hero-photo-background .hero-copy{width:auto;padding:42px 20px 70px}.hero-photo-background .hero-visual{height:100%;order:0}.hero-photo-background .hero-visual img{object-position:57% center}.hero-photo-background .hero-visual::after{background:linear-gradient(180deg,rgba(12,29,39,.45),rgba(12,29,39,.80) 32%,rgba(12,29,39,.88))}.hero-photo-background .hero-eyebrow{font-size:14px;letter-spacing:0;margin-bottom:19px}.hero-photo-background h1{font-size:clamp(27px,7.8vw,36px);line-height:1.65;letter-spacing:0;margin-bottom:20px}.hero-photo-background .hero-description{font-size:16px;line-height:1.9;margin-bottom:22px}.hero-photo-background .consultation-label{font-size:16px;margin-bottom:18px}.hero-photo-background .hero-actions .button{font-size:14px;min-height:52px}.hero-photo-background .consultation-small{font-size:14px;margin-top:17px}}

.field-help{font-size:14px;line-height:1.8;color:var(--muted);margin:10px 0 0}
@media(max-width:1250px){.header-menu>.desktop-secondary{display:none}}

/* Official photographs keep natural framing without captions. */
.placeholder[data-media-slot="portrait"] img{object-position:center 25%}
.placeholder[data-media-slot="office"] img,.placeholder[data-media-slot="consultation"] img{object-position:center 68%}
.office-gallery-single{display:block;max-width:430px}
.office-gallery-single .placeholder{height:auto;margin:0}
.office-gallery-single .placeholder img{height:auto;display:block}
.intro-strip .profile-name [data-office-info="office_name"]{font-size:13px;font-weight:400}
@media(max-width:600px){.intro-strip .profile-name [data-office-info="office_name"]{font-size:11px}.intro-strip>.placeholder{flex-shrink:0}}

.office-info-table td:last-child{display:table-cell;overflow-wrap:anywhere}
.office-info-table td:first-child{width:125px;white-space:nowrap}
.office-info-table td:nth-child(2){width:auto;text-align:left}
@media(max-width:600px){.office-info-table td:first-child{width:100px;font-size:12px}.office-info-table td:nth-child(2){font-size:13px;padding-left:12px;white-space:normal}}
.area-list { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; padding:0; margin:24px 0; }
.area-list li { border-bottom:1px solid var(--line); padding:16px 0; font-weight:600; }
.area-list li::before { content:'↗'; color:var(--bronze); margin-right:12px; }
@media(max-width:600px){ .area-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; } }

/* Each route uses its own distinct photo, selected through --page-photo. */
body.site-photo-background {
  background:#e8eef0;
  isolation:isolate;
}
body.site-photo-background::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(rgba(230,238,241,.80),rgba(230,238,241,.86)),var(--page-photo, url("hero-tokyo.webp")) center 48% / cover no-repeat;
}
.site-photo-background .site-header,
.site-photo-background .site-footer {
  background:rgba(255,255,255,.97);
}
.site-photo-background .page-hero,
.site-photo-background .form-intro {
  color:#fff;
  background:linear-gradient(90deg,rgba(12,29,39,.91),rgba(12,29,39,.72) 55%,rgba(12,29,39,.30)),var(--page-photo, url("hero-tokyo.webp")) center 48% / cover no-repeat;
  padding:48px 44px;
  margin:12px 0 30px;
  min-height:320px;
}
.site-photo-background .page-hero {
  display:flex;
  align-items:center;
}
.site-photo-background .page-hero>div { width:100%; }
.site-photo-background .page-hero figure { display:none; }
.site-photo-background .page-hero h1 { max-width:960px; line-height:1.55; }
.site-photo-background .page-hero p { max-width:730px; }
.site-photo-background .page-hero .kicker,
.site-photo-background .form-intro .kicker { color:#e9cbb5; }
.site-photo-background .form-intro .field-help { color:#edf1f2; }
.site-photo-background .form-intro .intro-strip {
  padding:20px;
  border:0;
  background:rgba(12,29,39,.42);
}
.site-photo-background main.container>.section {
  background:rgba(255,255,255,.97);
  padding:36px 44px 54px;
  margin-bottom:42px;
}
.site-photo-background main:not(.container)>.section {
  background:rgba(255,255,255,.96);
}
.site-photo-background main>.intro-strip,
.site-photo-background .decor-band { background:rgba(255,255,255,.96); }
.site-photo-background .contact-band {
  background:linear-gradient(90deg,rgba(12,29,39,.94),rgba(12,29,39,.87)),var(--page-photo, url("hero-tokyo.webp")) center 60% / cover no-repeat;
}
.site-photo-background .contact-band .consultation-small { color:#edf1f2; }
.site-photo-background .breadcrumbs { color:#344c57; }
@media(max-width:820px) {
  .site-photo-background .page-hero,
  .site-photo-background .form-intro { padding:36px 30px; background-position:60% center; }
  .site-photo-background .form-intro { grid-template-columns:1fr; }
  .site-photo-background main.container>.section { padding-right:30px; padding-left:30px; }
}
@media(max-width:600px) {
  .site-photo-background .page-hero,
  .site-photo-background .form-intro {
    min-height:270px;
    padding:30px 22px;
    margin:8px 0 24px;
    background:linear-gradient(90deg,rgba(12,29,39,.91),rgba(12,29,39,.71)),var(--page-photo, url("hero-tokyo.webp")) 57% center / cover no-repeat;
  }
  .site-photo-background .page-hero h1 { font-size:clamp(26px,7.2vw,33px); }
  .site-photo-background .form-intro h1 { font-size:clamp(26px,7.2vw,31px); line-height:1.55; }
  .site-photo-background main.container>.section { padding:26px 20px 36px; margin-bottom:30px; }
  .site-photo-background .contact-band { background-position:57% center; }
}
@media print {
  body.site-photo-background { background:#fff; }
  body.site-photo-background::before { display:none; }
  .site-photo-background .page-hero,
  .site-photo-background .form-intro,
  .site-photo-background .contact-band { background:#fff; color:#111; }
  .site-photo-background .page-hero .kicker,
  .site-photo-background .form-intro .kicker,
  .site-photo-background .form-intro .field-help,
  .site-photo-background .contact-band p { color:#333; }
}

/* A clear, quiet identity band below the photographic home hero. */
.intro-band {
  background:#faf9f5;
  border-bottom:1px solid #e5e0d8;
}
.intro-band .intro-strip {
  display:grid;
  grid-template-columns:120px minmax(0,1fr) minmax(0,.85fr);
  gap:40px;
  padding:36px 0;
  border:0;
  align-items:center;
}
.intro-band .intro-portrait {
  width:120px;
  height:auto;
  margin:0;
  background:transparent;
}
.intro-band .intro-portrait img { height:auto; object-fit:contain; }
.intro-band .intro-identity { min-width:0; }
.intro-band .intro-role {
  color:#886247;
  font-size:12px;
  letter-spacing:.12em;
  margin-bottom:5px;
}
.intro-band .profile-name {
  font-size:27px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.4;
  margin-bottom:10px;
}
.intro-band .intro-office { font-size:13px; line-height:1.8; margin-bottom:6px; }
.intro-band .intro-registration { font-size:12px; color:#727773; letter-spacing:.04em; }
.intro-band .intro-text {
  display:block;
  margin:0;
  padding:12px 0 12px 34px;
  border-left:1px solid #d9d0c4;
  max-width:none;
}
.intro-band .intro-text p { font-size:17px; line-height:1.85; margin-bottom:17px; }
.intro-band .text-link { font-size:12px; color:#725b45; }
.intro-band .text-link::after,
#office .text-link::after { content:'↗'; margin-left:24px; }

/* The actual office photograph and an editorial panel form one composition. */
.site-photo-background main:not(.container)>#office.section {
  background:#f7f5f0;
  padding:88px 0;
}
#office .about-grid {
  display:grid;
  grid-template-columns:1.02fr 1fr;
  gap:0;
  align-items:stretch;
  box-shadow:0 20px 55px rgba(20,42,51,.07);
}
#office .about-grid>figure { min-width:0; background:#d7d2ca; }
#office .office-photo { height:100%; min-height:570px; margin:0; }
#office .office-photo img { object-position:center 62%; }
#office .about-grid>div {
  padding:48px 42px;
  background:#142a33;
  color:#fff;
  min-width:0;
}
#office .kicker { color:#d6b89a; font-size:12px; margin-bottom:22px; }
#office h2 {
  font-size:clamp(28px,2.85vw,40px);
  line-height:1.7;
  letter-spacing:.045em;
  font-weight:500;
  margin-bottom:22px;
}
#office .note { color:#bfc9cc; font-size:14px; line-height:1.9; }
#office .profile-pair {
  grid-template-columns:116px minmax(0,1fr);
  gap:26px;
  align-items:start;
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.18);
}
#office .portrait { height:auto; margin:0; background:transparent; }
#office .portrait img { height:auto; object-fit:contain; }
#office .profile-pair h3 { font-size:25px; font-weight:500; letter-spacing:.06em; margin:0 0 10px; }
#office .profile-pair p { font-size:14px; line-height:1.85; margin-bottom:17px; }
#office .profile-pair p:first-of-type { font-size:12px; color:#bfc9cc; line-height:1.8; }
#office .text-link { color:#ead0b5; border-color:#a68a6d; font-size:12px; padding:3px 0 9px; }

/* High contrast consultation labels, including the dark contact section. */
.contact-band .consultation-label,
.hero-photo-background .consultation-label {
  display:inline-flex;
  align-items:center;
  color:#142a33;
  background:#f2dfc5;
  border:1px solid #f2dfc5;
  font-size:20px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.5;
  padding:10px 18px;
  margin-bottom:24px;
}

[data-motion="text"].reveal-ready,
[data-motion="card"].reveal-ready {
  transform:translateY(16px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);
}
[data-motion="photo"].reveal-ready {
  transform:translateY(14px);
  transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);
}
[data-motion].reveal-ready.is-visible { transform:none; }
.entry-motion { animation:page-entry .7s cubic-bezier(.2,.7,.2,1) both; }
@keyframes page-entry { from { opacity:.35; transform:translateY(12px); } to { opacity:1; transform:none; } }
.photo-entry-motion { animation:photo-entry 1.25s cubic-bezier(.2,.7,.2,1) both; }
@keyframes photo-entry { from { background-position:center 44%; } to { background-position:center 48%; } }
.page-motion-control {
  border:0;
  border-bottom:1px solid #b2b9ba;
  padding:6px 0;
  background:transparent;
  color:#59666c;
  font-size:12px;
  line-height:1.8;
  cursor:pointer;
  min-height:36px;
  margin-left:auto;
}
.page-motion-control:hover { color:#142a33; border-color:#142a33; }
.no-animations .reveal-ready { opacity:1!important; transform:none!important; transition:none!important; }
.no-animations .entry-motion,
.no-animations .photo-entry-motion,
.no-animations .hero-motion h1 span,
.no-animations .hero-motion .hero-visual img,
.no-animations .decor-band p { animation:none!important; transform:none!important; }

@media(max-width:1150px) {
  .intro-band .intro-strip { gap:30px; grid-template-columns:112px minmax(0,1fr) minmax(0,.9fr); }
  .intro-band .intro-portrait { width:112px; }
  .intro-band .intro-text { padding-left:26px; }
  .intro-band .intro-text p { font-size:16px; }
  #office .about-grid>div { padding:38px 32px; }
  #office .profile-pair { grid-template-columns:100px minmax(0,1fr); gap:20px; }
  #office .office-photo { min-height:560px; }
}
@media(max-width:820px) {
  .intro-band .intro-strip { grid-template-columns:96px minmax(0,1fr); gap:24px; padding:30px 0; }
  .intro-band .intro-portrait { width:96px; }
  .intro-band .intro-text { grid-column:1/3; border-left:0; border-top:1px solid #ded7cd; padding:22px 0 0; }
  .intro-band .intro-text p { font-size:17px; }
  #office .about-grid { grid-template-columns:1fr; }
  #office .office-photo { height:420px; min-height:0; }
  #office .about-grid>div { padding:40px; }
  #office h2 { font-size:32px; }
  #office .profile-pair { grid-template-columns:116px minmax(0,1fr); gap:26px; }
}
@media(max-width:600px) {
  .intro-band .intro-strip { grid-template-columns:88px minmax(0,1fr); gap:20px; padding:28px 0; }
  .intro-band .intro-portrait { width:88px; }
  .intro-band .profile-name { font-size:24px; margin-bottom:7px; }
  .intro-band .intro-role { font-size:11px; }
  .intro-band .intro-office { font-size:12px; line-height:1.8; }
  .intro-band .intro-registration { font-size:11px; }
  .intro-band .intro-text p { font-size:16px; }
  .site-photo-background main:not(.container)>#office.section { padding:52px 0; }
  #office .office-photo { height:320px; }
  #office .about-grid>div { padding:30px 24px; }
  #office h2 { font-size:clamp(23px,6.2vw,27px); line-height:1.7; letter-spacing:.01em; }
  #office .note { font-size:13px; }
  #office .profile-pair { grid-template-columns:92px minmax(0,1fr); gap:20px; margin-top:25px; padding-top:25px; }
  #office .profile-pair h3 { font-size:22px; }
  #office .profile-pair p { font-size:13px; }
  #office .profile-pair p:first-of-type { font-size:11px; }
  #office .text-link { font-size:11px; }
  #office .text-link::after { margin-left:12px; }
  .contact-band .consultation-label,
  .hero-photo-background .consultation-label { font-size:18px; padding:10px 16px; }
  .page-motion-control { margin:14px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
  .entry-motion,.photo-entry-motion { animation:none!important; transform:none!important; }
  [data-motion].reveal-ready { opacity:1!important; transform:none!important; transition:none!important; }
}
@media print {
  .page-motion-control { display:none; }
  .reveal-ready { opacity:1!important; transform:none!important; transition:none!important; }
  .entry-motion,.photo-entry-motion { animation:none!important; }
  #office .about-grid>div { background:#fff; color:#111; }
  #office .kicker,#office .note,#office .profile-pair p:first-of-type,#office .text-link { color:#333; }
}

/* Keep consultation copy and portraits focused on their relevant sections. */
.intro-band .intro-strip { grid-template-columns:1fr 1fr; padding:28px 0; }
.contact-band .contact-action { align-self:center; }
.contact-band .contact-action .button { min-width:190px; font-size:17px; }
.contact-band .consultation-label,.hero-photo-background .consultation-label { font-size:18px; padding:7px 15px; }
@media(max-width:600px) {
  .intro-band .intro-strip { grid-template-columns:1fr; gap:18px; padding:24px 0; }
  .intro-band .intro-text { grid-column:auto; padding:18px 0 0; }
  .contact-band .contact-action .button { width:100%; }
  .contact-band .consultation-label,.hero-photo-background .consultation-label { font-size:16px; padding:7px 13px; }
}

.site-header .header-menu > .article-nav { display:block; white-space:nowrap; }
.site-header .wordmark small { color:#485358; }
.journal-more a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 24px; border:1px solid #a67b5d; color:#573d2e; background:#fff; font-size:15px; text-decoration:none; }
@media(max-width:600px) { .site-header .header-menu > .article-nav { font-size:12px; } .site-header .wordmark small { font-size:11px; } .site-header .header-inner { flex-wrap:wrap; gap:8px; } .site-header .header-menu { width:100%; justify-content:space-between; gap:12px; } .site-header .menu-disclosure summary { white-space:nowrap; } }

/* Architectural typography, deliberate spacing and a compact final invitation. */
:root { --ink:#112833; --bronze:#916448; --line:#d7ddda; --soft:#f3f3ef; --muted:#58676d; }
body { color:#23363e; }
.site-header { border-bottom:1px solid #dce1dd; }
.site-header .wordmark { position:relative; padding-left:18px; }
.site-header .wordmark::before { content:""; position:absolute; left:0; top:2px; bottom:0; width:3px; background:#a97955; }
.site-header .wordmark strong { font-size:24px; font-weight:750; letter-spacing:.04em; }
.site-header .wordmark small { font-size:11px; color:#40545e; margin-top:8px; }
.header-menu { font-size:13px; }
.site-header .header-menu>.button { background:#112833; border-color:#112833; font-size:13px; min-height:48px; padding:12px 20px; }
.button { font-weight:600; transition:background .2s,color .2s,border-color .2s; }
a.button:not(.secondary)::after { content:'↗'; font-size:16px; margin-left:23px; }
.button:focus-visible,.journal-item:focus-visible,.article:focus-visible { outline:3px solid #c49a6d; outline-offset:4px; }
.site-header .button:hover { background:#855b42; border-color:#855b42; }

.hero-photo-background { min-height:700px; }
.hero-photo-background .hero-copy { width:calc(780px + max(40px,calc((100vw - 1240px)/2))); padding:76px 40px 70px max(40px,calc((100vw - 1240px)/2)); }
.hero-photo-background .hero-visual::after { background:linear-gradient(90deg,rgba(9,27,37,.95),rgba(9,27,37,.82) 38%,rgba(9,27,37,.32) 70%,rgba(9,27,37,.14)); }
.hero-photo-background .hero-eyebrow { display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.09em; margin-bottom:29px; color:#d9e3e7; }
.hero-photo-background .hero-eyebrow::before { content:""; width:34px; height:1px; background:#d2af8d; flex-shrink:0; }
.hero-photo-background h1 { font-size:clamp(48px,5.5vw,76px); font-weight:750; line-height:1.36; letter-spacing:-.025em; margin:0 0 30px; }
.hero-photo-background h1 span:last-child { color:#f1e7d9; }
.hero-photo-background .hero-description { font-size:16px; line-height:1.95; margin-bottom:24px; color:#d8e2e6; }
.hero-photo-background .consultation-label { font-size:14px; font-weight:600; padding:6px 12px; background:#e7d5be; border-color:#e7d5be; letter-spacing:.02em; margin-bottom:16px; }
.hero-photo-background .hero-actions { gap:12px; }
.hero-photo-background .hero-actions .button { padding:14px 25px; min-height:56px; font-size:14px; }
.hero-photo-background .hero-actions .secondary { border-color:#9dabaf; color:#e4ecef; background:rgba(11,30,40,.2); }
.hero-photo-background .consultation-small { font-size:12px; line-height:1.9; color:#c6d2d7; max-width:570px; margin-top:20px; }

.intro-band { background:#f4f3ee; }
.intro-band .intro-strip { grid-template-columns:.82fr 1.18fr; padding:26px 0; gap:48px; }
.intro-band .intro-role { font-size:10px; letter-spacing:.15em; }
.intro-band .profile-name { font-size:23px; margin-bottom:7px; }
.intro-band .intro-office { font-size:12px; }
.intro-band .intro-registration { font-size:10px; }
.intro-band .intro-text { padding-left:38px; }
.intro-band .intro-text p { font-size:17px; margin-bottom:10px; }
.kicker { letter-spacing:.14em; font-size:12px; color:#866246; }
main:not(.container)>.section { padding-top:96px; padding-bottom:96px; }
.split-heading { margin-bottom:46px; }
.split-heading h2 { font-size:clamp(29px,3vw,42px); line-height:1.5; letter-spacing:.025em; font-weight:650; }
.split-heading>p { font-size:14px; line-height:1.95; }
.situation { position:relative; background:#f5f6f2; padding:27px 26px 30px; border:1px solid #d9dfdb; transition:border-color .2s,background .2s; }
.situation:hover { background:#edf0ea; border-color:#9b795c; }
.situation>span { font-size:11px; color:#927052; }
.situation>strong { font-size:22px; line-height:1.65; }
.situation>small { color:#607077; font-size:12px; }
.service-row { padding:25px 0; }
.service-row h3 { font-size:23px; letter-spacing:.025em; }
.service-row p { font-size:14px; }
.decor-band { border-top:1px solid #dfe4df; border-bottom:1px solid #dfe4df; padding-top:18px; }
.decor-band p { color:#ccd3ce; font-weight:700; letter-spacing:.09em; }
#office .about-grid { grid-template-columns:1.08fr 1fr; box-shadow:none; }
#office .about-grid>div { background:#112833; padding:50px 44px; }
#office h2 { font-weight:600; font-size:clamp(28px,3vw,41px); line-height:1.55; letter-spacing:.015em; }
#office .office-photo { min-height:560px; }
.journal-more a { color:#fff; background:#112833; border-color:#112833; padding:14px 28px; }
.journal-more a::after { content:'↗'; margin-left:32px; }
.journal-more a:hover { background:#855b42; border-color:#855b42; }
.article-list .article { position:relative; padding:27px 30px 28px 0; }
.article-list .article::after { content:'↗'; position:absolute; right:0; top:29px; color:#8d6548; font-size:20px; }
.article-list .article h3 { font-size:22px; line-height:1.6; }
.article-list .article p { font-size:14px; }

.site-photo-background .page-hero,.site-photo-background .form-intro { min-height:370px; padding:54px 56px; background-image:linear-gradient(90deg,rgba(9,27,37,.94),rgba(9,27,37,.68) 58%,rgba(9,27,37,.22)),var(--page-photo); }
.site-photo-background .page-hero .kicker,.site-photo-background .form-intro .kicker { display:flex; align-items:center; gap:14px; color:#ddbea0; font-size:11px; margin-bottom:24px; }
.site-photo-background .page-hero .kicker::before,.site-photo-background .form-intro .kicker::before { content:""; width:28px; height:1px; background:#bf9571; flex-shrink:0; }
.site-photo-background .page-hero h1 { font-size:clamp(32px,3.65vw,49px); font-weight:650; letter-spacing:.02em; line-height:1.5; margin-bottom:24px; }
.site-photo-background .page-hero p { font-size:15px; line-height:1.9; color:#dce5e9; }
.site-photo-background .form-intro h1 { font-size:38px; font-weight:650; }
.site-photo-background main.container>.section { padding:45px 48px 58px; }
.breadcrumbs { font-size:11px; letter-spacing:.025em; padding-top:24px; padding-bottom:20px; }
.article-body h2 { font-size:27px; font-weight:650; line-height:1.65; padding-top:16px; }
.contents { border-top:2px solid #a17d5c; padding-top:22px; }
.contents strong { font-size:12px; letter-spacing:.06em; }
.contents a { font-size:13px; line-height:1.8; }
.article-count { font-size:14px; color:#627278; }
.article-categories { padding:0 0 24px; gap:8px 12px; margin:22px 0 42px; }
.article-categories a { padding:8px 15px; border:1px solid #d4ded8; font-size:12px; min-height:40px; background:#fff; }
.article-categories a:hover,.article-categories a[aria-current="page"] { color:#fff; background:#112833; border-color:#112833; }
.journal-category { margin:40px 0 58px; }
.journal-category>h2 { font-size:25px; font-weight:650; padding:0 0 18px; margin-bottom:24px; border-bottom:1px solid #d7dfd9; }
.journal-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.journal-item { position:relative; display:flex; flex-direction:column; gap:15px; padding:26px 27px 47px; min-width:0; border:1px solid #d9e0dc; border-top:2px solid #a68260; background:#f5f6f2; transition:background .2s,border-color .2s; }
.journal-item .n { font-size:11px; color:#8b6d50; letter-spacing:.1em; }
.journal-item h3 { font-size:20px; line-height:1.65; font-weight:600; margin-bottom:13px; color:#17313c; }
.journal-item p { font-size:13px; line-height:1.85; color:#596a72; }
.journal-item::after { content:'↗'; position:absolute; right:25px; bottom:17px; font-size:21px; color:#8b6d50; }
.journal-item:hover { background:#edf0e9; border-color:#a88664; }

.site-photo-background .contact-band { padding:48px 0; background-image:linear-gradient(90deg,rgba(9,27,37,.96),rgba(9,27,37,.87)),var(--page-photo); }
.contact-inner { grid-template-columns:minmax(0,1fr) 220px; gap:64px; align-items:center; }
.contact-heading-line { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin-bottom:18px; }
.contact-band .contact-heading-line .kicker { color:#c5a586; font-size:10px; letter-spacing:.16em; margin:0; }
.contact-band .consultation-label { color:#e9d3b9; font-size:13px; font-weight:500; padding:0 0 0 15px; margin:0; letter-spacing:.025em; background:transparent; border:0; border-left:1px solid #718088; }
.contact-band h2 { font-size:clamp(25px,2.6vw,34px); font-weight:650; line-height:1.5; letter-spacing:.025em; margin-bottom:18px; }
.contact-band .contact-summary { font-size:14px; line-height:1.8; color:#dbe4e8; margin-bottom:12px; max-width:660px; }
.site-photo-background .contact-band .consultation-small { font-size:11px; line-height:1.8; color:#b9c9d0; margin-bottom:0; max-width:660px; }
.contact-band .contact-action .button { min-height:58px; width:100%; background:#e3c8aa; border-color:#e3c8aa; color:#102935; font-size:16px; }
.contact-band .contact-action .button:hover { background:#f2deca; border-color:#f2deca; }
.site-photo-background .site-footer { background:#112833; color:#f1f3ee; border-top:1px solid #334851; padding-top:46px; }
.site-footer .wordmark strong { color:#f3f4ee; font-size:24px; }
.site-footer .wordmark small { color:#c3cfd4; font-size:12px; }
.site-footer .footer-top p { color:#bdcbd0; font-size:12px; line-height:1.9; }
.site-footer .footer-links { color:#d4dfe2; font-size:13px; }
.site-footer .footer-links a:hover { color:#e6c49d; }
.site-footer .footer-bottom { border-color:#3c5059; color:#a6b9c0; }
.site-footer .page-motion-control { color:#b6c7ce; border-color:#647b85; }
.mobile-fixed { box-shadow:0 -4px 18px rgba(13,33,43,.07); }
.mobile-fixed .button:not(.secondary) { background:#112833; border-color:#112833; }

@media(max-width:1150px) {
  .hero-photo-background .hero-copy { padding-left:32px; width:800px; }
  .hero-photo-background h1 { font-size:clamp(47px,5.7vw,65px); }
  #office .about-grid>div { padding:38px 30px; }
  .contact-inner { gap:38px; grid-template-columns:minmax(0,1fr) 190px; }
}
@media(max-width:820px) {
  .hero-photo-background { min-height:670px; }
  .hero-photo-background .hero-copy { width:100%; padding:60px 30px; }
  .hero-photo-background h1 { font-size:clamp(40px,6.8vw,56px); }
  main:not(.container)>.section { padding:65px 0; }
  .intro-band .intro-strip { gap:24px; grid-template-columns:1fr 1.2fr; }
  .intro-band .intro-text { grid-column:auto; border-top:0; border-left:1px solid #d9d0c4; padding:8px 0 8px 24px; }
  #office .about-grid { grid-template-columns:1fr; }
  #office .office-photo { min-height:0; height:420px; }
  .journal-list { grid-template-columns:1fr; }
  .site-photo-background .page-hero,.site-photo-background .form-intro { padding:42px 34px; min-height:330px; }
  .site-photo-background main.container>.section { padding:32px 30px 45px; }
}
@media(max-width:600px) {
  .site-header .wordmark strong { font-size:21px; }
  .site-header .wordmark small { font-size:11px; }
  .site-header .wordmark { padding-left:14px; }
  .site-header .wordmark::before { width:2px; }
  .hero-photo-background { min-height:0; }
  .hero-photo-background .hero-copy { padding:43px 20px 47px; }
  .hero-photo-background .hero-eyebrow { font-size:10px; gap:10px; letter-spacing:.025em; margin-bottom:23px; }
  .hero-photo-background .hero-eyebrow::before { width:21px; }
  .hero-photo-background h1 { font-size:clamp(29px,9.4vw,42px); line-height:1.45; letter-spacing:-.025em; margin-bottom:25px; }
  .hero-photo-background .hero-description { font-size:14px; line-height:1.9; margin-bottom:23px; }
  .hero-photo-background .consultation-label { font-size:12px; padding:5px 9px; margin-bottom:15px; }
  .hero-photo-background .hero-actions { grid-template-columns:1fr 1.5fr; gap:9px; }
  .hero-photo-background .hero-actions .button { padding:12px 10px; font-size:12px; min-height:54px; }
  .hero-photo-background .hero-actions .button::after { margin-left:12px; font-size:14px; }
  .hero-photo-background .hero-actions .secondary { font-size:11px; }
  .hero-photo-background .consultation-small { font-size:11px; line-height:1.9; margin-top:18px; }
  .intro-band .intro-strip { grid-template-columns:1fr; gap:16px; padding:23px 0; }
  .intro-band .intro-text { grid-column:auto; border-left:0; border-top:1px solid #d9d0c4; padding:16px 0 0; }
  .intro-band .intro-text p { font-size:14px; line-height:1.8; }
  main:not(.container)>.section { padding:54px 0; }
  .split-heading { margin-bottom:30px; }
  .split-heading h2 { font-size:29px; line-height:1.55; }
  .split-heading>p { font-size:13px; }
  .situation { padding:23px; }
  .situation>strong { font-size:20px; }
  .service-row h3 { font-size:20px; }
  .service-row p { font-size:13px; }
  #office .office-photo { height:320px; }
  #office .about-grid>div { padding:32px 25px; }
  #office h2 { font-size:27px; }
  .site-photo-background .page-hero,.site-photo-background .form-intro { min-height:275px; padding:33px 24px; }
  .site-photo-background .page-hero h1,.site-photo-background .form-intro h1 { font-size:clamp(26px,7vw,31px); line-height:1.55; }
  .site-photo-background .page-hero p { font-size:13px; }
  .site-photo-background .page-hero .kicker,.site-photo-background .form-intro .kicker { font-size:10px; margin-bottom:21px; }
  .site-photo-background main.container>.section { padding:27px 21px 38px; }
  .article-body h2 { font-size:23px; }
  .article-body>p { font-size:15px; }
  .article-categories { gap:8px; }
  .article-categories a { padding:7px 10px; font-size:11px; }
  .journal-category>h2 { font-size:23px; }
  .journal-item { padding:22px 22px 45px; gap:12px; }
  .journal-item h3 { font-size:18px; }
  .journal-item p { font-size:12px; }
  .article-list .article h3 { font-size:20px; }
  .journal-more a { width:100%; font-size:14px; }
  .site-photo-background .contact-band { padding:35px 0; }
  .contact-inner { display:grid; grid-template-columns:1fr; gap:24px; }
  .contact-heading-line { gap:12px; margin-bottom:17px; }
  .contact-band .consultation-label { font-size:12px; padding:0 0 0 12px; }
  .contact-band h2 { font-size:clamp(22px,6.15vw,25px); line-height:1.5; margin-bottom:16px; }
  .contact-band .contact-summary { font-size:13px; }
  .site-photo-background .contact-band .consultation-small { font-size:10px; }
  .contact-band .contact-action .button { min-height:54px; font-size:14px; }
  .site-photo-background .site-footer { padding-top:34px; }
  .site-footer .footer-links { font-size:12px; }
  .mobile-fixed .button::after { margin-left:14px; }
}
@media(prefers-reduced-motion:reduce) { .button,.journal-item,.situation { transition:none; } }
@media print {
  .site-photo-background .site-footer,.site-photo-background .contact-band,.site-photo-background .page-hero,.site-photo-background .form-intro { background:#fff; color:#111; }
  .site-footer .wordmark strong,.site-footer .wordmark small,.site-footer .footer-top p,.site-footer .footer-links,.site-footer .footer-bottom,.contact-band .contact-summary,.site-photo-background .contact-band .consultation-small,.site-photo-background .page-hero p { color:#222; }
  .journal-list { grid-template-columns:1fr; }
  .journal-item { break-inside:avoid; background:#fff; }
}

/* Free consultation stays readable without a separate plaque over the photograph. */
.hero-photo-background .consultation-label { color:#e9d3b9; background:transparent; border:0; padding:0; font-size:13px; font-weight:500; letter-spacing:.04em; margin-bottom:13px; }
.hero-photo-background .consultation-label::before { content:""; width:5px; height:5px; border-radius:50%; background:#d5b68e; margin-right:9px; }
.hero-photo-background .hero-actions .button:not(.secondary) { background:#e6d2b8; border-color:#e6d2b8; color:#132c38; }
@media(max-width:600px) { .hero-photo-background .consultation-label { font-size:12px; padding:0; margin-bottom:12px; } }

/* Architectural symbol and aligned two-line brand, without extra captions. */
.site-header .wordmark { display:inline-grid; grid-template-columns:42px max-content; align-items:center; gap:14px; padding:0; flex-shrink:0; }
.site-header .wordmark::before { content:none; }
.brand-symbol { display:block; width:42px; height:50px; color:#112833; }
.brand-symbol svg { display:block; width:100%; height:100%; }
.brand-type { display:block; }
.site-header .wordmark strong { font-size:25px; line-height:1.2; font-weight:800; letter-spacing:.075em; color:#112833; }
.site-header .wordmark small { font-size:11px; line-height:1.5; margin-top:7px; letter-spacing:.015em; color:#4c616b; }
.site-header .wordmark:focus-visible { outline:2px solid #a77b53; outline-offset:7px; }
.motion-control,[data-motion-toggle] { display:none!important; }
@media(max-width:600px) {
  .site-header .wordmark { grid-template-columns:32px max-content; gap:11px; padding:0; }
  .brand-symbol { width:32px; height:42px; }
  .site-header .wordmark strong { font-size:22px; letter-spacing:.07em; }
  .site-header .wordmark small { font-size:11px; margin-top:5px; letter-spacing:0; }
}

/* Service reading paths use existing headings and two relevant published articles. */
.service-contents { margin:25px 0 30px; padding:18px 0; border-top:1px solid #d7dfda; border-bottom:1px solid #d7dfda; }
.service-contents>strong { display:block; font-size:12px; font-weight:600; color:#68787e; margin-bottom:8px; }
.service-contents ol { display:flex; flex-wrap:wrap; gap:2px 25px; padding:0; margin:0; list-style:none; }
.service-contents li { margin:0; }
.service-contents a { display:flex; gap:10px; align-items:baseline; min-height:42px; padding:8px 0; color:#17323d; font-size:13px; line-height:1.8; text-decoration:none; }
.service-contents a>span { color:#936e4e; font:11px Arial,sans-serif; }
.service-contents a:hover { text-decoration:underline; text-underline-offset:5px; }
.service-reading { margin:40px 0 35px; }
.service-reading-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.service-reading-card { display:block; position:relative; min-width:0; padding:25px 26px 42px; text-decoration:none; border:1px solid #d9e0dc; border-top:2px solid #a68260; background:#f5f6f2; }
.service-reading-tag { font-size:11px; color:#89684b; }
.service-reading-card h3 { margin:12px 0; font-size:20px; line-height:1.65; font-weight:650; }
.service-reading-card p { color:#586b74; font-size:13px; line-height:1.85; margin:0; }
.service-reading-arrow { position:absolute; right:22px; bottom:14px; color:#8e6848; font-size:20px; }
.service-reading-card:hover { border-color:#a88664; background:#edf0e9; }
.service-contents a:focus-visible,.service-reading-card:focus-visible { outline:3px solid #c49a6d; outline-offset:4px; }
@media(max-width:600px) {
  .service-contents { margin:20px 0 24px; padding:14px 0; }
  .service-contents ol { gap:0 18px; }
  .service-contents a { font-size:12px; min-height:40px; }
  .service-reading { margin:30px 0; }
  .service-reading-grid { grid-template-columns:1fr; gap:14px; }
  .service-reading-card { padding:18px 19px 35px; }
  .service-reading-card h3 { font-size:17px; line-height:1.7; }
  .service-reading-card p { font-size:12px; }
}

/* Practical editorial guides */
.article-body { min-width:0; }
.article-table-wrap { max-width:100%; overflow-x:auto; margin:25px 0 32px; border:1px solid #d8dfda; background:#fff; }
.article-practical-table { width:100%; min-width:560px; margin:0; border-collapse:collapse; table-layout:auto; font-size:14px; line-height:1.85; }
.article-practical-table caption { text-align:left; padding:14px 18px; color:#17323d; font-weight:650; background:#edf0e9; }
.article-practical-table th,.article-practical-table td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid #d8dfda; border-right:1px solid #e1e5df; }
.article-practical-table thead th { background:#17323d; color:#fff; font-weight:600; }
.article-practical-table tbody th { background:#f6f7f2; min-width:110px; font-weight:600; }
.article-table-wrap:focus-visible { outline:3px solid #a68260; outline-offset:3px; }
.article-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:6px 0 38px; }
.article-featured-card { display:block; position:relative; min-width:0; padding:24px 24px 42px; border-top:2px solid #a68260; background:#f3f5f0; color:#17323d; text-decoration:none; }
.article-featured-card>span { font-size:12px; color:#826142; font-weight:600; }
.article-featured-card h2 { margin:14px 0 12px; padding-top:0; font-size:20px; line-height:1.65; }
.article-featured-card p { margin:0; font-size:13px; line-height:1.85; color:#586b74; }
.article-featured-card b { position:absolute; right:20px; bottom:14px; color:#8e6848; }
.article-featured-card:hover { background:#e9eee4; }
.article-featured-card:focus-visible { outline:3px solid #a68260; outline-offset:3px; }
@media(max-width:700px) { .article-featured { grid-template-columns:1fr; gap:12px; margin:0 0 28px; } .article-featured-card { padding:19px 20px 35px; } .article-featured-card h2 { font-size:18px; } .article-practical-table { font-size:13px; } .article-practical-table th,.article-practical-table td { padding:11px 12px; } }

/* Public fixed-page shortcuts and consultation preparation. */
.page-shortcuts { display:none; border-top:1px solid #e2e6e2; background:#f5f6f2; }
.page-shortcuts>.container { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0 12px; }
.page-shortcuts a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 4px; color:#334b55; font-size:12px; line-height:1.6; text-align:center; text-decoration:none; }
.page-shortcuts a:hover { color:#855b42; background:#ecefe7; }
.page-shortcuts a:focus-visible { outline:2px solid #a77b53; outline-offset:-3px; }
.service-preparation { margin:42px 0 35px; padding:26px 28px; border-top:2px solid #a68260; background:#f5f6f2; }
.service-preparation .service-preparation-eyebrow { margin:0 0 8px; font:10px Arial,sans-serif; letter-spacing:.12em; color:#89684b; }
.service-preparation h2 { margin:0 0 16px; padding:0; font-size:25px; }
.service-preparation-intro { color:#586b74; font-size:14px; line-height:1.9; margin-bottom:22px; }
.service-preparation-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 28px; margin:0; padding:0; list-style:none; }
.article-body .service-preparation-list>li { min-width:0; margin:0; padding:17px 0 0; border-top:1px solid #d9e0dc; }
.service-preparation-label { display:flex; gap:11px; align-items:flex-start; min-height:44px; cursor:pointer; font-size:16px; font-weight:600; line-height:1.65; color:#17323d; }
.service-preparation-label input { width:18px; height:18px; flex-shrink:0; margin:4px 0 0; accent-color:#17323d; cursor:pointer; }
.service-preparation-label input:focus-visible { outline:3px solid #c49a6d; outline-offset:3px; }
.service-preparation-label:has(input:checked) { color:#76573d; }
.service-preparation-list>li>p { margin:8px 0 0; font-size:13px; line-height:1.9; color:#526670; }
.service-preparation-links { display:flex; flex-wrap:wrap; gap:0 16px; margin-top:8px; }
.service-preparation-links a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:#76573d; text-underline-offset:4px; }
.service-preparation-links a:focus-visible { outline:2px solid #a77b53; outline-offset:3px; }
@media(max-width:1000px) { .page-shortcuts { display:block; } }
@media(max-width:600px) {
 .page-shortcuts>.container { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 5px; }
 .service-preparation { padding:23px 18px; margin:30px 0; }
 .service-preparation h2 { font-size:22px; }
 .service-preparation-list { grid-template-columns:1fr; gap:18px; }
 .service-preparation-intro { font-size:13px; }
 .service-preparation-label { font-size:15px; }
}
