/* Shared finishing system: ink, paper, and three restrained accents. */
:root{--paper:#f0f0e8;--ink:#222a24;--olive:#bdc5a4;--clay:#dfc0ae;--blue:#c3d1da;--lilac:#d6cbd9;--line:#c9cdc3}
body{font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.tile-title,.situation span,.value-name{letter-spacing:-.025em;text-wrap:pretty}
.hero h1{letter-spacing:-.035em;line-height:1.13;font-size:clamp(36px,5.5vw,78px)}
.hero-copy{max-width:1200px}.eyebrow,.section-label{font-size:11px;letter-spacing:.12em}.navlinks{font-size:13px;gap:28px}
.intro{padding:96px 0;gap:8%}.intro h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;line-height:1.28}.intro p{line-height:1.7}
.sectionhead h2,.journey h2,.about h2{font-size:clamp(34px,4vw,50px);letter-spacing:-.03em;line-height:1.18}.sectionhead{padding:30px 0 32px}.sectionhead p{font-size:14px;line-height:1.6}
.service-stage{background:var(--olive);color:var(--ink)}.service-stage[data-choice="1"]{background:var(--clay);color:var(--ink)}.service-stage[data-choice="2"]{background:var(--blue);color:var(--ink)}
.situation span{letter-spacing:-.025em;line-height:1.2}.situation{opacity:.7}.service-answer h2{letter-spacing:-.03em;line-height:1.18}.service-answer p{line-height:1.65}.engagement h3{letter-spacing:-.02em}.service-cta{font-size:14px}
.journey{padding:88px 0}.journey-heading{margin-bottom:32px}.journey-heading>p span{font-size:13px}.journey-card.current{background:var(--olive)}.journey-card h3{font-size:clamp(25px,2.5vw,31px);line-height:1.2;letter-spacing:-.025em;min-height:112px}.journey-card small{font-size:12px;line-height:1.6}.journey-note{font-size:13px;max-width:780px}.journey-card p{font-size:15px}
.journey input{appearance:none;-webkit-appearance:none;height:32px;background:transparent;accent-color:var(--olive)}
.journey input::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--olive) var(--progress,0%),#697368 var(--progress,0%));border:0;border-radius:0}
.journey input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:4px solid var(--ink);border-radius:50%;background:var(--olive);box-shadow:0 0 0 1px var(--olive);margin-top:-8.5px}
.journey input::-moz-range-track{height:3px;background:#697368}.journey input::-moz-range-progress{height:3px;background:var(--olive)}.journey input::-moz-range-thumb{width:14px;height:14px;border:3px solid var(--ink);background:var(--olive);border-radius:50%}
.journey-labels{gap:10px}.journey-labels button{flex:1;position:relative;border:0;background:none;color:#c5ccbf;padding:12px 0;text-align:center;font-size:12px;line-height:1.4}.journey-labels button:first-child{text-align:left}.journey-labels button:last-child{text-align:right}.journey-labels button[aria-pressed="true"]{color:var(--paper);font-weight:600}.journey-labels button::before{content:'';display:block;width:4px;height:4px;background:currentColor;border-radius:50%;margin:0 auto 9px}.journey-labels button:first-child::before{margin-left:0}.journey-labels button:last-child::before{margin-right:0}
.experience{padding:96px 0}.experience-shelf{gap:20px;padding-bottom:20px}.experience-tile,.experience-tile:nth-child(n){background:#f7f7f1;color:var(--ink);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:26px 24px;min-height:290px;gap:32px;transition:background .2s ease}.experience-tile:hover{transform:none;background:#e6e9dd}.tile-title{font-size:clamp(28px,3vw,38px);line-height:1.18}.tile-top{color:#535e52}.tile-top small{font-size:11px;letter-spacing:.07em}.tile-bottom{font-size:14px;line-height:1.55}.tile-bottom b{font-size:25px}.experience-controls p{font-size:13px}.experience-controls button:hover{background:var(--olive)}
.about{align-items:start;gap:8%;padding-bottom:96px}.portrait{padding-top:0}.about h2{margin:20px 0 34px;line-height:1.3}.about p{font-size:16px;line-height:1.75}.about-copy>p:first-of-type{font-size:18px;line-height:1.65}.about-copy .section-label{display:block;margin-top:-4px}
.values{padding:88px 0;background:#e6e8df}.values h2{font-size:clamp(34px,4.6vw,60px);line-height:1.22;letter-spacing:-.03em;margin:25px 0 30px}.values-invite{margin-bottom:32px}.value-card{height:335px}.value-front,.value-back{padding:28px;background:var(--olive)}.value-card:nth-child(2) .value-front,.value-card:nth-child(2) .value-back{background:var(--clay)}.value-card:nth-child(3) .value-front,.value-card:nth-child(3) .value-back{background:var(--blue)}.value-card:nth-child(4) .value-front,.value-card:nth-child(4) .value-back{background:var(--lilac)}.value-name{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.025em}.value-copy{font-size:clamp(17px,1.8vw,22px);line-height:1.5;letter-spacing:0}.value-symbol{width:125px;height:125px}.value-back-title{margin-bottom:20px}.values-closing{font-size:clamp(24px,2.8vw,34px);line-height:1.35;letter-spacing:-.02em;margin-top:44px}
.pen-svg{stroke-width:1.8}.pen-mark>.pen-underline{bottom:-.18em;height:.28em}.pen-mark>.pen-circle{top:-12%;height:128%;width:112%;left:-6%}.pen-stage .pen-circle{stroke-width:1.5}.pen-star{stroke-width:2}
.contact{background:var(--olive);padding-top:80px;padding-bottom:24px}.contact h2{font-size:clamp(48px,6.5vw,82px);letter-spacing:-.035em;line-height:1.15;margin-bottom:36px}.contact-row{gap:45px}.contact-row p{font-size:16px;max-width:450px}.contact-annotation{margin-bottom:30px}.email{font-size:clamp(18px,2vw,24px);white-space:nowrap}.footer{margin-top:56px;padding-top:24px;font-size:12px;align-items:end}.footer-identity{gap:16px}.footer-identity img{width:125px;height:125px}.previewnote{background:var(--olive);color:#47533e;text-align:left;padding:0 6% 22px;font-size:11px}
@media(max-width:760px){body{font-size:16px}.intro,.experience{padding:64px 0}.intro h2{font-size:30px}.journey,.values{padding:64px 0}.about{padding-bottom:64px;gap:34px}.about h2{font-size:clamp(30px,7.5vw,40px)}.about-copy>p:first-of-type{font-size:18px}.journey-card h3{min-height:0;font-size:28px}.journey-labels{gap:4px}.journey-labels button{font-size:10px}.experience-tile{flex-basis:88%;min-height:280px}.value-card{height:340px}.value-copy{font-size:18px}.value-name{font-size:36px}.values h2{font-size:clamp(30px,7vw,40px)}.contact{padding-top:60px}.contact-row{gap:24px}.contact-row p{max-width:36ch}.email{white-space:normal;overflow-wrap:anywhere}.footer{gap:22px}.footer-identity{width:auto}.navlinks{font-size:12px;gap:15px}.hero h1{font-size:clamp(31px,6.8vw,48px);letter-spacing:-.03em}}
@media(prefers-reduced-motion:reduce){.experience-tile{transition:none}}

/* A single editorial direction across the independent practice. */
:root{--page-gutter:clamp(24px,5vw,64px);--page-edge:max(var(--page-gutter),calc((100vw - 1152px)/2));--section-space:clamp(64px,7.5vw,104px)}
.wrap{max-width:1280px;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.nav{padding-left:var(--page-edge);padding-right:var(--page-edge)}.signature-brand{left:var(--page-edge)}
.hero-copy{left:var(--page-edge);right:var(--page-edge);bottom:132px;max-width:1000px}.hero h1{font-size:clamp(48px,6.4vw,90px);line-height:1.06;letter-spacing:-.035em}.hero .eyebrow{margin-bottom:24px}.hero-lead{font-size:clamp(16px,1.6vw,21px);line-height:1.55;max-width:580px;margin:25px 0 23px;color:#f0f0e8}.hero-meta{left:var(--page-edge);right:var(--page-edge)}
.text-cta{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid currentColor;padding:9px 0;text-decoration:none;font-size:14px;line-height:1.5;font-weight:500}.text-cta span{display:inline-block;transition:transform .2s}.text-cta:hover span{transform:translate(3px,-3px)}.hero-cta{color:#fff}.nav-contact{border-bottom:1px solid #ffffff80;padding-bottom:5px}.navlinks{align-items:center}
.intro{padding:var(--section-space) 0;grid-template-columns:1.05fr 1fr;gap:10%}.intro .section-label{font-size:11px;margin-bottom:26px}.intro h2{font-size:clamp(31px,3.4vw,46px);line-height:1.22;max-width:13.8em}.intro-detail{padding-top:42px}.intro-detail .intro-lead{font-size:20px;line-height:1.6}.intro-detail p{font-size:16px;line-height:1.7;margin-bottom:22px}.intro .text-cta{margin-top:5px}.intro .pen-mark{white-space:normal}.intro .pen-mark>.pen-underline{bottom:-.17em}
.experience{padding:var(--section-space) 0}.experience .sectionhead{border-top:0;padding-top:0;align-items:end;margin-bottom:20px}.experience .section-label{max-width:none;color:var(--ink);margin:0 0 22px;font-size:11px}.sectionhead h2{line-height:1.15}.experience .sectionhead>p{max-width:320px;font-size:14px}.experience-caption{font-size:12px;color:#5e6759;margin:0 0 24px}
.experience-shelf{display:block;overflow:visible;padding:0;border-bottom:1px solid var(--line)}.experience-tile,.experience-tile:nth-child(n){display:grid;grid-template-columns:.8fr 1.35fr 1fr;align-items:center;width:100%;min-height:150px;padding:28px 0;gap:32px;background:transparent;border:0;border-top:1px solid var(--line);scroll-snap-align:none}.experience-tile:hover,.experience-tile:focus-visible{background:#e7eadd}.tile-top{flex-direction:column-reverse;align-items:start;gap:14px}.tile-top>span{font-size:12px;color:#616e57}.tile-top small{font-size:10px;letter-spacing:.09em;line-height:1.6;max-width:20ch}.tile-title{font-size:clamp(25px,2.8vw,36px);letter-spacing:-.025em;line-height:1.2}.tile-bottom{align-items:center;font-size:14px;gap:24px;line-height:1.6}.tile-bottom b{font-size:25px;transition:transform .2s}.experience-tile:hover .tile-bottom b{transform:translate(3px,-3px)}
.about{padding-top:var(--section-space);padding-bottom:var(--section-space);border-top:1px solid var(--line);gap:9%}.portrait img{aspect-ratio:2/3;object-fit:cover}.about h2{font-size:clamp(34px,3.9vw,50px);line-height:1.25;margin-bottom:36px}.about-copy p{font-size:16px;line-height:1.7}.about-copy>p:first-of-type{font-size:19px;line-height:1.6}.about-cta{margin-top:8px}
.journey{padding:var(--section-space) 0}.journey-heading{margin-bottom:36px}.journey h2{font-size:clamp(34px,4vw,50px)}.journey-cards{margin-top:30px;padding-top:0;padding-bottom:12px;gap:28px}.journey-card{flex-basis:calc((100% - 56px)/3);padding:27px 0 12px;color:#c0c7bb;border-top:1px solid #677160;transition:color .3s,border-color .3s}.journey-card.current{background:transparent;color:var(--paper);border-top:2px solid var(--olive);padding-top:26px}.journey-card h3{min-height:82px;margin:24px 0 20px;line-height:1.2;font-size:28px}.journey-card p{font-size:15px;line-height:1.7;max-width:34ch}.journey-card small{border-top:0;padding-top:0;margin-top:25px;font-size:12px}.journey-card.current .journey-number{color:var(--olive)}.journey-note{margin-top:32px;padding-top:26px;max-width:none;font-size:14px;line-height:1.65}.journey-labels button::before{display:none}.journey-labels button{padding-top:15px;font-size:12px}
.values{padding:var(--section-space) 0;background:var(--paper)}.values h2{max-width:970px;font-size:clamp(34px,4.1vw,54px);line-height:1.24}.values-invite{margin:0 0 40px}.values-invite span{font-size:12px}.value-deck{gap:24px}.value-card{height:305px}.value-front,.value-back{padding:27px 30px;border-radius:1px 1px 7px 1px}.value-front,.value-back,.value-card:hover .value-front,.value-card:hover .value-back{box-shadow:1px 3px 6px #2029230c}.value-front::after,.value-back::after,.value-card:hover .value-front::after,.value-card:hover .value-back::after{width:25px;height:25px;opacity:.6}.value-card .value-name{font-size:clamp(30px,3.3vw,43px);margin-top:22px}.value-symbol{width:115px;height:115px}.value-copy{font-size:clamp(17px,1.55vw,20px);line-height:1.5}.value-card:nth-child(1) .value-front,.value-card:nth-child(1) .value-back{background:#d3d9be}.value-card:nth-child(2) .value-front,.value-card:nth-child(2) .value-back{background:#e1cbbd}.value-card:nth-child(3) .value-front,.value-card:nth-child(3) .value-back{background:#d2dce0}.value-card:nth-child(4) .value-front,.value-card:nth-child(4) .value-back{background:#dad4dc}.values-closing{font-size:clamp(22px,2.5vw,31px);max-width:850px;margin-top:44px;line-height:1.4}
.contact{padding:var(--section-space) var(--page-edge) 28px;background:var(--ink);color:var(--paper)}.contact-inner{max-width:none}.contact .section-label{margin:0 0 28px;color:#bec7b0}.contact h2{font-size:clamp(56px,7.2vw,96px);margin-bottom:30px}.contact-annotation{font-size:15px;margin-bottom:40px}.contact-row{align-items:start}.contact-row p{max-width:450px;color:#d4dacd}.email{text-decoration:none;border-bottom:1px solid #8d9c7e;padding:7px 0 12px;display:inline-flex;gap:28px;align-items:center}.email span{transition:transform .2s}.email:hover span{transform:translate(3px,-3px)}.footer{border-color:#596450;margin-top:64px;align-items:center}.footer-identity{flex-direction:row;align-items:center;gap:24px}.footer-identity img{filter:brightness(0) invert(96%) sepia(8%) saturate(255%);width:92px;height:92px}.footer>span,.footer a,.footer-identity span{font-size:12px;color:#ccd4bf}.previewnote{background:var(--ink);color:#abb6a1;padding:0 var(--page-edge) 24px;font-size:11px}
@media(max-width:1000px) and (min-width:761px){.experience-tile,.experience-tile:nth-child(n){grid-template-columns:.7fr 1.3fr 1fr;gap:20px}.about{gap:7%}.about h2{font-size:36px}.journey-card h3{font-size:25px;min-height:100px}.value-card{height:330px}.contact-row{gap:28px}.email{font-size:18px}}
@media(max-width:760px){.signature-brand{left:var(--page-edge)}.hero{min-height:740px}.hero-copy{bottom:135px}.hero h1{font-size:clamp(40px,9vw,62px)}.hero-lead{font-size:16px;max-width:30ch;margin-top:22px}.desktop-break{display:none}.hero .eyebrow{font-size:9px;letter-spacing:.11em}.hero-cta{font-size:13px}.navlinks{gap:13px;max-width:165px}.intro{grid-template-columns:1fr;gap:28px}.intro-detail{padding-top:0}.intro-detail .intro-lead{font-size:19px}.intro h2{font-size:34px;max-width:15ch}.intro .pen-mark{white-space:normal}.intro .pen-underline{display:none}.experience .sectionhead{display:block}.experience .sectionhead>p{margin-top:20px}.experience-tile,.experience-tile:nth-child(n){grid-template-columns:1fr auto;gap:15px;min-height:0;padding:24px 0}.tile-top{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:start}.tile-top small{max-width:32ch}.tile-top>span{order:-1;margin-right:15px}.tile-title{grid-column:1 / -1;font-size:29px;max-width:20ch}.tile-bottom{grid-column:1 / -1;font-size:14px;justify-content:space-between}.tile-bottom>span{max-width:28ch}.about{grid-template-columns:1fr;padding-top:56px;gap:35px}.portrait{max-width:none}.about h2{font-size:clamp(32px,8vw,43px)}.journey-card{flex-basis:88%;padding-right:18px}.journey-card h3{min-height:0;font-size:28px}.journey-card p{max-width:none}.journey-labels button{font-size:10px}.journey-note{font-size:13px}.value-card{height:330px}.value-front,.value-back{padding:26px}.value-copy{font-size:18px}.value-card .value-name{font-size:35px}.contact-row{align-items:stretch}.contact-row p{font-size:16px}.email{font-size:clamp(17px,4.7vw,23px);gap:16px;justify-content:space-between}.footer{flex-wrap:wrap;gap:25px}.footer-identity{width:100%;gap:20px}.footer-identity img{width:80px;height:80px}.contact-annotation{font-size:14px}.contact-annotation .pen-arrow{flex-basis:45px;width:45px}}
@media(prefers-reduced-motion:reduce){.text-cta span,.tile-bottom b,.email span,.journey-card{transition:none}}

.journey-labels button .stage-count{margin-right:7px;color:#a6b19a;font-weight:400}.journey-labels button span{display:inline}.footer-identity img{filter:none}
@media(max-width:760px){.journey-labels button span{display:block;text-align:inherit}.journey-labels button .stage-count{margin:0 0 5px}.journey-labels button{line-height:1.4}}

/* Clearly graspable controls, with the native range and keyboard support retained. */
.journey-control-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:38px 0 12px}.journey-control-heading label{font-size:16px;font-weight:500;color:var(--paper)}.journey-control-heading p{font-size:12px;color:#b7c2ac;margin:3px 0 0;line-height:1.5}.journey-arrows{display:flex;align-items:center;gap:14px}.journey-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #89977b;border-radius:50%;background:transparent;color:var(--paper);font-size:23px;line-height:1;transition:background .2s,color .2s}.journey-arrows button:hover:not(:disabled){background:var(--olive);color:var(--ink)}.journey-arrows button:disabled{opacity:.3;cursor:default}.journey-arrows span{font-size:12px;white-space:nowrap;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.journey #journey-position{height:48px;cursor:grab;touch-action:pan-y}.journey #journey-position:active{cursor:grabbing}.journey input::-webkit-slider-runnable-track{height:4px;border-radius:2px}.journey input::-webkit-slider-thumb{width:48px;height:32px;margin-top:-14px;border:1px solid #dfe6d6;border-radius:20px;background:var(--paper) url('/assets/slider-grip.svg') center/48px 32px no-repeat;box-shadow:0 0 0 5px #bdc5a419}.journey input::-moz-range-track{height:4px;border-radius:2px}.journey input::-moz-range-progress{height:4px}.journey input::-moz-range-thumb{width:48px;height:32px;border:1px solid #dfe6d6;border-radius:20px;background:var(--paper) url('/assets/slider-grip.svg') center/48px 32px no-repeat;box-shadow:0 0 0 5px #bdc5a419}
.journey .journey-labels{gap:10px;margin-top:10px}.journey .journey-labels button{min-height:52px;padding:12px;border:1px solid #59664f;border-radius:3px;text-align:center;transition:background .2s,border-color .2s,color .2s}.journey .journey-labels button:first-child,.journey .journey-labels button:last-child{text-align:center}.journey .journey-labels button:hover{border-color:var(--olive);background:#bdc5a414}.journey .journey-labels button[aria-pressed="true"]{color:var(--ink);background:var(--olive);border-color:var(--olive)}.journey .journey-labels button[aria-pressed="true"] .stage-count{color:#414d36}
/* A small ink dot and hollow olive ring; native touch and forced-colour behaviour remain. */
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
 body{cursor:url('/assets/cursor-dot.svg') 14 14,auto}
 a,button,summary,[role="button"]{cursor:url('/assets/cursor-ring.svg') 14 14,pointer}
 button:disabled,[aria-disabled="true"]{cursor:not-allowed}
 input:not([type="range"]),textarea,[contenteditable="true"]{cursor:text}
 .journey #journey-position{cursor:grab}.journey #journey-position:active{cursor:grabbing}
}
@media(max-width:760px){.journey-control-heading{gap:12px;align-items:start;margin-top:30px}.journey-control-heading label{font-size:15px}.journey-control-heading p{max-width:20ch}.journey-arrows{gap:8px}.journey-arrows button{width:38px;height:38px}.journey-arrows span{font-size:10px}.journey .journey-labels{gap:5px}.journey .journey-labels button{padding:10px 3px;font-size:10px;min-height:58px}.journey .journey-labels button .stage-count{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.journey-arrows button,.journey .journey-labels button{transition:none}}

.journey-number{margin-left:8px}.journey .journey-labels button span{text-align:center}
