:root{--bg:#f3f0e7;--paper:#f8f5ee;--ink:#17211b;--muted:#657067;--line:#cbc9c0;--accent:#234d3d;--max:1320px;--pad:clamp(20px,5vw,72px);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{width:min(100%,var(--max));margin:auto;padding-inline:var(--pad)}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(10px)}.nav{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:16px;font-weight:650;letter-spacing:-.01em}.nav-links{display:flex;gap:24px;color:var(--muted);font-size:14px}.nav-links a:hover{color:var(--ink)}.hero{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(360px,.86fr);gap:clamp(44px,7vw,104px);align-items:center;padding-block:clamp(52px,7vw,90px) clamp(68px,8vw,108px);border-bottom:1px solid var(--line)}.hero-copy{max-width:760px}.eyebrow,.label{margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow:before{content:"";width:30px;height:1px;background:var(--accent)}h1{margin:0;font-size:clamp(56px,5.8vw,80px);line-height:1;letter-spacing:-.045em;font-weight:600}.profession{margin:13px 0 0;font-size:clamp(28px,2.7vw,38px);line-height:1.1;letter-spacing:-.03em;font-weight:450}.hero-lead{margin:35px 0 0;font-size:clamp(20px,1.75vw,25px);line-height:1.45;letter-spacing:-.02em}.hero-sub{margin:17px 0 0;max-width:690px;color:var(--muted);font-size:16px;line-height:1.65}.hero-action{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;background:var(--accent);color:#fff;font-size:15px;font-weight:700}.button:hover{filter:brightness(.92)}.hero-action span{color:var(--muted);font-size:13px}.portrait{margin:0;width:100%;aspect-ratio:4/5;overflow:hidden;background:#dedad0}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.section{padding-block:clamp(62px,8vw,108px);border-bottom:1px solid var(--line)}.section-alt{background:var(--paper);border-bottom:1px solid var(--line)}.section-head{display:block}.section-head .label{margin-bottom:12px}.section-head h2,.section-split h2,.principle h2,.channel h2,.contact h2{margin:0;color:var(--ink);font-size:clamp(34px,3.7vw,50px);line-height:1.08;letter-spacing:-.035em;font-weight:600}.section-head h2{max-width:820px}.service-list{margin-top:38px;border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(34px,7vw,100px);padding:25px 0 27px;border-bottom:1px solid var(--line)}.service h3{margin:0;font-size:20px;line-height:1.25;font-weight:600}.service p,.service-note{margin:0;color:var(--muted);font-size:16px;line-height:1.62}.service-note{margin-top:19px;font-size:14px}.section-split{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,9vw,130px)}.section-split .label{margin-bottom:12px}.body-copy{max-width:780px}.body-copy p{margin:0 0 22px;font-size:17px;line-height:1.68}.body-copy p:last-child{margin-bottom:0}.muted{color:var(--muted)}.pullquote{margin:36px 0!important;padding:26px 0 26px 28px;border-left:2px solid var(--accent);font-size:clamp(24px,2.5vw,36px)!important;line-height:1.25!important;letter-spacing:-.02em;font-weight:500}.principle .label{margin-bottom:14px}.principle h2{max-width:980px}.principle-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);margin-top:34px}.principle-copy p{margin:0;font-size:17px;line-height:1.65}.city .section-head{margin-bottom:36px}.city-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(48px,9vw,130px)}.places{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.places li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4}.channel{padding-top:0;padding-bottom:0}.channel-inner{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(48px,9vw,130px);padding-block:clamp(48px,6vw,72px);border-top:3px solid var(--accent)}.channel .label{margin-bottom:12px}.channel p{margin:0 0 20px;max-width:690px;color:var(--muted);font-size:17px;line-height:1.65}.text-link{display:inline-flex;padding-bottom:4px;border-bottom:1px solid var(--ink);font-weight:650}.contact{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(48px,9vw,130px);align-items:end}.contact .label{margin-bottom:12px}.contact h2{max-width:760px}.contact p{margin:18px 0 0;max-width:680px;font-size:16px;line-height:1.6}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:18px}.contact-links a{border-bottom:1px solid}.contact-links span{margin-top:8px;color:var(--muted);font-size:13px}footer{padding:27px 0 34px}.footer-row{display:flex;justify-content:space-between;gap:32px;color:var(--muted);font-size:12px;line-height:1.65}.footer-row div:last-child{text-align:right}@media(max-width:900px){.hero{grid-template-columns:1.2fr .8fr}.service{grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr)}}@media(max-width:760px){.phone{display:none}.hero{grid-template-columns:1fr;gap:28px;padding-block:44px 62px}.hero-copy{display:contents}.eyebrow{order:1}h1{order:2;font-size:clamp(46px,12vw,62px)}.profession{order:3}.portrait{order:4;max-width:620px}.hero-lead{order:5;margin-top:0;font-size:21px}.hero-sub{order:6}.hero-action{order:7;align-items:flex-start;flex-direction:column}.button{width:100%;max-width:360px}.service,.section-split,.principle-copy,.city-grid,.channel-inner,.contact{grid-template-columns:1fr}.service{gap:10px}.section-split,.city-grid,.channel-inner,.contact{gap:34px}.section-head h2,.section-split h2,.principle h2,.channel h2,.contact h2{font-size:clamp(32px,8.5vw,44px)}.footer-row{flex-direction:column;gap:12px}.footer-row div:last-child{text-align:left}}@media(max-width:430px){:root{--pad:20px}.nav-links{font-size:13px}h1{font-size:46px}.profession{font-size:27px}.hero-lead{font-size:20px}.section-head h2,.section-split h2,.principle h2,.channel h2,.contact h2{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.channel-short{display:none}
@media(max-width:760px){.nav{min-height:62px}.brand{font-size:15px}.channel-wide{display:none}.channel-short{display:inline}.hero{padding-block:32px 54px;gap:22px}.hero-copy{display:contents}.hero h1{order:1;font-size:clamp(34px,9vw,42px);line-height:1.05;letter-spacing:-.035em}.portrait{order:2}.hero-lead{order:3}.hero-sub{order:4}.hero-action{order:5}.profession,.eyebrow{display:none}}

/* Mobile hero refinement v3.1 */
@media(max-width:760px){
  .hero{padding-block:28px 48px;gap:18px}
  .hero h1{order:1;font-size:clamp(32px,8.6vw,40px);line-height:1.04;letter-spacing:-.03em}
  .hero-lead{order:2;margin:0;font-size:19px;line-height:1.46}
  .hero-action{order:3;margin-top:4px;gap:0}
  .hero-action .button{width:auto;max-width:none;min-height:46px;padding-inline:18px}
  .hero-action span{display:none}
  .portrait{order:4;margin-top:4px}
  .hero-sub{order:5;margin-top:0;font-size:15px;line-height:1.58}
}
@media(max-width:430px){
  .nav{min-height:58px}
  .hero{padding-block:24px 44px}
  .hero h1{font-size:34px}
  .hero-lead{font-size:18px}
}

.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.brand small{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:430px){
  .brand small{font-size:9px}
}

/* Ensure <picture> fills the portrait frame */
.portrait picture{display:block;width:100%;height:100%}
