:root{--blue:#456bc3;--ink:#293d54;--muted:#526377;--pale:#edf4f8;--line:#d9e2ea;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.045em}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}img{width:100%;height:100%;object-fit:cover;display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}.wrap{max-width:1120px;margin:0 auto;width:calc(100% - 112px)}.header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:relative;z-index:5;background:#fff}.brand{display:flex;align-items:center;gap:12px;line-height:1.3;white-space:nowrap}.brand svg{width:42px;height:48px;stroke:var(--blue);stroke-width:1.7;fill:none}.brand small{font-size:14px;letter-spacing:.23em}.brand b{display:block;font:500 29px var(--serif);letter-spacing:.16em;margin-top:5px}.brand-en{font:13px Georgia,serif;letter-spacing:.16em;display:inline-block;margin-left:13px}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav a:not(.nav-contact){text-align:center;transition:color .2s}.nav a:hover{color:var(--blue)}.nav small{display:block;font:13px Georgia,serif;letter-spacing:.14em;color:var(--muted);margin-top:4px}.nav .nav-contact{background:var(--blue);color:white;padding:19px 24px;margin-left:8px}.nav-contact span{margin-left:24px}.menu{display:none}.hero{height:720px;position:relative;max-width:1600px;margin:auto;isolation:isolate}.hero-wash{position:absolute;right:0;top:0;width:53%;height:100%;background:#e8f1f6;z-index:-2}.hero-en{position:absolute;top:-8px;left:8.8%;color:var(--blue);font:normal clamp(62px,7.8vw,116px)/1.2 Georgia,serif;letter-spacing:-.045em;z-index:2;white-space:nowrap}.hero-photo{position:absolute;right:4%;top:106px;width:60%;height:460px}.hero-photo img{object-position:55% center}.hero-copy{position:absolute;left:9%;top:166px;display:flex;flex-direction:row-reverse;gap:26px;align-items:flex-start}.hero-copy h1{font:500 29px/1.85 var(--serif);letter-spacing:.19em;writing-mode:vertical-rl}.hero-copy h1 br{display:block}.eyebrow{writing-mode:vertical-rl;font-size:14px;letter-spacing:.23em;line-height:1.8;color:#73849b;margin-top:7px}.vertical-rule{width:1px;height:48px;background:#9db5d1;position:absolute;bottom:-71px;left:0}.hero-bottom{position:absolute;bottom:44px;left:35.5%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.hero-bottom p{font-size:14px;line-height:2.2}.circle-link{display:flex;align-items:center;gap:22px;font-size:14px}.circle-link b{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--blue);color:#fff;font-size:22px;font-weight:400;transition:transform .2s}.circle-link:hover b{transform:translate(3px,-3px)}.scroll{position:absolute;bottom:48px;left:5%;font:13px var(--sans);letter-spacing:.16em;writing-mode:vertical-rl;display:flex;align-items:center;gap:16px}.scroll span{height:60px;width:1px;background:#b4c4d7}.news-strip{display:flex;gap:29px;align-items:center;padding:31px 0;border-bottom:1px solid var(--line);font-size:14px}.small-en,.section-label>span{font:13px var(--sans);letter-spacing:.17em;color:var(--blue)}.news-strip time{color:var(--muted);font-size:14px}.news-strip p{flex:1}.demo-tag{font-size:14px;border:1px solid var(--line);padding:3px 10px;letter-spacing:.12em;color:var(--muted)}.section{padding-top:116px;padding-bottom:116px}.section-label h2{font:500 32px/1.85 var(--serif);letter-spacing:.1em;margin-top:24px}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.about-text{padding-top:24px;color:#596c7b;font-size:14px;line-height:2.4}.about-text .lead{font-family:var(--serif);font-size:19px;line-height:2.1;color:var(--ink);margin-bottom:30px}.about-text p+p{margin-top:21px}.signature{color:var(--blue);font-family:var(--serif);font-size:15px}.values{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding-top:26px;gap:46px}.values>div{border-top:1px solid var(--line);padding-top:22px;position:relative}.values span{font:italic 22px Georgia,serif;color:#9eb9d7}.values h3{font:500 17px var(--serif);margin:18px 0 14px}.values p{font-size:14px;line-height:2.1;color:var(--muted)}.services{background:#f3f7fa}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-top>p{font-size:14px;color:var(--muted);padding-bottom:8px}.service-list{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:31px}.service-art{height:198px;display:flex;align-items:center;justify-content:center;background:#e7eff4}.service-art svg{width:155px;height:140px;fill:none;stroke:#597a9e;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.art-house{background:#e8eee9}.art-house svg{stroke:#748b80}.art-business{background:#e9edf5}.service-content{padding:27px 0 0}.service-content .small-en{font-size:14px;letter-spacing:.09em}.service-content h3{font:500 19px/1.8 var(--serif);margin-top:15px;letter-spacing:0}.service-content h3 small{display:block;font:13px var(--sans);color:var(--blue);margin-top:9px;letter-spacing:.1em}.service-content p{font-size:14px;line-height:2.1;color:var(--muted);margin-top:23px;letter-spacing:0}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 26px}.tags span{background:#fff;padding:3px 8px;font-size:14px;color:#697c8d}.text-link{border:0;border-bottom:1px solid #a8bcd1;padding:12px 0;background:none;display:flex;justify-content:space-between;width:100%;font-size:14px}.text-link span{font-size:20px;color:var(--blue)}.office-sign{font-size:14px;margin-top:32px}.office-sign strong{font:24px var(--serif);margin-left:13px;letter-spacing:.2em}.office-sign>span{display:block;font:13px Georgia,serif;margin-top:10px;letter-spacing:.12em}.price{background:#f4f7fa}.price-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:75px}.section-label>p{font-size:14px;line-height:2.2;margin-top:25px;color:var(--muted)}.price-note{display:block;font-size:14px;margin-top:25px;color:var(--muted)}.price-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cedbe6;padding:23px 0;gap:20px;font-size:14px}.price-row:first-child{padding-top:4px}.price-row>span>small{display:block;font-size:14px;color:var(--muted);margin-top:5px}.price-row strong{font:normal 28px Georgia,var(--serif);color:var(--blue);white-space:nowrap}.price-row strong small{font:13px var(--sans);margin-left:5px}.fine-print{font-size:14px;line-height:1.9;color:var(--muted);margin-top:22px}.steps{padding:0;margin:55px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.steps li{border-top:1px solid var(--line);padding:24px 0;position:relative}.steps li:not(:last-child):after{content:'→';position:absolute;right:4px;top:20px;color:#9fb3c9}.steps span{font:13px var(--sans);letter-spacing:.12em;color:var(--blue)}.steps h3{font:500 19px var(--serif);margin:23px 0 15px}.steps p{font-size:14px;color:var(--muted);line-height:2.1}.faq{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px;padding-top:10px}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}summary{display:flex;gap:15px;align-items:center;list-style:none;padding:25px 0;font-size:14px;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font:22px Georgia,serif;color:var(--blue)}summary b{font-size:20px;font-weight:400;margin-left:auto;color:var(--blue);transition:transform .2s}details[open] summary b{transform:rotate(45deg)}details>p{padding:0 28px 25px;font-size:14px;line-height:2.2;color:var(--muted)}.contact{position:relative;overflow:hidden;background:#e8f1f8;text-align:center;padding:85px 0}.contact-inner{position:relative;z-index:1}.contact h2{font:500 32px/1.7 var(--serif);letter-spacing:.1em;margin:25px 0 20px}.contact p{font-size:14px;line-height:2.1;color:#5c748a}.contact-button{border:0;background:var(--blue);color:#fff;margin:33px auto 12px;display:flex;align-items:center;justify-content:space-between;width:340px;max-width:100%;padding:24px 30px;font-size:14px}.contact-button span{font-size:20px}.contact-inner>small{font-size:14px;color:#69839d}.contact-meta{display:flex;justify-content:center;gap:22px;margin-top:30px;font-size:14px;color:#658098}.footer{padding-top:45px;padding-bottom:30px;display:flex;flex-wrap:wrap;align-items:center;gap:35px}.footer>div{font-size:14px}.footer small{font-size:14px;color:var(--muted)}.footer .brand small{font-size:14px}.copyright{margin-left:auto;font:13px var(--sans);color:#8496a7;letter-spacing:.08em}.skip{position:fixed;top:-100px;left:10px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}dialog{width:580px;max-width:calc(100% - 32px);max-height:90dvh;overflow:auto;border:0;padding:44px;color:var(--ink);box-shadow:0 20px 100px #1d385333}dialog::backdrop{background:#19334977;backdrop-filter:blur(4px)}dialog h2{font:500 23px/1.7 var(--serif);margin:20px 0}.close-dialog{position:absolute;right:16px;top:10px;font-size:28px;background:none;border:0}.dialog-intro{font-size:14px;color:var(--muted);margin-bottom:25px}form label{display:block;font-size:14px;margin:18px 0}form label>span{font-size:14px;color:var(--blue);margin-left:12px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#f8fafc;padding:10px 12px;margin-top:8px;color:var(--ink);font-size:14px}textarea{resize:vertical}.solid-button{width:100%;background:var(--blue);color:white;padding:15px;border:0;margin-top:18px;font-size:14px}.solid-button:hover,.contact-button:hover,.nav-contact:hover{background:#3557a5}.solid-button span{float:right}#service-description{font-size:14px;line-height:2.2}#service-points{padding-left:20px;font-size:14px;margin-top:24px}#review-values{font-size:14px;overflow-wrap:anywhere}#review-values dt{color:var(--blue);margin-top:16px}#review-values dd{margin:4px 0;white-space:pre-wrap}#form-result>p{font-size:14px;color:var(--muted)}
@media(min-width:1500px){.hero-copy{left:12%}.hero-en{left:11%}}
@media(max-width:1100px){.nav{gap:18px}.nav .nav-contact{padding:16px}.brand-en{display:none}.wrap{width:calc(100% - 72px)}.hero-copy{left:7%;gap:17px}.hero-copy h1{font-size:26px}.hero-en{left:7%}.hero-photo{width:60%;right:3%}.hero-bottom{left:34%;right:4%}.circle-link{gap:12px}.service-list{gap:22px}.price-grid{gap:45px}.faq{gap:35px}.copyright{width:100%;margin-left:0}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:84px;padding:0 6%}.brand b{font-size:25px}.brand svg{width:34px;height:40px}.brand small{font-size:14px}.brand-en{display:inline-block;font-size:14px}.menu{display:flex;flex-direction:column;justify-content:center;gap:7px;width:42px;height:42px;background:none;border:1px solid var(--line);padding:10px}.menu span{width:20px;height:1px;background:var(--blue);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:84px;left:0;right:0;padding:20px 6% 28px;background:white;box-shadow:0 20px 20px #263c4910}.nav.open{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nav .nav-contact{grid-column:1/-1;margin:0;text-align:center}.nav small{margin-top:2px}.hero{height:760px}.hero-en{font-size:clamp(34px,8.8vw,66px);left:6%;top:9px;letter-spacing:-.045em}.hero-wash{width:62%;top:55px;height:535px}.hero-photo{top:104px;right:0;width:69%;height:386px}.hero-photo img{object-position:62% center}.hero-copy{left:5%;top:118px;gap:12px}.hero-copy h1{font-size:22px;line-height:1.65;letter-spacing:.13em;background:#ffffffed;padding:12px 5px 20px}.eyebrow{position:absolute;left:0;top:310px;writing-mode:horizontal-tb;width:160px;font-size:14px;letter-spacing:.1em;line-height:2}.vertical-rule{display:none}.hero-bottom{bottom:40px;left:8%;right:8%;display:block}.hero-bottom p{font-size:14px}.circle-link{justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid #cbdbe8}.circle-link b{height:43px;width:43px}.scroll{display:none}.wrap{width:calc(100% - 48px)}.news-strip{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;padding:23px 0}.news-strip p{grid-column:1/-1;font-size:14px}.demo-tag{display:none}.section{padding-top:70px;padding-bottom:70px}.section-label h2{font-size:27px;margin-top:18px;line-height:1.8}.section-label>span{font-size:14px}.about{display:block}.about-text{padding-top:35px;font-size:14px}.about-text .lead{font-size:17px}.desktop{display:none}.values{display:block;padding-top:35px}.values>div{display:grid;grid-template-columns:35px 1fr;gap:4px 14px;padding:23px 0}.values span{grid-row:1/3;font-size:20px;padding-top:7px}.values h3{margin:0;font-size:16px}.values p{font-size:14px;line-height:1.9}.values p br{display:none}.section-top{display:block}.section-top>p{margin-top:24px;font-size:14px}.service-list{grid-template-columns:1fr;gap:44px;margin-top:34px}.service-art{height:180px}.service-content{padding-top:20px}.service-content h3{font-size:21px}.service-content p{font-size:14px}.service-content h3 small{font-size:14px}.tags{margin-bottom:12px}.text-link{font-size:14px;padding-bottom:13px}.price-grid{display:block}.price-grid>div+div{margin-top:38px}.price-row{font-size:14px;padding:21px 0}.price-row strong{font-size:25px}.fine-print{font-size:14px}.steps{grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:35px}.steps h3{font-size:17px;margin-top:18px}.steps p{font-size:14px}.steps p br{display:none}.steps li:nth-child(2):after{display:none}.faq{display:block;padding-top:0}.questions{margin-top:32px}summary{font-size:14px;gap:12px;padding:22px 0}summary b{flex-shrink:0}details>p{font-size:14px;padding:0 16px 22px}.contact{padding:64px 0}.contact h2{font-size:23px;letter-spacing:.02em}.contact p{font-size:14px}.contact-button{font-size:14px;padding:20px 24px}.contact-meta{display:block;font-size:14px}.contact-meta span{display:block}.footer{gap:24px;padding-top:36px;padding-bottom:28px}.footer>div{font-size:14px}.footer>div small{font-size:14px;display:block;margin-top:10px}.copyright{font-size:14px}dialog{padding:34px 24px}dialog h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(max-width:760px){.hero-copy .eyebrow{display:none}}
/* Reference-aligned typography and custom legal-service icon system. */
body{font-size:16px;color:#303d4b;letter-spacing:.035em}
.header{padding:0 3.5%;gap:24px}.brand svg{width:50px;height:50px}.brand small{font-size:12px}.brand-en{font-size:11px}.nav{gap:24px;font-size:14px;white-space:nowrap}.nav small{font-size:12px}.nav .nav-contact{padding:18px 22px}.nav-contact span{margin-left:12px}
.hero-en{font-size:clamp(64px,7.1vw,104px);letter-spacing:-.025em}.hero-copy{left:8%;gap:23px}.hero-copy h1{font-size:30px;letter-spacing:.12em;line-height:1.9}.eyebrow{font-size:13px;letter-spacing:.12em;color:#526377}.hero-bottom{left:35%;right:4%;gap:20px}.hero-bottom p{font-size:16px;line-height:1.9}.circle-link{font-size:15px;gap:16px;white-space:nowrap}.scroll{font-size:11px}
.news-strip{font-size:15px}.news-strip time{font-size:14px}.demo-tag{font-size:11px}.small-en,.section-label>span{font:20px/1.4 Georgia,serif;letter-spacing:.04em}.section-label h2{font-size:32px;line-height:1.75;letter-spacing:.06em}
.about{grid-template-columns:.85fr 1.3fr;gap:55px}.about-text{font:17px/2.1 var(--serif);color:#354453;padding-top:23px}.about-text .lead{font-size:23px;line-height:1.8}.values{gap:40px;padding-top:5px}.values h3{font-size:20px;line-height:1.7}.values p{font-size:16px;line-height:1.9}.values span{font-size:30px;color:var(--blue);font-style:normal}.section-top>p,.section-label>p{font:17px/1.9 var(--serif);color:#465566}
.services{background:#f3f7fb}.service-list{gap:34px}.service-art{background:transparent;height:190px;border-bottom:1px solid #cbd9e6;justify-content:flex-start}.service-art svg{width:156px;height:145px;stroke:#294b80;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.service-art .icon-wash{fill:#e1eaf4;stroke:none}.service-art .icon-secondary{stroke:#6a85a7;fill:#f7f9fc}.service-art .icon-seal{fill:#f2eddf;stroke:#9a8151}.service-art .icon-accent{stroke:#9a8151}.service-content .small-en{font:12px/1.5 var(--sans);letter-spacing:.09em}.service-content h3{font-size:27px;margin-top:13px}.service-content h3 small{font:14px/1.7 var(--sans);letter-spacing:0;color:#526377}.service-content p{font:16px/1.95 var(--serif);color:#354453;letter-spacing:.02em;min-height:125px}.tags{gap:0;display:block;border-left:2px solid #c5d2e3;padding-left:14px;margin:22px 0}.tags span{font-size:13px;background:transparent;padding:0;display:block;line-height:1.95}.text-link{font-size:16px;padding:15px 0}.text-link span{font-size:22px}
.price{background:#fff}.price-note,.fine-print{font-size:13px;line-height:1.9}.price-row{font-size:17px}.price-row>span>small{font-size:13px}.price-row strong{font-size:30px}.price-row strong small{font-size:15px}.flow{border-top:1px solid var(--line)}.steps span{font-size:13px}.steps h3{font-size:22px;line-height:1.5}.steps p{font-size:16px;line-height:1.9}.steps p br{display:none}.faq{grid-template-columns:.75fr 1.4fr;gap:60px}summary{font-size:16px;line-height:1.8}summary>span{flex-shrink:0}summary b{flex-shrink:0}details>p{font-size:16px;line-height:1.9}
.contact h2{font-size:34px}.contact p{font:18px/1.9 var(--serif);color:#354453}.contact-button{font-size:17px;width:380px}.contact-inner>small,.contact-meta{font-size:13px}.footer>div{font-size:15px}.footer small{font-size:12px}.copyright{font-size:11px}.office-sign{font-size:14px}
.dialog-intro,.fine-print,#form-result>p{font-size:13px}form label{font-size:15px}form label>span{font-size:12px}input,textarea,select,.solid-button,#review-values,#service-description,#service-points{font-size:16px}.solid-button{min-height:52px}dialog h2{font-size:25px}.close-dialog{width:44px;height:44px}
@media(max-width:1150px) and (min-width:761px){.brand-en{display:none}.header{padding:0 24px;gap:16px}.nav{gap:16px;font-size:13px}.nav .nav-contact{padding:16px}.hero-bottom{left:33%;gap:16px}.hero-bottom p{font-size:15px}.circle-link{font-size:14px;gap:10px}.hero-copy{left:6%}.hero-copy h1{font-size:27px}.eyebrow{display:none}.service-content h3{font-size:25px}}
@media(max-width:960px) and (min-width:761px){.nav small{display:none}.nav{gap:12px}.nav .nav-contact{padding:13px}.brand b{font-size:25px}.brand svg{width:38px}.hero-bottom{left:31%}.hero-bottom p{font-size:14px}.circle-link{font-size:13px}.circle-link b{width:40px;height:40px}.about{gap:30px}.section-label h2{font-size:28px}.service-list{gap:24px}.service-content h3 small{min-height:48px}.price-grid{gap:35px}}
@media(max-width:760px){.header{height:88px;padding:0 6%;gap:12px}.brand svg{width:43px;height:43px}.brand small{font-size:11px}.brand b{font-size:26px}.brand-en{font-size:10px}.nav{top:88px;font-size:15px}.nav small{font-size:12px}.menu{height:44px;width:44px;flex-shrink:0}.hero{height:790px}.hero-en{font-size:clamp(31px,8.5vw,60px);left:6%;top:15px;letter-spacing:-.035em}.hero-copy{left:5%;top:126px;gap:0}.hero-copy h1{font-size:23px;line-height:1.65;letter-spacing:.10em;padding:14px 5px 18px}.hero-photo{top:108px;height:390px;width:66%}.hero-photo img{object-position:62% center}.hero-wash{height:540px}.hero-bottom{left:7%;right:7%;bottom:38px}.hero-bottom p{font-size:16px;line-height:1.9}.circle-link{font-size:16px;white-space:normal}.circle-link b{width:48px;height:48px}.news-strip{padding:25px 0;gap:10px 20px}.news-strip p{font-size:14px}.news-strip time{font-size:13px}.small-en,.section-label>span{font-size:19px}.section-label h2{font-size:28px;line-height:1.7}.about-text{font-size:16px;line-height:2;padding-top:32px}.about-text .lead{font-size:20px;line-height:1.9}.about-text .lead br{display:none}.values{padding-top:30px}.values>div{grid-template-columns:34px 1fr;padding:24px 0;gap:8px 14px}.values span{font-size:23px}.values h3{font-size:18px}.values p{font-size:15px}.section-top>p,.section-label>p{font-size:16px;line-height:1.9}.service-list{gap:45px}.service-art{height:155px}.service-art svg{height:132px;width:145px}.service-content h3{font-size:27px}.service-content h3 small{font-size:14px}.service-content p{font-size:16px;min-height:0;line-height:1.95}.tags{display:flex;flex-wrap:wrap;gap:4px 13px;margin:19px 0}.tags span{font-size:13px}.text-link{font-size:16px}.price-row{font-size:16px}.price-row strong{font-size:27px}.price-row strong small{font-size:14px}.price-note,.fine-print{font-size:12px}.steps{grid-template-columns:1fr;margin-top:30px;gap:0}.steps li{padding:25px 0 25px 80px}.steps span{position:absolute;left:0;top:27px;font-size:12px}.steps h3{font-size:21px;margin:0 0 10px}.steps p{font-size:15px}.steps li:after{display:none}.faq{gap:0}.questions{margin-top:30px}summary{font-size:16px;line-height:1.8;gap:10px}summary>span{font-size:22px}details>p{font-size:15px;padding:0 0 25px 30px}.contact h2{font-size:26px}.contact p{font-size:16px}.contact p br{display:none}.contact-button{font-size:16px;padding:20px 24px}.contact-inner>small,.contact-meta{font-size:12px}.footer>div{font-size:14px}.footer>div small{font-size:12px;line-height:1.9}.footer .brand small{font-size:11px}.copyright{font-size:10px}dialog{padding:40px 24px 28px}dialog h2{font-size:23px}.dialog-intro{font-size:13px}}
/* Photographic hero and detailed, original service illustrations. */
.hero-photo img{object-position:57% 52%}
.service-art{height:244px;justify-content:center;margin-bottom:4px}
.service-art>img{display:block;width:100%;height:234px;max-width:350px;object-fit:contain}
.photo-credit{font:11px/1.8 var(--sans);color:#526377;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.hero-photo{width:68%}.hero-photo img{object-position:51% center}.service-art{height:225px}.service-art>img{height:220px;max-width:320px}.photo-credit{font-size:11px}}

/* Restore the first-version first view; retain subsequent body improvements. */
.hero .eyebrow{display:block}
.hero .circle-link{white-space:normal}
.hero{height:720px;position:relative;max-width:1600px;margin:auto;isolation:isolate}
.hero-wash{position:absolute;right:0;top:0;width:53%;height:100%;background:#e8f1f6;z-index:-2}
.hero-en{position:absolute;top:-8px;left:8.8%;color:var(--blue);font:normal clamp(62px,7.8vw,116px)/1.2 Georgia,serif;letter-spacing:-.045em;z-index:2;white-space:nowrap}
.hero-photo{position:absolute;right:4%;top:106px;width:60%;height:460px}
.hero-photo img{object-position:55% center}
.photo-caption{position:absolute;bottom:-29px;right:0;font:italic 12px Georgia,serif;color:#69849d;letter-spacing:.05em}
.hero-copy{position:absolute;left:9%;top:166px;display:flex;flex-direction:row-reverse;gap:26px;align-items:flex-start}
.hero-copy h1{font:500 29px/1.85 var(--serif);letter-spacing:.19em;writing-mode:vertical-rl}
.hero-copy h1 br{display:block}
.eyebrow{writing-mode:vertical-rl;font-size:10px;letter-spacing:.23em;line-height:1.8;color:#73849b;margin-top:7px}
.vertical-rule{width:1px;height:48px;background:#9db5d1;position:absolute;bottom:-71px;left:0}
.hero-bottom{position:absolute;bottom:44px;left:35.5%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero-bottom p{font-size:12px;line-height:2.2}
.circle-link{display:flex;align-items:center;gap:22px;font-size:12px}
.circle-link b{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--blue);color:#fff;font-size:22px;font-weight:400;transition:transform .2s}
.circle-link:hover b{transform:translate(3px,-3px)}
.scroll{position:absolute;bottom:48px;left:5%;font:9px var(--sans);letter-spacing:.16em;writing-mode:vertical-rl;display:flex;align-items:center;gap:16px}
.scroll span{height:60px;width:1px;background:#b4c4d7}
@media(min-width:1500px){.hero-copy{left:12%}
.hero-en{left:11%}}
@media(max-width:1100px){.hero-copy{left:7%;gap:17px}
.hero-copy h1{font-size:26px}
.hero-en{left:7%}
.hero-photo{width:60%;right:3%}
.hero-bottom{left:34%;right:4%}
.circle-link{gap:12px}}
@media(max-width:760px){.hero{height:760px}
.hero-en{font-size:clamp(34px,8.8vw,66px);left:6%;top:9px;letter-spacing:-.045em}
.hero-wash{width:62%;top:55px;height:535px}
.hero-photo{top:104px;right:0;width:69%;height:386px}
.hero-photo img{object-position:62% center}
.photo-caption{font-size:8px;right:10px;bottom:-21px}
.hero-copy{left:5%;top:118px;gap:12px}
.hero-copy h1{font-size:22px;line-height:1.65;letter-spacing:.13em;background:#ffffffed;padding:12px 5px 20px}
.eyebrow{position:absolute;left:0;top:310px;writing-mode:horizontal-tb;width:160px;font-size:8px;letter-spacing:.1em;line-height:2}
.vertical-rule{display:none}
.hero-bottom{bottom:40px;left:8%;right:8%;display:block}
.hero-bottom p{font-size:12px}
.circle-link{justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid #cbdbe8}
.circle-link b{height:43px;width:43px}
.scroll{display:none}}
@media(max-width:760px){.hero-copy .eyebrow{display:none}}
@media(max-width:760px){.hero .eyebrow{display:none}}

/* Quiet, clearly labelled consultation calls to action. */
.nav .nav-contact,.consultation-cta,.contact-button,.solid-button{background:#294b70;color:#fff;border:1px solid #294b70;border-radius:2px;transition:background .2s,border-color .2s;letter-spacing:.06em;font-weight:500;text-align:center}
.nav .nav-contact{padding:16px 24px}
.nav .nav-contact:hover,.consultation-cta:hover,.contact-button:hover,.solid-button:hover{background:#1c3856;border-color:#1c3856;color:#fff}
.consultation-cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;min-width:206px;padding:14px 24px;font-size:16px;flex-shrink:0}
.text-link{display:inline-block;width:auto;min-height:44px;padding:10px 0;border-bottom:1px solid #7f95aa;color:#294b70;transition:color .2s,border-color .2s}
.text-link:hover{color:#172e48;border-color:#172e48}
.contact{padding:88px 0;background:#edf3f6;text-align:left;border-top:1px solid #d8e2e8}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.contact h2{font:500 34px/1.75 var(--serif);letter-spacing:.07em;margin:20px 0 22px}
.contact-message>p{font:16px/2 var(--sans);color:#526377}
.contact-action{background:#fff;padding:38px 36px 30px;text-align:center;border-top:3px solid #294b70}
.contact .consultation-label{font:14px/1.8 var(--sans);color:#526377}
.contact .consultation-offer{font:18px/1.7 var(--serif);margin:8px 0 24px;color:#294b70}
.consultation-offer strong{font-size:30px;font-weight:500;margin-left:12px}
.contact-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;padding:18px 16px;margin:0;font-size:17px}
.contact .contact-caption{font:12px/1.8 var(--sans);margin-top:14px;color:#526377}
.contact-meta{display:block;margin-top:24px;padding-top:20px;border-top:1px solid #e0e6eb;color:#526377;font:12px/2 var(--sans)}
.contact-meta span{display:block}
@media(max-width:1100px) and (min-width:761px){.consultation-cta{min-width:180px;padding:14px 18px;font-size:15px}.contact-inner{gap:36px}.contact-action{padding:30px 24px}.contact h2{font-size:30px}}
@media(max-width:760px){.consultation-cta{width:100%;margin-top:22px;min-height:56px;font-size:16px}.hero-bottom{bottom:32px}.contact{padding:60px 0}.contact-inner{grid-template-columns:1fr;gap:32px}.contact h2{font-size:28px;margin:16px 0 20px}.contact-message>p{font-size:15px}.contact-action{padding:28px 22px}.contact-button{font-size:16px;min-height:60px}.consultation-offer strong{font-size:28px}.contact .contact-caption{font-size:12px}.nav .nav-contact{padding:16px 20px}}
