:root{color-scheme:light;--ink:#17262b;--muted:#5c6b6e;--line:#d7dfdc;--paper:#fff;--cream:#f5f3ed;--green:#34594c;--gold:#bd9b57;--navy:#18334b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.85}a{color:inherit;text-underline-offset:4px;overflow-wrap:anywhere}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:anywhere}img,svg{max-width:100%}.wrap{width:min(1120px,90%);margin-inline:auto}.masthead{border-bottom:1px solid var(--line)}.masthead .wrap{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.brand{font-weight:700;text-decoration:none;max-width:58%}.nav{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.85rem}.nav a{text-decoration:none}.eyebrow{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase}.lead{max-width:45rem;font-size:1.07rem;line-height:2}.button{display:inline-block;border:1px solid currentColor;padding:.72rem 1.3rem;text-decoration:none;font-weight:600}.section{padding:5.5rem 0}.section-head{margin-bottom:2.3rem}.section-head h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.45;margin-bottom:.6rem}.section-head p{color:var(--muted);max-width:46rem}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.service{border:1px solid var(--line);padding:1.5rem}.service h3{margin-bottom:.5rem}.service p{margin:0;color:var(--muted)}.fees{border-top:1px solid var(--line)}.fee{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);align-items:baseline}.fee strong{text-align:right}.note{font-size:.84rem;color:var(--muted);margin:1rem 0}.facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:.75rem 1.4rem;padding:0;margin:1.8rem 0}.facts dt{font-weight:700}.facts dd{margin:0;overflow-wrap:anywhere}.official-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.endcap{padding:4.5rem 0;text-align:center}.endcap h2{font-size:1.8rem}.endcap p{color:var(--muted)}.footer{border-top:1px solid var(--line);padding:1.5rem 0;color:var(--muted);font-size:.82rem}.footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.kicker{font-size:.76rem;letter-spacing:.14em;color:var(--muted)}
/* Comparison index intentionally uses text-only cards without decorative thumbnails. */
.compare{background:var(--cream);min-height:100vh}.compare-main{padding:clamp(3rem,8vw,7rem) 0}.compare-wrap{width:min(1080px,90%);margin:auto}.compare h1{font:500 clamp(2rem,4vw,3.2rem)/1.35 "Yu Mincho","Hiragino Mincho ProN",serif}.compare-intro{max-width:48rem;color:#46585a}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cbd2cd;border:1px solid #cbd2cd;margin-top:3rem}.compare-card{background:#fff;padding:clamp(1.2rem,3vw,2rem)}.compare-card small{font-size:.7rem;letter-spacing:.18em}.compare-card h2{font-size:1.35rem;margin:.65rem 0}.compare-card p{color:var(--muted);min-height:5.5em}.compare-card a{display:inline-block;padding:.6rem 0;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
/* A: composed corporate hierarchy, navy field and restrained gold. */
.a{--accent:var(--navy);--accent-soft:#eaf0f3;--title-font:"Yu Mincho","Hiragino Mincho ProN",serif}.a .masthead{background:white}.a .hero{background:var(--navy);color:white;padding:clamp(3rem,8vw,7rem) 0;position:relative;overflow:hidden}.a .hero:after{content:"";position:absolute;right:-2rem;top:0;width:22%;height:100%;border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.12);transform:skew(-18deg);pointer-events:none}.a .hero-inner{position:relative;z-index:1}.a .hero .eyebrow{color:#e0c684}.a .hero h1{font:500 clamp(2.5rem,6vw,5rem)/1.42 var(--title-font);max-width:12em;margin:.8rem 0 1rem}.a .hero .lead{color:#e9eff1}.a .hero .button{color:#142b3d;background:#e0c684;border-color:#e0c684;margin-top:1rem}.a .feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.a .feature{padding:1.5rem;border-right:1px solid var(--line)}.a .feature:last-child{border-right:0}.a .feature b{display:block;color:var(--gold);font:3rem/1 Georgia,serif;margin-bottom:.8rem}.a .expert-band{background:#eef2f3;border-left:5px solid var(--gold);padding:2rem;margin-top:2rem}.a .expert-band h3{font:500 1.4rem var(--title-font)}.a .service{border-top:3px solid var(--navy)}.a .endcap{background:var(--navy);color:white}.a .endcap p{color:#e4ebef}.a .endcap .button{color:#142b3d;background:#e0c684;border-color:#e0c684}
/* B: editorial rhythm, vertical statement on wide screens and alternating rows. */
.b{--accent:var(--green);--title-font:"Yu Mincho","Hiragino Mincho ProN",serif;background:#fdfcf8}.b .masthead{border-color:#bdc9c1}.b .hero{width:min(1120px,90%);margin:3.5rem auto 0;display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,6vw,6rem);align-items:center}.b .hero-vertical{writing-mode:vertical-rl;font:500 clamp(2.3rem,4vw,4rem)/1.7 var(--title-font);letter-spacing:.12em;margin:0;justify-self:center}.b .hero-copy{border-top:1px solid #97aa9e;padding-top:1.5rem}.b .hero-copy h1{font:500 clamp(1.8rem,3vw,2.6rem)/1.5 var(--title-font)}.b .hero .button{color:var(--green);margin-top:1rem}.b .feature-list{display:grid;gap:0}.b .feature{display:grid;grid-template-columns:110px minmax(0,1fr);gap:2rem;padding:2rem 0;border-top:1px solid #aab9af}.b .feature:last-child{border-bottom:1px solid #aab9af}.b .feature b{font:300 3rem/1 Georgia,serif;color:var(--green)}.b .feature h3{font:500 1.3rem var(--title-font)}.b .feature p{color:var(--muted);margin:0}.b .service-list{border-top:1px solid #9eaea4}.b .service{border:0;border-bottom:1px solid #9eaea4;padding:1.2rem .3rem;display:grid;grid-template-columns:minmax(9rem,.65fr) 1.35fr;gap:1rem}.b .service h3,.b .service p{margin:0}.b .service p{color:var(--muted)}.b .expert-band{border-block:1px solid #9eaea4;padding:2rem 0;margin:2rem 0}.b .endcap{background:#e9eee9}
/* C: approachable regional entry with green color planes and consultation routes. */
.c{--accent:#446f5a;--title-font:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif}.c .masthead{background:#f4f7f1}.c .hero{background:#e9efe7;padding:2rem 0 3rem}.c .hero-inner{width:min(1120px,90%);margin:auto}.c .hero-ribbon{max-width:45rem;background:#456b57;color:white;padding:clamp(1.5rem,4vw,3rem);border-left:8px solid #b7c98a}.c .hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.35;margin:.5rem 0}.c .hero .eyebrow{color:#e7efd9}.c .hero .lead{color:#f1f5ed}.c .hero .button{background:white;color:#345744;border-color:white;margin-top:1rem}.c .theme-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.6rem}.c .theme-links a{border:1px solid #78917f;border-radius:99px;padding:.38rem .8rem;background:#f8faf5;text-decoration:none;font-size:.87rem}.c .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.c .feature{background:#f0f4eb;padding:1.5rem;border-bottom:3px solid #8ba176}.c .feature b{color:#547252;font-size:.82rem;letter-spacing:.12em}.c .feature h3{margin:.35rem 0}.c .feature p{margin:0;color:var(--muted)}.c .service{border:1px solid #a8b99d;background:#fbfcf8}.c .expert-band{background:#dce7d9;padding:2rem;margin-top:2rem}.c .endcap{background:#446b56;color:white}.c .endcap p{color:#edf3e9}.c .endcap .button{background:white;color:#345744}
@media(max-width:760px){.masthead .wrap{align-items:flex-start;flex-direction:column;padding:1rem 0}.brand{max-width:100%}.nav{gap:.7rem 1.1rem}.section{padding:3.5rem 0}.compare-grid{grid-template-columns:1fr}.compare-card p{min-height:0}.compare-card{padding:1.4rem}.services,.a .feature-list,.c .feature-list{grid-template-columns:1fr}.a .feature{border-right:0;border-bottom:1px solid var(--line)}.a .feature:last-child{border-bottom:0}.b .hero{grid-template-columns:1fr;gap:1rem;margin-top:2.2rem}.b .hero-vertical{writing-mode:horizontal-tb;justify-self:start}.b .service{grid-template-columns:1fr;gap:.2rem}.b .feature{grid-template-columns:58px 1fr;gap:1rem;padding:1.5rem 0}.b .feature b{font-size:2.2rem}.c .hero{padding:1.2rem 0 2rem}.c .hero-ribbon{max-width:none}.fee{grid-template-columns:1fr;gap:.1rem}.fee strong{text-align:left}.facts{grid-template-columns:1fr;gap:.15rem}.facts dd{margin-bottom:.7rem}.official-links{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Original imagegen assets: fictional illustrative interiors, clearly labeled as imagery. */
.a .hero-image{width:min(1120px,90%);height:clamp(280px,48vw,560px);margin:1.6rem auto 0;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2)}
.a .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.a .hero-image figcaption,.b .hero-photo figcaption,.c .photo-mosaic .mosaic-caption{position:absolute;margin:0;background:rgba(15,30,34,.76);color:white;padding:.2rem .55rem;font-size:.72rem;line-height:1.5}
.a .hero-image figcaption{right:.8rem;bottom:.8rem}
.b .hero-photo{position:relative;margin:0 0 1.5rem;min-height:180px}
.b .hero-photo img{display:block;width:100%;aspect-ratio:3/1.65;object-fit:cover}
.b .hero-photo figcaption{right:.5rem;bottom:.5rem}
.b .hero-copy h2{font:500 clamp(1.8rem,3vw,2.6rem)/1.5 var(--title-font)}
.c .photo-mosaic{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:clamp(145px,21vw,250px) clamp(105px,15vw,175px);gap:.7rem;margin-bottom:1.2rem}
.c .photo-mosaic figure{margin:0;min-width:0;overflow:hidden}
.c .photo-mosaic figure img{width:100%;height:100%;object-fit:cover}
.c .photo-mosaic .mosaic-main{grid-row:1 / span 2}
.c .photo-mosaic .mosaic-caption{right:.55rem;bottom:.55rem;z-index:1;max-width:min(14rem,calc(50% - .55rem));text-align:right}
@media(max-width:760px){.a .hero-image{height:clamp(220px,62vw,340px)}.b .hero-photo img{aspect-ratio:16/9}.c .photo-mosaic{grid-template-rows:clamp(135px,37vw,210px) clamp(95px,27vw,155px);gap:.45rem}}

@media(max-width:360px){.c .hero h1{font-size:1.8rem}.c .hero h1 .c-headline-nowrap{display:inline-block;white-space:nowrap}}
