
:root{--ink:#1d2d29;--forest:#25483d;--moss:#647b6e;--cream:#f6f3ec;--paper:#fffefa;--sand:#e9e2d6;--taupe:#b8aea1;--copper:#be8565;--outline:rgba(28,47,41,.16);--shadow:0 24px 65px rgba(25,39,35,.11);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;line-height:1.85;font-size:15.5px}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.42;letter-spacing:-.035em}h1{font-size:clamp(2.25rem,5.2vw,5.1rem);font-weight:700}h2{font-size:clamp(1.85rem,3.4vw,3rem)}h3{font-size:clamp(1.23rem,2vw,1.55rem)}p{line-height:1.95}ul{padding-left:1.4em}li{margin:.45em 0}small{font-size:.8rem}.shell{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,70px)}.skip{position:absolute;left:-10000px;top:0;background:white;z-index:90;padding:10px}.skip:focus{left:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(246,243,236,.96);border-bottom:1px solid var(--outline);backdrop-filter:blur(14px)}.header-in{display:flex;min-height:79px;align-items:center;gap:22px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:max-content;font:700 1.3rem Georgia,serif;letter-spacing:.075em}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:var(--forest);color:var(--cream);border-radius:11px;font-family:Georgia,serif;font-size:1.4rem}.nav{display:flex;align-items:center;gap:25px;font-size:.89rem;font-weight:600}.nav a:not(.button):hover,.footer-links a:hover{color:var(--copper)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 23px;border:1px solid transparent;border-radius:7px;background:var(--forest);color:white;font-weight:700;line-height:1.35;transition:background .2s,transform .2s;white-space:normal}.button:hover{background:#19342a;transform:translateY(-2px)}.button.ghost{background:transparent;color:var(--forest);border-color:var(--outline)}.button.ghost:hover{background:var(--sand)}.button.cream{background:var(--cream);color:var(--forest)}.button.cream:hover{background:#fff}.hamb{display:none;border:0;background:transparent;padding:9px;border-radius:5px;font-size:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--copper);margin-bottom:14px}.eyebrow.dark{color:var(--forest)}.intro{font-size:clamp(1.03rem,1.25vw,1.16rem);line-height:1.95;max-width:690px;color:#53635d}.section{padding:clamp(70px,9vw,130px) 0}.section.alt{background:var(--paper)}.section-head{max-width:760px;margin-bottom:42px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-frame{position:relative;overflow:hidden;border-radius:9px;background:var(--sand);isolation:isolate}.photo-frame img{height:100%;width:100%;object-fit:cover;transition:transform 1.05s var(--ease);transform:scale(1.001)}.photo-frame:hover img,.photo-frame:focus-within img{transform:scale(1.105)}.photo-note{font-size:.75rem;color:#5f6e66;margin-top:14px}.hero{background:#e8e8dc;position:relative;overflow:hidden}.hero-body{display:grid;grid-template-columns:1.02fr .98fr;min-height:610px}.hero-copy{align-self:center;padding:70px 52px 75px max(20px,calc((100vw - 1240px)/2 + 70px));position:relative;z-index:2}.hero-copy h1{max-width:670px;margin-bottom:23px;font-size:clamp(2.3rem,4.5vw,3.95rem)}.hero-copy p{font-size:1.08rem;max-width:585px;color:#4a5d54}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}.hero-visual{position:relative;overflow:hidden;min-height:550px;background:#234338}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.25s var(--ease)}.hero-visual:hover img{transform:scale(1.085)}.hero-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(31,58,45,.10),transparent 65%)}.hero-caption{position:absolute;bottom:35px;left:35px;right:35px;z-index:2;max-width:340px;color:white;background:rgba(28,54,41,.77);padding:16px 20px;border:1px solid rgba(255,255,255,.23);border-radius:7px;backdrop-filter:blur(8px);font-size:.9rem}.overline{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--outline);padding-bottom:19px;margin-bottom:26px}.overline span{font-size:.83rem;color:var(--moss)}.service-card{background:var(--paper);border:1px solid var(--outline);border-radius:10px;overflow:hidden;min-height:100%;display:flex;flex-direction:column}.service-card .photo-frame{height:235px;border-radius:0}.card-body{padding:25px 24px 29px;flex:1}.card-body p{color:#51665c;font-size:.95rem}.card-num{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:#a07557;margin-bottom:13px}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--forest);padding-bottom:3px;border-bottom:1px solid var(--forest)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(35px,7vw,100px)}.split .photo-frame{height:510px}.text-stack p{color:#526259}.number-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--outline);margin-top:35px}.number-strip>div{padding:22px 24px 0 0}.number-strip strong{display:block;font-size:1.1rem}.number-strip span{color:#64746c;font-size:.83rem}.editorial{background:var(--forest);color:#f5f4ee}.editorial .intro,.editorial p{color:#d7e0d8}.editorial .eyebrow{color:#d8bba6}.editorial .photo-frame{height:450px}.editorial .text-link{color:#fff;border-color:#fff}.journal-item{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:center;background:var(--paper);border:1px solid var(--outline);padding:18px;border-radius:10px}.journal-item .photo-frame{height:220px}.journal-item h3{margin-bottom:9px}.journal-item p{font-size:.93rem;color:#617068}.journal-item .card-num{margin-bottom:6px}.journal-list{display:grid;gap:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:2px solid var(--forest);padding:20px 14px 0 0}.step strong{display:block;font:700 1.8rem Georgia,serif;color:var(--copper);margin-bottom:16px}.step p{color:#596c60}.contact-band{background:var(--forest);color:white;padding:68px 0}.band-flex{display:flex;align-items:center;justify-content:space-between;gap:25px}.band-flex h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:12px}.band-flex p{margin-bottom:0;color:#d4e1d6}.footer{background:#192c24;color:#e8eae5;padding:55px 0 26px}.footer-main{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:40px}.footer .brand{margin-bottom:18px}.footer p,.footer li{color:#d0d9d1;font-size:.9rem}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:12px}.footer h3{font-size:.9rem;letter-spacing:.08em}.footer-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;padding-top:28px;margin-top:32px;border-top:1px solid rgba(255,255,255,.17);font-size:.79rem;color:#d0d9d1}.page-hero{background:var(--forest);color:white;padding:75px 0 88px}.page-hero h1{font-size:clamp(2rem,4.5vw,3.7rem);max-width:900px}.page-hero p{max-width:720px;color:#d4e1d9}.page-hero .eyebrow{color:#d8bba6}.article-layout{display:grid;grid-template-columns:270px 1fr;gap:55px}.article-toc{position:sticky;top:110px;align-self:start;padding:20px 20px;border:1px solid var(--outline);border-radius:9px;background:var(--paper)}.article-toc a{display:block;padding:9px 0;font-size:.88rem;color:var(--forest);border-bottom:1px solid var(--outline)}.article-content{max-width:780px}.article-content section{margin-bottom:45px}.article-content h2{font-size:1.7rem;margin-bottom:15px}.article-content p,.article-content li{color:#4f6056}.article-content .photo-frame{height:360px;margin:20px 0 25px}.article-intro{font-size:1.07rem;color:#4d6154;max-width:740px}.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:55px}.legal-nav{position:sticky;top:108px;align-self:start;border:1px solid var(--outline);border-radius:10px;padding:19px;background:var(--paper)}.legal-nav a{display:block;padding:10px 0;border-bottom:1px solid var(--outline);font-size:.87rem;color:var(--forest)}.legal-section{max-width:805px;margin-bottom:37px;border-bottom:1px solid var(--outline);padding-bottom:28px}.legal-section h2{font-size:1.45rem}.legal-section p,.legal-section li{color:#56665d}.operator{background:#e9eee7;border:1px solid #d5ded4;border-radius:9px;padding:23px 26px;margin-bottom:35px}.operator dl{display:grid;grid-template-columns:150px 1fr;margin:0;gap:10px}.operator dt{font-weight:700}.operator dd{margin:0}.form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px}.contact-info{padding:32px;border:1px solid var(--outline);background:var(--paper);border-radius:10px}.contact-info a{color:var(--forest);font-weight:700;overflow-wrap:anywhere}.form-panel{background:var(--paper);padding:clamp(22px,4vw,45px);border-radius:11px;border:1px solid var(--outline)}.field{margin-bottom:20px}.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;background:#fff;border:1px solid #bdc8bc;padding:13px 14px;border-radius:6px;color:var(--ink);min-height:49px;outline:0}.field textarea{min-height:154px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(37,72,61,.14)}.field-error{display:none;color:#a63b33;font-size:.85rem;margin-top:4px}.field.invalid .field-error{display:block}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:#a63b33}.privacy-check{display:flex;align-items:flex-start;gap:10px;margin:15px 0 24px;font-size:.85rem}.privacy-check input{margin-top:8px}.privacy-check a{text-decoration:underline}.form-hint{color:#64746c;font-size:.85rem;line-height:1.75;margin:14px 0 0}.modal{position:fixed;inset:0;background:rgba(12,22,17,.69);z-index:100;display:none;justify-content:center;align-items:center;padding:18px}.modal[aria-hidden="false"]{display:flex}.modal-card{background:var(--paper);width:min(730px,100%);max-height:90vh;overflow-y:auto;border-radius:13px;padding:clamp(19px,3vw,32px);box-shadow:0 30px 100px #07130c66}.modal-head{display:flex;gap:15px;justify-content:space-between}.modal-head h2{font-size:1.6rem;margin-bottom:9px}.modal-head p{font-size:.89rem;color:#5c6d63}.close{border:0;background:#ebece7;color:var(--forest);border-radius:50%;min-width:38px;height:38px;font-size:1.5rem}.providers{margin-top:20px}.provider{border:1px solid #c7d0c5;background:#fff;border-radius:9px;min-height:72px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 8px;font-weight:700;color:var(--forest)}.provider:hover,.provider:focus-visible{border-color:var(--forest);background:#e4ebe3}.provider.app{grid-column:1/-1;background:#e4ebe3}.fallback{background:#f0f0e9;border:1px solid #d5d9cf;border-radius:9px;padding:19px;margin-top:20px}.fallback[hidden]{display:none}.copy-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.copy-row label{display:block;font-size:.78rem;font-weight:700;grid-column:1/-1}.copy-row input,.copy-row textarea{width:100%;min-width:0;padding:9px;border:1px solid #ccd2c9;border-radius:5px;background:white}.copy-row textarea{min-height:80px;max-height:125px}.copy-row button{background:var(--forest);color:white;border:none;border-radius:5px;padding:8px 14px;font-weight:700}.copy-status{font-size:.83rem;color:var(--forest);min-height:1.6rem}.modal-note{font-size:.78rem;color:#6b7970}.notice{background:#fff6e9;border-left:3px solid var(--copper);padding:16px 18px;border-radius:5px;color:#6c5844}.mobile-menu{display:none}.zoom-note{font-size:.8rem;color:#64736a}.article-bottom-action{margin-top:28px}.theme-label{color:#53655b}.accent-bar{height:3px;width:65px;background:var(--copper);margin:22px 0}
a:focus-visible,button:focus-visible{outline:3px solid #c18a6a;outline-offset:4px}
@media(max-width:1000px){.nav{gap:14px}.nav a{font-size:.81rem}.hero-copy{padding-left:30px}.hero-body{min-height:540px}.article-layout,.legal-grid{grid-template-columns:1fr}.article-toc,.legal-nav{position:static}.legal-nav{display:flex;flex-wrap:wrap;gap:12px}.legal-nav a{border:0;padding:6px}.form-layout{grid-template-columns:1fr}}
@media(max-width:760px){.header-in{min-height:70px}.hamb{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:15px 23px 27px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:11px 4px;font-size:.95rem}.nav .button{margin-top:12px}.hero-body{display:flex;flex-direction:column-reverse}.hero-copy{padding:40px 20px 52px}.hero-visual{min-height:345px}.hero-caption{left:20px;bottom:17px;font-size:.75rem}.grid3,.split,.steps,.footer-main{grid-template-columns:1fr}.split .photo-frame{height:320px}.section{padding:70px 0}.grid3{gap:15px}.number-strip{grid-template-columns:1fr}.number-strip>div{padding:15px 0;border-bottom:1px solid var(--outline)}.journal-item{grid-template-columns:1fr}.journal-item .photo-frame{height:210px}.band-flex{flex-direction:column;align-items:flex-start}.footer-main{gap:24px}.page-hero{padding:65px 0}.operator dl{grid-template-columns:1fr;gap:5px}.operator dt:not(:first-child){margin-top:7px}.provider{min-height:65px;font-size:.78rem;word-break:break-word}.form-layout{gap:25px}}
@media(max-width:370px){.hero-visual{min-height:285px}.modal{padding:8px}.modal-card{padding:18px 14px}.shell{padding:0 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-frame img,.hero-visual img,.button{transition:none!important;transform:none!important}}

.field,.form-panel{min-width:0}.field .privacy-check{display:flex}.field .privacy-check input{width:18px;min-height:18px;height:18px;flex-shrink:0;margin-top:4px}.form-panel{scroll-margin-top:100px}#contact-form{scroll-margin-top:100px}.button:disabled{opacity:.6;cursor:default}[aria-disabled="true"]{opacity:.6;cursor:not-allowed}.eyebrow{color:#866044}.editorial .eyebrow,.page-hero .eyebrow,.contact-band .eyebrow{color:#d8bba6}
