@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');

:root{--ink:#252a29;--navy:#242b2d;--muted:#6c6a63;--silver:#b5aa98;--line:#dedad2;--paper:#faf9f6;--soft:#f2efe8;--font:'DM Sans','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif;--header-height:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}p,h1,h2,h3,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{background:#ded7cc;color:var(--ink)}a:focus-visible,button:focus-visible{outline:2px solid #8d6c45;outline-offset:6px}a,button{touch-action:manipulation}h1,h2,h3{font-weight:400;letter-spacing:-.055em;line-height:1.4}h2{font-size:clamp(2rem,3.3vw,3rem)}h3{font-size:1.65rem}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:130px}.eyebrow,.small-label{font-size:.75rem;letter-spacing:.12em;font-weight:500;line-height:1.6;color:var(--muted)}.eyebrow{margin-bottom:30px}.small-label{display:block}.arrow{font-family:Arial,sans-serif;font-weight:400;line-height:1;display:inline-block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:20px;padding:12px 20px;z-index:120;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
/* A quiet wordmark and a single continuous navigation. */
.header{position:sticky;top:0;z-index:50;background:#fffefbfa;border-bottom:1px solid #e6e1d8;transition:box-shadow .25s}.header.is-scrolled{box-shadow:0 5px 24px #242b2d08}.header-inner{width:min(1496px,calc(100% - 80px));min-height:var(--header-height);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:17px;flex-shrink:0}.brand-mark{font-family:var(--serif);font-size:46px;line-height:1;letter-spacing:-.09em;padding-right:9px}.brand-name{font-size:1.17rem;font-weight:600;letter-spacing:-.045em;line-height:1.6}.brand-name>span{display:block;font-size:.75rem;letter-spacing:.045em;font-weight:400;color:#726e66;line-height:1.5;margin-top:3px}.navigation{display:flex;align-items:center;gap:28px;font-size:.875rem;line-height:1.5}.navigation>a{position:relative;padding-block:12px;white-space:nowrap}.navigation>a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .22s}.navigation>a:hover:after,.navigation>a[aria-current=page]:after{transform:scaleX(1)}.navigation .nav-contact{display:flex;align-items:center;gap:24px;background:var(--ink);color:white;padding:13px 21px;border-radius:2px;transition:background .2s}.nav-contact:hover{background:#66523c}.nav-contact .arrow{font-size:1.2rem}.menu-toggle{display:none}
/* Home — a large still-life and clear Korean typography. */
.hero{background:var(--soft)}.hero-shell{width:min(1440px,calc(100% - 112px));margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:stretch}.hero-copy{padding:76px 28px 28px 0;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:50px}.eyebrow-divider{margin-inline:9px;color:#b9b0a1}.hero h1{font-size:clamp(2.35rem,4.35vw,4.45rem);font-weight:400;letter-spacing:-.065em;line-height:1.4}.hero h1>span{color:#876a43}.hero-description{font-size:1.0625rem;line-height:1.95;color:#68665f;margin-top:30px}.round-link{display:inline-flex;align-items:center;gap:24px;font-size:.9375rem;font-weight:500;margin-top:34px;line-height:1.7}.circle-arrow{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid #b6aa97;border-radius:50%;font-family:Arial,sans-serif;font-size:1.35rem;transition:background .25s,color .25s,border-color .25s}.round-link:hover .circle-arrow{background:var(--ink);color:white;border-color:var(--ink)}.hero-foot{width:100%;margin-top:auto;padding-top:60px;display:flex;justify-content:space-between;gap:20px;align-items:center;line-height:1.5}.hero-foot>span{font-size:.8125rem;color:#767064}.hero-foot>a{font-size:.75rem;letter-spacing:.07em;color:#726e64;display:flex;align-items:center;gap:18px}.hero-foot>a>span{font-size:1.1rem}.hero-visual{position:relative;min-width:0;min-height:625px;border-radius:150px 0 0 0;overflow:hidden;background:#ded4c4}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.image-label{position:absolute;right:27px;bottom:25px;font-size:.75rem;letter-spacing:.11em;line-height:1.7;color:#696156;text-align:right}.expertise-index{border-bottom:1px solid var(--line);background:var(--paper)}.index-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:28px}.index-inner>a{display:flex;gap:22px;align-items:center;padding:5px 32px;border-right:1px solid var(--line);font-size:.9375rem;transition:color .2s}.index-inner>a:first-child{padding-left:0}.index-inner>a:last-child{padding-right:0;border-right:0}.index-number{font-size:.75rem;color:#8b806d;letter-spacing:.05em}.index-inner>a>span:last-child{margin-left:auto;color:#7f7463}.index-inner>a:hover{color:#876a43}
/* The person behind the practice. */
.home-about{background:var(--navy);color:white}.home-about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.home-portrait{position:relative;min-width:0}.home-portrait>img{aspect-ratio:4/5;object-fit:cover}.home-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #67675f;padding:21px 0}.home-portrait figcaption>span{font-size:.875rem;color:#d0ccc1}.home-portrait figcaption>strong{font-size:1.25rem;letter-spacing:.1em;font-weight:400}.home-about .eyebrow{color:#cdbb9f}.home-about h2{font-size:clamp(2.2rem,3.65vw,3.4rem);line-height:1.5}.home-about h2>span{color:#d7c19d}.home-about-copy{min-width:0}.home-about-copy>p:not(.eyebrow){font-size:1rem;line-height:2;color:#d4d0c7;max-width:450px;margin-top:32px}.home-about-copy>p+p:not(.eyebrow){margin-top:20px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:46px;border-bottom:1px solid #a89b85;padding:12px 0;font-size:.9375rem;line-height:1.7;transition:color .2s,border-color .2s}.text-link .arrow{font-size:1.25rem}.text-link:hover{color:#80603b;border-color:#80603b}.light-link{border-color:#bcab8f;margin-top:33px}.light-link:hover{color:white;border-color:white}.subtle-link{display:block;width:max-content;font-size:.875rem;color:#d4d0c7;margin-top:20px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9e8e75}.subtle-link:hover{color:white}
/* Services use open rows rather than a wall of cards. */
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:58px}.section-side-note{font-size:1rem;line-height:1.9;color:var(--muted);padding-bottom:5px}.services-list{border-top:1px solid #a39986}.service-row{display:grid;grid-template-columns:60px 1fr 1.1fr;gap:32px;padding:43px 0 46px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 20px)}.row-number{font-family:var(--serif);font-size:1.35rem;color:#95846b;line-height:1.5}.service-name .small-label{font-size:.75rem;letter-spacing:.075em;margin:3px 0 18px}.service-name h3{font-size:1.75rem;font-weight:400}.service-content{min-width:0}.service-content>p{font-size:1rem;line-height:1.9;color:var(--muted)}.service-content>ul{padding:0;margin:22px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px}.service-content li{font-size:.875rem;line-height:1.7;padding:4px 10px;border:1px solid #e5dfd4;background:#f7f5f0;color:#6b6254}
.journal{background:#efebe3;padding-block:94px;overflow:hidden}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.journal-title .eyebrow{margin-bottom:27px}.display-serif{font-family:var(--serif);font-size:clamp(4.8rem,8.7vw,8.3rem);font-weight:400;letter-spacing:-.06em;line-height:1.1}.display-serif>span{color:#ad9674}.journal-byline{display:block;font-size:.75rem;letter-spacing:.16em;margin-top:36px;color:#817360}.journal-copy{border-left:1px solid #ded7cc;padding-left:13%;min-width:0}.journal-copy .small-label{font-size:.875rem;letter-spacing:0;margin-bottom:20px}.journal-copy h2{font-size:clamp(1.8rem,2.65vw,2.5rem)}.journal-copy>p:not(.small-label){font-size:1rem;color:var(--muted);line-height:1.9;margin-top:23px}.journal-copy .text-link{margin-top:21px}
/* Directions and consultation details remain concrete and easy to scan. */
.location-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:64px;align-items:start}.location-map{min-width:0;background:#eae6df}.location-map iframe{display:block;width:100%;height:575px;border:0;background:#eae6df}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.8125rem;line-height:1.7;padding:17px 19px;background:#f2eee7}.map-caption>a{display:inline-flex;align-items:center;gap:15px}.location-info{min-width:0}.location-info>.eyebrow{margin-bottom:17px}.location-info address{font-style:normal;font-size:1.8rem;letter-spacing:-.045em;line-height:1.6}.location-info address>span{display:block;font-size:1.125rem;letter-spacing:-.02em;color:var(--muted);margin-top:4px}.map-actions{display:flex;flex-wrap:wrap;gap:9px;margin-block:25px 32px}.outline-link{border:1px solid #cec4b4;padding:10px 13px;display:inline-flex;align-items:center;gap:20px;font-size:.875rem;line-height:1.6;transition:background .2s}.outline-link:hover{background:var(--soft)}.office-facts{margin:0;border-top:1px solid #b8ab96}.office-facts>div{display:grid;grid-template-columns:75px 1fr;gap:23px;padding:22px 0;border-bottom:1px solid var(--line);line-height:1.85}.office-facts dt{font-size:.875rem;color:var(--muted);font-weight:400}.office-facts dd{margin:0;font-size:1rem}.office-facts dd>a:hover{text-decoration:underline;text-underline-offset:5px}.subway-lines{display:flex;gap:6px;margin-bottom:9px}.subway-lines>span{border:1px solid #bdb2a1;border-radius:20px;font-size:.75rem;padding:0 8px;line-height:1.8;color:#6e604c}.fact-emphasis{display:block;font-weight:500;margin-top:9px}.hours-closure{display:block;font-size:.875rem;line-height:1.8;color:var(--muted);font-weight:400;margin-top:3px}.visit-note{font-size:.875rem;color:var(--muted);margin-top:21px;line-height:1.9}.visit-note>a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.contact{background:var(--navy);color:white;padding-block:95px}.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%}.contact .eyebrow{color:#cbb99b}.contact h2{font-size:clamp(1.9rem,2.65vw,2.55rem);line-height:1.6}.contact h2 span{color:#d5c19f}.contact-description{font-size:1rem;color:#d0ccc2;line-height:1.9;margin-top:26px}.contact-details{min-width:0;padding-top:4px}.contact-details>.small-label{color:#d0c1aa;font-size:.875rem;letter-spacing:0}.phone-link{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:clamp(2rem,3vw,2.9rem);font-weight:400;letter-spacing:-.04em;line-height:1.4;padding:12px 0 23px;border-bottom:1px solid #6c6b61;font-variant-numeric:tabular-nums}.phone-link>.arrow{font-size:1.9rem;transition:transform .2s}.phone-link:hover>.arrow{transform:translate(3px,-3px)}.contact-hours{display:grid;grid-template-columns:95px 1fr;gap:20px;margin-top:24px;line-height:1.8;font-size:1rem}.contact-hours>span{font-size:.875rem;color:#cfc9bc}.contact-hours .hours-closure{color:#cfc9bc}.contact-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:28px}.contact-links>a{display:inline-flex;align-items:center;gap:17px;font-size:.875rem;padding-block:6px;border-bottom:1px solid #92846e}.contact-links>a:hover{border-color:white}.footer{padding-block:45px 35px;background:#f6f3ed}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:1.2rem;font-weight:500;letter-spacing:-.04em}.back-top{font-size:.8125rem;display:inline-flex;align-items:center;gap:20px;color:#776e5f;padding-block:8px}.back-top span{font-size:1.25rem}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:22px}.footer-bottom>p{font-size:.8125rem;color:#786f62;line-height:1.95}.footer-bottom .copyright{text-align:right;font-size:.75rem;letter-spacing:.045em;line-height:1.8}.divider{margin-inline:10px;color:#b4aa9b}
/* Independent pages retain the same rhythm, with their own compositions. */
.page-masthead{padding-block:42px 38px;background:var(--soft);border-bottom:1px solid var(--line)}.masthead-top,.masthead-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px}.masthead-top{margin-bottom:28px}.masthead-top>.eyebrow{margin:0}.breadcrumbs{display:flex;gap:13px;font-size:.8125rem;color:#7a7061;line-height:1.7}.breadcrumbs>span[aria-hidden]{color:#b5aa98}.masthead-bottom{align-items:flex-end}.masthead-bottom h1{font-size:clamp(2.6rem,4.3vw,4rem);font-weight:400;line-height:1.25}.subnav{display:flex;gap:32px;align-items:center}.subnav>a{font-size:.875rem;line-height:1.8;color:#817663;padding-block:12px;border-bottom:1px solid transparent}.subnav>a[aria-current=page]{color:var(--ink);border-color:var(--ink)}.subnav>a:hover{color:var(--ink)}.greeting-grid{display:grid;grid-template-columns:.92fr 1fr;gap:10%;align-items:start}.principal-portrait{min-width:0}.principal-portrait>img{aspect-ratio:4/5;object-fit:cover}.principal-portrait figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:22px}.principal-portrait figcaption .small-label{font-size:.75rem;letter-spacing:.055em}.principal-portrait figcaption strong{display:block;margin-top:6px;font-size:1.35rem;font-weight:500;letter-spacing:.06em}.principal-portrait figcaption strong>span{font-size:.875rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:10px}.portrait-sign{font-family:var(--serif);font-size:1.3rem;font-style:italic;color:#987a53;white-space:nowrap}.greeting-letter{padding-top:20px;min-width:0}.greeting-letter>.eyebrow{font-size:.75rem;letter-spacing:.08em}.greeting-letter h2{font-size:clamp(1.8rem,2.65vw,2.45rem);line-height:1.65}.letter-body{margin-top:33px}.letter-body>p{font-size:1rem;line-height:2.1;color:#6a675e}.letter-body>p+p{margin-top:24px}.letter-signoff{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.letter-signoff>span{font-size:.875rem;color:var(--muted)}.letter-signoff>strong{font-size:1.4rem;letter-spacing:.17em;font-weight:400;white-space:nowrap}.greeting-letter>.text-link{margin-top:30px;font-size:.875rem}.career-section{background:var(--soft)}.career-grid{display:grid;grid-template-columns:.92fr 1fr;gap:10%}.career-word{display:block;font-family:var(--serif);font-size:clamp(4rem,6vw,6rem);letter-spacing:-.055em;color:#b0a28b;margin-top:55px;line-height:1.2}.career-list{margin:0;border-top:1px solid #ac9c83}.career-list>div{display:grid;grid-template-columns:80px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.career-list dt{font-family:var(--serif);font-size:1.6rem;line-height:1.5;color:#90734e}.career-list dd{margin:0;font-size:1rem;line-height:1.9}.career-list dd p+p{margin-top:15px}.career-note{display:block;font-size:.875rem;color:var(--muted);margin-top:4px}
.office-intro-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:10%;align-items:center}.office-intro-copy h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.5}.office-intro-copy>p:not(.eyebrow){font-size:1rem;line-height:2;color:#6a675e;max-width:440px;margin-top:28px}.office-intro-copy>.text-link{margin-top:23px}.office-art{position:relative;border-radius:130px 0 0 0;overflow:hidden;background:#ded4c4}.office-art img{aspect-ratio:4/4.7;object-fit:cover}.office-art figcaption{position:absolute;bottom:24px;left:26px;right:26px;display:flex;flex-direction:column;gap:3px;font-size:.75rem;letter-spacing:.12em;line-height:1.7;color:#736756}.principles{background:var(--soft)}.principles>.container>.section-heading{margin-bottom:60px}.principle-row{display:grid;grid-template-columns:.55fr 1fr 1.15fr;gap:45px;padding-block:42px 45px;border-top:1px solid #d1c8b8;align-items:start}.principle-row:last-child{border-bottom:1px solid #d1c8b8}.principle-number{font-family:var(--serif);font-size:3.2rem;line-height:1.2;color:#a18a67;letter-spacing:-.04em}.principle-index>.small-label{margin-top:18px;font-size:.75rem;letter-spacing:.08em}.principle-row h3{font-size:1.65rem;line-height:1.65;padding-top:5px}.principle-row>p{font-size:1rem;line-height:2;color:#6a675e;padding-top:8px}.office-visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.office-visit-note{font-size:1rem;color:var(--muted);margin-top:23px}.office-visit .round-link{margin-top:25px}
/* Short, optional motion never hides content when scripts are unavailable. */
@media(prefers-reduced-motion:no-preference){.hero-copy h1{animation:arrive .7s ease-out both}.hero-description{animation:arrive .7s .1s ease-out both}.hero-copy>.round-link{animation:arrive .7s .18s ease-out both}.reveal-arrived{animation:arrive .65s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:1201px) and (max-width:1380px){.header-inner{width:calc(100% - 64px);gap:24px}.navigation{gap:21px}.brand{gap:13px}.brand-name{font-size:1.1rem}.brand-name>span{letter-spacing:.005em}.navigation .nav-contact{padding-inline:16px;gap:16px}.hero-shell{gap:12px}.hero-copy{padding-right:12px}.hero-copy>.eyebrow{letter-spacing:.06em}.hero-foot{gap:12px}}
@media(max-width:1200px){:root{--header-height:86px}.container,.hero-shell{width:calc(100% - 80px)}.header-inner{width:calc(100% - 64px)}.section-space{padding-block:100px}.menu-toggle{display:flex;width:46px;height:46px;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:none;border:1px solid transparent;padding:10px;cursor:pointer}.menu-toggle>span{width:25px;height:1px;background:var(--ink);transition:transform .22s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--header-height));overflow:auto;background:#fff;box-shadow:0 15px 25px #242b2d0d;border-top:1px solid var(--line);padding:12px 40px 24px;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}.navigation.is-open{display:flex}.navigation>a{padding:15px 0}.navigation>a:not(.nav-contact):after{right:auto;width:25px;bottom:9px}.navigation .nav-contact{margin-top:12px;justify-content:space-between;padding:15px 19px}.hero-copy{padding-top:62px;padding-right:10px}.hero-copy>.eyebrow{max-width:300px;font-size:.75rem;margin-bottom:33px;line-height:1.9}.hero-foot{flex-wrap:wrap;padding-top:46px;gap:12px}.hero-visual{min-height:580px;border-top-left-radius:115px}.hero h1{font-size:4.35vw}.hero-description{font-size:1rem}.home-about-grid,.greeting-grid,.career-grid,.office-intro-grid,.office-visit-grid{gap:7%}.home-about-copy>p:not(.eyebrow){margin-top:24px}.home-about-copy .eyebrow{margin-bottom:22px}.service-row{grid-template-columns:36px 1fr 1.18fr;gap:25px}.service-name h3{font-size:1.55rem}.location-grid{gap:40px;grid-template-columns:1.1fr 1fr}.location-map iframe{height:590px}.contact-grid{gap:7%}.portrait-sign{display:none}.principle-row{grid-template-columns:.5fr 1fr 1.1fr;gap:30px}.principle-row h3{font-size:1.5rem}.journal-copy{padding-left:10%}}
@media(max-width:900px){.container,.hero-shell{width:calc(100% - 56px)}.header-inner{width:calc(100% - 48px)}.hero-shell{grid-template-columns:1.1fr 1fr;gap:20px}.hero-copy{padding-top:44px;padding-right:0}.hero-copy>.eyebrow{max-width:260px;font-size:.75rem;margin-bottom:27px}.hero h1{font-size:4.3vw}.hero-visual{min-height:540px;border-top-left-radius:85px}.hero-description{font-size:1rem;margin-top:22px}.hero-foot{padding-top:37px}.round-link{gap:18px;margin-top:27px}.circle-arrow{width:45px;height:45px}.image-label{font-size:.75rem;right:18px;bottom:20px;letter-spacing:.06em}.index-inner>a{padding-inline:20px;gap:14px;font-size:.875rem}.home-about-grid{gap:6%;grid-template-columns:.9fr 1fr}.home-about h2{font-size:2.25rem}.home-about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.95}.home-about-copy .eyebrow{font-size:.75rem;letter-spacing:.06em}.light-link{margin-top:24px}.section-heading{gap:30px;margin-bottom:45px}.section-side-note{font-size:1rem}.service-row{grid-template-columns:30px .95fr 1.12fr;gap:20px;padding-block:33px}.service-name h3{font-size:1.35rem}.service-name .small-label{font-size:.75rem;letter-spacing:.03em;line-height:1.7;margin-bottom:14px}.service-content li{font-size:.875rem}.journal-grid{gap:7%}.display-serif{font-size:5.6rem}.journal-copy h2{font-size:1.9rem}.journal-copy>p:not(.small-label)>br{display:none}.location-grid{grid-template-columns:1fr;gap:35px}.location-map iframe{height:440px}.location-info>.eyebrow{margin-top:8px}.location-info address>br{display:none}.location-info address>span{display:inline-block;margin-left:18px}.office-facts>div{grid-template-columns:90px 1fr}.contact-grid{gap:7%}.contact h2{font-size:1.85rem}.phone-link{font-size:2rem}.phone-link .arrow{font-size:1.5rem}.contact-hours{grid-template-columns:75px 1fr;gap:15px}.greeting-grid{gap:7%;grid-template-columns:.9fr 1fr}.greeting-letter{padding-top:0}.greeting-letter h2{font-size:1.7rem}.greeting-letter>.eyebrow{letter-spacing:.035em}.letter-body{margin-top:23px}.letter-body>p{line-height:2}.letter-signoff{flex-wrap:wrap;margin-top:27px}.career-grid{gap:8%;grid-template-columns:.8fr 1fr}.career-list>div{grid-template-columns:61px 1fr;gap:20px}.office-intro-grid{gap:7%}.office-intro-copy h2{font-size:2.15rem}.office-intro-copy>p:not(.eyebrow){line-height:1.95;margin-top:22px}.office-art{border-top-left-radius:100px}.principle-row{grid-template-columns:.4fr 1fr 1.1fr;gap:23px}.principle-index>.small-label{letter-spacing:0}.principle-row h3{font-size:1.35rem}.principle-number{font-size:2.8rem}.office-visit-grid{gap:8%;grid-template-columns:.9fr 1.1fr}}
@media(max-width:700px){:root{--header-height:76px}.container,.hero-shell{width:calc(100% - 44px)}.header-inner{width:calc(100% - 36px);gap:14px}.brand{gap:12px}.brand-mark{font-size:38px;padding-right:7px}.brand-name{font-size:1.0625rem;line-height:1.5}.brand-name>span{display:none}.navigation{padding:10px 24px 25px}.section-space{padding-block:72px}.eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:24px}h2{font-size:2rem;line-height:1.5}.hero-shell{grid-template-columns:1fr;gap:0}.hero-copy{padding:42px 0 30px}.hero-copy>.eyebrow{max-width:none;font-size:.75rem;letter-spacing:.055em;margin-bottom:28px}.hero h1{font-size:clamp(2rem,7.4vw,3.15rem);line-height:1.45;letter-spacing:-.055em}.hero-description{margin-top:20px;font-size:1rem;line-height:1.9}.hero-copy>.round-link{margin-top:23px}.hero-foot{margin-top:27px;padding-top:22px;border-top:1px solid #ddd5c8;flex-wrap:nowrap}.hero-foot>span{font-size:.8125rem}.hero-foot>a{font-size:.75rem;letter-spacing:.015em;gap:12px}.hero-visual{min-height:0;height:auto;aspect-ratio:9/10;max-height:none;border-top-left-radius:92px}.hero-visual>img{object-fit:cover;object-position:50% 48%}.image-label{right:22px;bottom:22px}.expertise-index{margin-top:0}.index-inner{padding-block:19px}.index-inner>a{padding:3px 13px;gap:7px;flex-direction:column;align-items:flex-start;font-size:.875rem;line-height:1.7}.index-inner>a:first-child{padding-left:0}.index-inner>a:last-child{padding-right:0}.index-inner>a>span:last-child{display:none}.index-number{font-size:.75rem}.home-about-grid{grid-template-columns:1fr;gap:43px}.home-portrait{width:min(100%,440px);margin:auto}.home-portrait figcaption{padding-block:16px}.home-portrait figcaption>strong{font-size:1.2rem}.home-about-copy{width:100%}.home-about h2{font-size:2.2rem;line-height:1.5}.home-about h2>br:nth-of-type(2){display:none}.home-about-copy>p:not(.eyebrow){max-width:none;margin-top:25px;font-size:1rem}.home-about-copy>p+p:not(.eyebrow){margin-top:20px}.home-about-copy>.light-link{margin-top:23px}.subtle-link{margin-top:20px}.section-heading{display:block;margin-bottom:35px}.section-side-note{display:block;margin-top:23px;font-size:1rem;padding:0;line-height:1.9}.service-row{grid-template-columns:25px 1fr;gap:16px;padding-block:30px 32px}.service-name .small-label{margin:3px 0 13px;font-size:.75rem;letter-spacing:.055em}.service-name h3{font-size:1.55rem}.row-number{font-size:1.2rem}.service-content{grid-column:2;margin-top:2px}.service-content>p{font-size:1rem;line-height:1.9}.service-content>ul{margin-top:18px;gap:7px}.service-content li{font-size:.875rem;padding:4px 9px}.journal{padding-block:65px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-title{padding-bottom:33px;border-bottom:1px solid #d6cdbd}.journal-title .eyebrow{margin-bottom:20px}.display-serif{font-size:5.2rem}.journal-byline{margin-top:22px;font-size:.75rem}.journal-copy{border:0;padding:0}.journal-copy h2{font-size:2rem;line-height:1.5}.journal-copy .small-label{margin-bottom:17px;font-size:.875rem}.journal-copy>p:not(.small-label){margin-top:21px;font-size:1rem}.journal-copy .text-link{margin-top:18px}.location-map iframe{height:340px}.map-caption{padding:15px;gap:14px;font-size:.8125rem;flex-wrap:wrap}.map-caption>a{gap:13px}.location-info address{font-size:1.7rem}.location-info address>br{display:block}.location-info address>span{display:block;margin-left:0;font-size:1.1rem}.map-actions{gap:8px;margin-block:22px 28px}.outline-link{gap:13px;padding:11px 12px;font-size:.875rem}.office-facts>div{grid-template-columns:68px 1fr;gap:18px;padding-block:21px}.office-facts dt{font-size:.875rem}.office-facts dd{font-size:1rem}.office-facts dd>br{display:none}.location .office-facts dd>br{display:block}.visit-note{font-size:.875rem}.contact{padding-block:70px}.contact-grid{grid-template-columns:1fr;gap:39px}.contact h2{font-size:1.85rem;line-height:1.65}.contact-description{margin-top:22px;font-size:1rem}.phone-link{font-size:clamp(2rem,8vw,2.8rem);padding-bottom:22px}.phone-link .arrow{font-size:1.8rem}.contact-hours{grid-template-columns:85px 1fr;font-size:1rem;margin-top:22px}.contact-links{margin-top:24px}.footer{padding-block:32px}.footer-brand{font-size:1.0625rem}.footer-bottom{display:block;margin-top:20px}.footer-bottom>p{font-size:.8125rem;line-height:2}.footer-bottom .copyright{text-align:left;font-size:.75rem;margin-top:25px}.copyright br{display:none}.page-masthead{padding-block:30px}.masthead-top{margin-bottom:25px;gap:20px}.masthead-top>.eyebrow{font-size:.75rem;letter-spacing:.065em}.breadcrumbs{font-size:.8125rem;gap:10px}.masthead-bottom{align-items:flex-start;gap:24px;flex-direction:column}.masthead-bottom h1{font-size:2.8rem;line-height:1.25}.subnav{gap:26px}.subnav>a{font-size:.875rem;padding-block:9px}.greeting-grid{grid-template-columns:1fr;gap:45px}.principal-portrait{width:min(100%,440px);margin:auto}.principal-portrait figcaption{padding-top:18px}.principal-portrait figcaption .small-label{font-size:.75rem;letter-spacing:.04em}.principal-portrait figcaption strong{font-size:1.25rem}.portrait-sign{display:block;font-size:1.15rem}.greeting-letter>.eyebrow{font-size:.75rem;letter-spacing:.06em}.greeting-letter h2{font-size:2rem;line-height:1.65}.letter-body{margin-top:27px}.letter-body>p{font-size:1rem;line-height:2.05}.letter-body>p+p{margin-top:23px}.letter-signoff{flex-wrap:nowrap;gap:20px;margin-top:31px}.letter-signoff>span{font-size:.875rem}.letter-signoff>strong{font-size:1.3rem}.greeting-letter>.text-link{margin-top:24px;font-size:.875rem;gap:26px}.career-grid{grid-template-columns:1fr;gap:35px}.career-grid h2>br{display:none}.career-word{display:none}.career-list>div{grid-template-columns:65px 1fr;gap:18px;padding-block:24px}.career-list dt{font-size:1.45rem}.career-list dd{font-size:1rem}.office-intro-grid{grid-template-columns:1fr;gap:39px}.office-intro-copy h2{font-size:2.1rem}.office-intro-copy>p:not(.eyebrow){font-size:1rem;margin-top:23px;max-width:none}.office-intro-copy>.text-link{margin-top:20px}.office-art{border-top-left-radius:92px;max-width:440px;width:100%;margin:auto}.office-art img{aspect-ratio:9/10;object-position:50% 50%}.office-art figcaption{left:22px;bottom:22px}.principles>.container>.section-heading{margin-bottom:36px}.principle-row{grid-template-columns:42px 1fr;gap:20px;padding-block:30px}.principle-index{grid-column:1;grid-row:1/3}.principle-number{font-size:2.15rem}.principle-index>.small-label{display:none}.principle-row h3{grid-column:2;font-size:1.5rem;line-height:1.65;padding:0}.principle-row>p{grid-column:2;padding:0;font-size:1rem;line-height:1.95}.office-visit-grid{grid-template-columns:1fr;gap:35px}.office-visit h2{font-size:2rem}.office-visit-note{margin-top:19px;font-size:1rem}.office-visit .round-link{margin-top:23px}}
@media(max-width:360px){.container,.hero-shell{width:calc(100% - 36px)}.header-inner{width:calc(100% - 30px)}.brand-mark{font-size:34px}.brand-name{font-size:1rem}.brand{gap:10px}.hero-copy>.eyebrow{max-width:245px;line-height:1.8}.hero h1{font-size:1.95rem}.hero-foot{gap:12px}.hero-foot>a{font-size:.75rem;max-width:140px;gap:8px}.index-inner>a{padding-inline:9px;font-size:.875rem}.home-about h2{font-size:1.95rem}.contact h2{font-size:1.65rem}.greeting-letter h2{font-size:1.8rem}.portrait-sign{display:none}.office-facts>div{grid-template-columns:58px 1fr;gap:15px}.principle-row{gap:15px;grid-template-columns:36px 1fr}.principle-row h3{font-size:1.35rem}.office-intro-copy h2{font-size:1.9rem}.letter-signoff{flex-wrap:wrap}.subnav{gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Bronze artwork, warm palette and full landscape framing on mobile. */
.hero-visual,.office-art{border-radius:2px;background:#ded4c4}
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 50%}
.office-art img{aspect-ratio:1/1;object-fit:cover;object-position:76% 50%}
.image-label,.office-art figcaption{display:none}
@media(max-width:700px){.hero-visual{aspect-ratio:4/3;min-height:0;max-height:none}.hero-visual>img{object-position:50% 50%}.office-art{max-width:none}.office-art img{aspect-ratio:4/3;object-position:50% 50%}}

/* Home copy and clear consultation details. */
.home-page .hero h1{font-size:clamp(1.7rem,3.7vw,3.875rem)}
.home-page .home-about-copy>p:not(.eyebrow){max-width:34rem}
.consultation-fees{margin:32px 0 0;padding-top:21px;border-top:1px solid #6c6b61}
.consultation-fees>div,.contact-channels>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:20px;align-items:baseline}
.consultation-fees>div+div,.contact-channels>div+div{margin-top:12px}
.consultation-fees dt,.contact-channels dt{font-size:.875rem;font-weight:400;color:#cfc9bc}
.consultation-fees dd,.contact-channels dd{margin:0;font-size:1rem;line-height:1.85;min-width:0}
.contact-channels{margin:24px 0 0}
.contact-channels a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#92846e}
.contact-channels a:hover{text-decoration-color:white}
.business-registration{margin-top:7px;font-size:.875rem;color:#786f62;line-height:1.7;font-variant-numeric:tabular-nums}
@media(max-width:900px){.consultation-fees>div,.contact-channels>div{grid-template-columns:75px minmax(0,1fr);gap:15px}}
@media(max-width:700px){.home-page .hero h1{font-size:clamp(1.5rem,6.4vw,2.75rem)}.home-page .home-about-copy>p:not(.eyebrow){max-width:none}.consultation-fees{margin-top:27px}.consultation-fees>div,.contact-channels>div{grid-template-columns:85px minmax(0,1fr);gap:15px}.home-page .footer-top{align-items:flex-start}}

/* A handwritten signature beside the principal's name. */
@font-face{font-family:'Allura';src:url('/assets/fonts/Allura-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
.greeting-page .principal-caption{width:100%;min-width:0}
.greeting-page .principal-signature-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-top:8px}
.greeting-page .principal-signature-row>strong{margin-top:0}
.greeting-page .portrait-sign{display:block;font-family:'Allura','Brush Script MT','Segoe Script',cursive;font-size:clamp(1.75rem,2.65vw,2.5rem);font-weight:400;font-style:normal;letter-spacing:0;line-height:1.6;color:#876a43;white-space:nowrap;padding-inline:3px}
@media(min-width:701px) and (max-width:900px){.greeting-page .principal-signature-row>strong{font-size:1.2rem}.greeting-page .portrait-sign{font-size:1.6rem}}
@media(max-width:360px){.greeting-page .portrait-sign{font-size:1.6rem}}

/* Career highlights stay with the portrait before the letter on mobile. */
.principal-profile{min-width:0}
.profile-career{margin-top:36px;scroll-margin-top:calc(var(--header-height) + 24px)}
.profile-career h2{font-size:1.625rem;line-height:1.5;margin-bottom:20px}
.profile-career .career-list>div{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:19px 0}
.profile-career .career-list dt{font-size:1.35rem;line-height:1.6}
.profile-career .career-list dd{font-size:1rem;line-height:1.9}
.profile-career .career-list dd p+p{margin-top:13px}
@media(max-width:700px){.principal-profile{width:min(100%,440px);margin-inline:auto}.profile-career{margin-top:30px}.profile-career h2{font-size:1.5rem;margin-bottom:18px}}

.admin-entry{font-size:.8125rem;color:var(--muted);text-underline-offset:4px}.admin-entry:hover{text-decoration:underline}

.office-page .office-art img{aspect-ratio:auto;object-fit:contain;object-position:center}
