@font-face{font-family:Ubuntu Sans;src:url('../fonts/ubuntu-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#faf8f2;--white:#fffefa;--ink:#2b4439;--muted:#626b61;--sage:#e8ede3;--sand:#f0e9de;--copper:#955e39;--line:#dedfd3;--serif:Georgia,'Times New Roman',serif;--sans:'Ubuntu Sans',Arial,sans-serif;--radius:16px;--width:1180px}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--copper)}img,svg{max-width:100%;display:block}img{height:auto}button{cursor:pointer}p{margin:0 0 1.2em}h1,h2,h3,h4{margin:0;font-weight:400}h1,h2,.serif{font-family:var(--serif)}h1{font-size:clamp(2.9rem,5.1vw,4.5rem);line-height:1.1;letter-spacing:-.042em}h2{font-size:clamp(2.1rem,3.5vw,3.1rem);line-height:1.18;letter-spacing:-.035em}h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}em{font-weight:400}::selection{background:#d3deca;color:var(--ink)}:focus-visible{outline:3px solid var(--copper);outline-offset:5px;border-radius:3px}[hidden]{display:none!important}.container{width:min(var(--width),calc(100% - 48px));margin-inline:auto}.section{padding-block:92px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.19em;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:21px}.eyebrow:before{content:'';width:24px;height:1px;background:var(--copper)}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:560px}.muted{color:var(--muted)}.icon{width:26px;height:26px;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}.arrow{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.4;flex:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:12px 23px;border-radius:7px;background:var(--ink);color:var(--white);text-decoration:none;border:1px solid var(--ink);font-size:14px;font-weight:500;transition:background .2s,transform .2s;line-height:1.4}.button:hover{background:#405f50;color:white;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#b6bdad}.button.secondary:hover{background:var(--sage)}.button.copper{background:var(--copper);border-color:var(--copper);color:#fff}.button.copper:hover{background:#7c4a2a}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid #b6bdad;padding-bottom:6px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.skip-link{position:fixed;top:8px;left:12px;z-index:100;transform:translateY(-200%);padding:10px 20px;background:var(--ink);color:white}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(250,248,242,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{text-decoration:none;display:flex;align-items:center;gap:14px;flex-shrink:0}.brand:hover{color:var(--ink)}.brand-mark{width:44px;height:48px;flex:none;object-fit:contain}.brand-name{font-family:var(--serif);font-size:24px;line-height:1.2;letter-spacing:-.03em}.brand-sub{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:6px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:25px}.main-nav>a{font-size:13px;text-decoration:none;white-space:nowrap;position:relative}.main-nav>a[aria-current=page]:not(.button):after{content:'';position:absolute;bottom:-9px;height:2px;left:0;right:0;background:var(--copper)}.main-nav .button{min-height:43px;padding:11px 18px;font-size:13px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 11px;align-items:center;gap:8px;color:var(--ink);min-height:44px;font-size:13px}.menu-toggle .icon{width:20px;height:20px}.hero{padding-top:68px;padding-bottom:57px;position:relative}.hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:64px;align-items:center}.hero h1{margin-bottom:25px}.hero h1 em{color:#7d8e70;display:block}.hero .lead{max-width:485px;margin-bottom:29px;font-size:17px}.hero .eyebrow{font-size:10px;margin-bottom:24px}.hero-visual{height:457px;position:relative;background:#e7e9dc;border-radius:50% 50% 17px 17px;isolation:isolate;overflow:visible;margin-inline:12px}.hero-visual:before{content:'';position:absolute;inset:16px -13px -14px 16px;border:1px solid #c2ccbb;border-radius:50% 50% 20px 20px;z-index:-1}.hero-visual:after{content:'';position:absolute;width:170px;height:170px;right:-22px;top:69px;background:#eaddc3;border-radius:50%;z-index:-1}.hero-botanical{position:absolute;height:395px;width:282px;left:-53px;top:50px;opacity:.68;transform:rotate(-14deg)}.portrait-main{position:absolute;width:200px;height:200px;object-fit:cover;right:54px;top:91px;border-radius:50%;border:6px solid rgba(250,248,242,.6);box-shadow:0 12px 32px #23392812}.portrait-caption{position:absolute;right:40px;top:312px;text-align:center;width:240px}.portrait-caption strong{font-family:var(--serif);font-size:24px;font-weight:400;display:block}.portrait-caption span{font-size:11px;letter-spacing:.08em;display:block;margin-top:7px;color:#53624f}.hero-tag{position:absolute;bottom:27px;left:-29px;background:var(--paper);box-shadow:0 9px 30px #2131250c;border:1px solid var(--line);border-radius:10px;padding:13px 19px;display:flex;align-items:center;gap:12px;font-size:12px}.hero-tag .icon{color:#6e806d}.hero-note{display:flex;gap:10px;align-items:center;margin-top:23px;font-size:11px;color:var(--muted)}.hero-note .icon{width:15px;height:15px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.15fr;padding:28px 0;margin-top:54px;gap:28px}.stat{display:flex;align-items:center;gap:20px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-number{font-family:var(--serif);font-size:41px;letter-spacing:-.04em;white-space:nowrap;line-height:1.2}.stat-number small{font-family:var(--sans);font-size:12px;letter-spacing:0}.stat-label{font-size:12px;line-height:1.6;color:var(--muted)}.stat .icon{width:32px;height:32px;color:#71816b}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}.section-heading p{max-width:365px;font-size:15px;color:var(--muted);margin:0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience-card{padding:37px 37px 30px;border:1px solid #d8dece;border-radius:var(--radius);background:#eaf0e5;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #26332204}.audience-card.warm{background:#f2ece2;border-color:#e3d9c9}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.card-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.card-top .icon{width:38px;height:38px;color:#6c8067}.warm .card-top .icon{color:#a18462}.audience-card h3{font-family:var(--serif);font-size:31px;margin-bottom:15px}.audience-card p{font-size:15px;color:var(--muted);max-width:420px;line-height:1.75;margin-bottom:22px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.tag{border:1px solid #ced6c4;border-radius:20px;padding:4px 12px;font-size:11px}.warm .tag{border-color:#dcd0bf}.audience-card .text-link{margin-top:auto;align-self:flex-start}.soft-section{background:#f0f1e9}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.service-card{background:var(--white);border:1px solid var(--line);padding:31px;border-radius:var(--radius);display:flex;flex-direction:column;gap:17px}.service-card .icon{width:33px;height:33px;color:#7c8a71}.service-card h3{font-family:var(--serif);font-size:25px}.service-card p{color:var(--muted);font-size:14px;margin:0}.service-card .text-link{align-self:flex-start;margin-top:auto}.about-preview{display:grid;grid-template-columns:.95fr 1fr;gap:90px;align-items:center}.landscape-wrap{position:relative}.landscape-wrap img{width:100%;border-radius:100px 16px 16px 16px;aspect-ratio:1.2;object-fit:cover}.image-note{font-size:10px;color:var(--muted);margin-top:10px;letter-spacing:.05em}.floating-note{position:absolute;right:-26px;bottom:39px;padding:24px;background:var(--paper);border-radius:12px;border:1px solid var(--line);max-width:260px;font-family:var(--serif);font-size:22px;line-height:1.35}.about-preview h2{margin-bottom:24px}.about-preview p{color:var(--muted);font-size:15px}.signature{font-family:var(--serif);font-size:27px;font-style:italic;display:block;margin-top:20px}.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:42px;padding-top:30px}.value-small{font-size:12px;display:flex;align-items:center;gap:10px}.value-small .icon{width:20px;height:20px;color:#76836f}.cta-wrap{padding-bottom:83px}.cta-banner{background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:51px 57px;display:flex;justify-content:space-between;align-items:center;gap:36px;position:relative;overflow:hidden}.cta-banner h2{font-size:36px;margin-bottom:13px}.cta-banner p{color:#d4dcd0;font-size:15px;max-width:570px;margin:0}.cta-banner .button{flex-shrink:0}.site-footer{border-top:1px solid var(--line);padding:49px 0 23px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px}.footer-intro{max-width:280px;font-size:12px;color:var(--muted);margin:17px 0 0}.footer-heading{font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:16px}.footer-links{display:grid;gap:9px;font-size:12px}.footer-links a{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:39px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom a{text-decoration:none}.inner-hero{padding:65px 0 70px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:35px;display:flex;gap:10px;flex-wrap:wrap}.breadcrumb a{text-decoration:none}.inner-hero h1{font-size:clamp(2.8rem,5vw,4.25rem);max-width:800px;margin-bottom:26px}.inner-hero .lead{max-width:650px;margin-bottom:27px}.inner-split{display:grid;grid-template-columns:1.3fr .8fr;gap:65px;align-items:center}.profile-panel{background:var(--sage);border-radius:150px 150px 16px 16px;padding:45px 35px 35px;display:grid;justify-items:center;text-align:center;position:relative}.profile-panel img{width:200px;height:200px;object-fit:cover;border-radius:50%;border:5px solid var(--paper);margin-bottom:24px}.profile-panel .serif{font-size:24px;margin-bottom:8px}.profile-panel p{font-size:12px;color:var(--muted);margin:0}.intro-strip{padding:27px 0;border-block:1px solid var(--line)}.intro-strip .container{display:flex;justify-content:center;gap:45px;flex-wrap:wrap}.intro-strip span{font-size:12px;display:flex;gap:12px;align-items:center}.intro-strip .icon{width:20px;height:20px}.prose-grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}.prose-grid h2{max-width:350px}.prose p{color:var(--muted);font-size:16px}.quote{font-family:var(--serif);font-size:27px;line-height:1.45;border-left:2px solid var(--copper);padding-left:27px;margin:30px 0;color:var(--ink)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.value{border-top:1px solid #c6cfbe;padding-top:24px}.value .icon{margin-bottom:17px}.value h3{font-family:var(--serif);font-size:25px;margin-bottom:12px}.value p{font-size:14px;color:var(--muted);margin:0}.timeline{margin-top:38px}.timeline-item{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:29px 0;border-top:1px solid var(--line)}.timeline-item time,.timeline-date{font-size:13px;letter-spacing:.04em;color:var(--copper)}.timeline-item h3{font-family:var(--serif);font-size:25px;margin-bottom:10px}.timeline-item p{max-width:720px;color:var(--muted);font-size:14px;margin:0}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin-top:35px}.training{padding:24px 0;border-top:1px solid #cbd3c4}.training h3{font-size:17px;margin-bottom:8px}.training p{font-size:13px;color:var(--muted);margin:0}.training small{font-size:11px;color:var(--copper);display:block;margin-top:8px}.partners{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:30px}.partners a{font-family:var(--serif);font-size:23px}.service-jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.service-jump a{font-size:12px;text-decoration:none;padding:8px 15px;border:1px solid #cbd3c4;border-radius:25px;background:#ffffff60}.service-jump a:hover{background:var(--sage)}.service-detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px;padding:60px 0;border-bottom:1px solid var(--line);scroll-margin-top:128px}.service-detail:first-child{padding-top:0}.service-detail:last-child{border:0;padding-bottom:0}.service-title .icon{width:40px;height:40px;color:#7f8f74;margin-bottom:22px}.service-title h2{font-size:34px;margin-bottom:16px}.service-title p{font-size:13px;color:var(--muted)}.service-content h3{font-family:var(--serif);font-size:26px;margin-bottom:18px}.service-content p{font-size:15px;color:var(--muted)}.clean-list{padding:0;list-style:none;margin:23px 0 30px}.clean-list li{position:relative;padding-left:25px;margin:11px 0;font-size:14px;color:var(--muted)}.clean-list li:before{content:'↗';position:absolute;left:0;color:var(--copper)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:42px}.step{position:relative;padding-top:26px;border-top:1px solid #c3ccb8}.step-number{font-family:var(--serif);color:#778770;font-size:32px;line-height:1;margin-bottom:22px;display:block}.step h3{font-family:var(--serif);font-size:25px;margin-bottom:13px}.step p{font-size:14px;color:var(--muted);margin:0}.faq{max-width:810px;margin-inline:auto}.faq h2{margin-bottom:30px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;padding:22px 40px 22px 0;font-size:16px;cursor:pointer;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:19px;color:var(--copper);font-size:23px;font-weight:300}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;color:var(--muted);max-width:720px;padding-bottom:14px}.art-panel{border-radius:130px 130px 16px 16px;overflow:hidden;position:relative}.art-panel img{width:100%;aspect-ratio:.9;object-fit:cover}.art-panel.sand img{aspect-ratio:1;object-fit:cover}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.method-grid h2{margin-bottom:23px}.method-grid p{font-size:15px;color:var(--muted)}.method-grid img{border-radius:var(--radius);width:100%}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:74px}.contact-layout h2{font-size:30px;margin-bottom:25px}.contact-item{border-bottom:1px solid var(--line);padding:23px 0;display:flex;gap:18px}.contact-item:first-of-type{padding-top:0}.contact-item .icon{margin-top:4px;color:#7b8970;width:22px;height:22px}.contact-item .label{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.contact-item a{font-size:20px;font-family:var(--serif);text-decoration:none;overflow-wrap:anywhere}.contact-item p{font-size:13px;color:var(--muted);margin:6px 0 0}.contact-item.small a{font-family:var(--sans);font-size:13px}.contact-form{padding:35px;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);box-shadow:0 9px 30px #25392304}.contact-form h2{font-size:29px;margin-bottom:10px}.contact-form>p{font-size:13px;color:var(--muted);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:19px}.field label{font-size:12px;display:block;margin-bottom:7px}.field label span{color:var(--copper)}input,select,textarea{display:block;width:100%;border:1px solid #c8cfc0;background:var(--paper);border-radius:6px;padding:11px 13px;color:var(--ink);font-size:14px;min-height:46px}textarea{min-height:135px;resize:vertical}input::placeholder,textarea::placeholder{color:#7c8378;font-size:13px}.form-note{font-size:11px!important;line-height:1.6;margin-bottom:20px!important}.contact-form .button{width:100%}.identification{display:grid;grid-template-columns:1fr 1fr;gap:60px}.identification h2{font-size:32px;margin-bottom:22px}.identification p{font-size:14px;color:var(--muted)}.identification dl{display:grid;grid-template-columns:130px 1fr;gap:13px;font-size:13px;margin:25px 0 0}.identification dt{color:var(--muted)}.identification dd{margin:0}.location-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;position:relative;overflow:hidden}.location-card h3{font-family:var(--serif);font-size:25px;margin:17px 0}.location-card p{max-width:330px}.location-card .icon{width:35px;height:35px}.location-card .text-link{margin-top:9px}dialog{border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);padding:34px;width:min(620px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 25px 90px #21312533}dialog::backdrop{background:#23372bab;backdrop-filter:blur(3px)}dialog h2{font-size:31px;margin:8px 0 18px}dialog .close-dialog{margin-left:auto;display:block;border:1px solid var(--line);background:transparent;border-radius:50%;width:38px;height:38px;font-size:24px;color:var(--ink)}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:8px;font:13px/1.65 var(--sans)}dialog p{font-size:13px;color:var(--muted)}.copy-status{font-size:12px;min-height:21px;margin-top:15px}.privacy{max-width:800px}.privacy h2{font-size:26px;margin:30px 0 14px}.privacy p{color:var(--muted)}.concept .container{max-width:1040px}.concept-index{display:flex;gap:10px;flex-wrap:wrap;margin:27px 0}.concept-index a{font-size:13px}.concept-block{padding:54px 0;border-bottom:1px solid var(--line)}.concept-block h2{font-size:36px;margin-bottom:23px}.concept-block h3{margin:25px 0 12px;font-size:20px}.concept-block p,.concept-block li{font-size:15px;color:var(--muted)}.concept-block table{width:100%;border-collapse:collapse;font-size:13px;margin:23px 0}.concept-block th,.concept-block td{border-bottom:1px solid var(--line);text-align:left;padding:13px;vertical-align:top}.concept-block th{font-weight:500;background:var(--sage)}.swatches{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.swatch{font-size:12px}.swatch i{display:block;width:100px;height:65px;border-radius:10px;border:1px solid #00000012;margin-bottom:8px}.concept-copy{border-left:2px solid var(--copper);padding-left:24px}.concept-copy h3{font-family:var(--serif);font-size:29px}.table-scroll{overflow-x:auto}.js-reveal-enter{animation:reveal .7s ease both}@keyframes reveal{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1440px){.hero{padding-top:83px}.hero-visual{height:485px}.portrait-main{top:103px}.portrait-caption{top:329px}.hero h1{font-size:76px}}
@media(max-width:1050px){.main-nav{gap:17px}.main-nav>a{font-size:12px}.brand-name{font-size:22px}.header-inner{gap:20px}.hero-grid{gap:32px}.hero-visual{height:420px}.portrait-main{right:35px;top:83px}.portrait-caption{right:15px;top:300px}.hero-botanical{left:-30px;width:220px;height:330px}.hero h1{font-size:55px}.stat{gap:13px}.stat-number{font-size:35px}.about-preview{gap:55px}.contact-layout{gap:40px}}
@media(max-width:850px){.section{padding-block:65px}.header-inner{height:78px}.brand-sub{font-size:8px}.brand-mark{width:34px;height:38px}.brand-name{font-size:22px}.js .menu-toggle{display:flex}.js .main-nav{display:none}.js .main-nav.open{display:flex;position:absolute;top:78px;left:0;right:0;padding:23px 24px 27px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #243a2810;align-items:stretch;gap:0;flex-direction:column}.main-nav>a{font-size:14px;padding:13px 0}.main-nav>a[aria-current=page]:not(.button):after{bottom:7px;right:auto;width:24px}.main-nav .button{margin-top:13px;align-self:flex-start;padding:12px 22px}.hero{padding-top:46px}.hero-grid{grid-template-columns:1.15fr .9fr;gap:24px}.hero h1{font-size:48px}.hero-visual{height:380px;margin-inline:0}.portrait-main{width:165px;height:165px;right:20px;top:82px}.portrait-caption{width:195px;right:6px;top:268px}.portrait-caption strong{font-size:22px}.portrait-caption span{font-size:10px}.hero-botanical{width:180px;left:-25px;top:49px;height:270px}.hero-tag{left:-20px;bottom:16px;font-size:10px;padding:10px 13px}.hero-tag .icon{width:20px}.stats{gap:15px;padding:23px 0;margin-top:45px}.stat{flex-direction:column;align-items:flex-start;gap:7px}.stat-label{font-size:11px}.stat-number{font-size:34px}.stat:last-child{justify-content:center}.section-heading p{max-width:290px}.audience-card{padding:28px}.audience-card h3{font-size:27px}.services-grid{gap:14px}.service-card{padding:23px}.service-card h3{font-size:23px}.about-preview{gap:40px}.floating-note{right:-15px;max-width:215px;font-size:19px;padding:18px}.cta-banner{padding:36px}.cta-banner h2{font-size:31px}.cta-banner p{font-size:14px}.footer-grid{gap:30px;grid-template-columns:1.2fr 1fr 1.2fr}.inner-split{gap:40px}.inner-hero{padding-top:43px}.inner-hero h1{font-size:49px}.service-detail,.prose-grid{gap:45px;grid-template-columns:.8fr 1.2fr}.method-grid{gap:45px}.contact-layout{gap:30px;grid-template-columns:.85fr 1.15fr}.contact-form{padding:26px}.form-row{grid-template-columns:1fr;gap:0}.identification{gap:35px}.contact-item a{font-size:19px}.inner-hero .lead{font-size:17px}html{scroll-padding-top:95px}body:not(.js) .header-inner{height:auto;padding-block:20px;flex-wrap:wrap}body:not(.js) .main-nav{display:flex;flex-wrap:wrap}}
@media(max-width:650px){.container{width:calc(100% - 40px)}.hero-grid,.audience-grid,.about-preview,.inner-split,.method-grid,.contact-layout,.identification,.prose-grid{grid-template-columns:1fr}.hero-grid{gap:44px}.hero{padding-top:35px;padding-bottom:32px}.hero h1{font-size:clamp(43px,10vw,58px);max-width:520px}.hero .lead{font-size:16px}.hero-visual{width:min(360px,calc(100% - 24px));height:354px;justify-self:center}.portrait-main{right:39px;top:66px;width:170px;height:170px}.portrait-caption{right:15px;top:256px;width:220px}.hero-botanical{width:217px;left:-31px;height:310px;top:25px}.hero-tag{bottom:5px;left:-13px}.hero-note{font-size:10px}.stats{grid-template-columns:1fr 1fr;margin-top:41px;gap:19px 20px}.stat{border:0}.stat:first-child{border-right:1px solid var(--line)}.stat:last-child{grid-column:1/-1;flex-direction:row;justify-content:flex-start;border-top:1px solid var(--line);padding-top:16px;gap:14px}.stat:last-child .stat-label br{display:none}.stat:last-child .icon{width:23px;height:23px}.stat-number{font-size:37px}.stat-label{font-size:12px}.section{padding-block:52px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-bottom:18px}.section-heading p{max-width:100%}.audience-card{padding:28px}.card-top{margin-bottom:24px}.audience-card h3{font-size:30px}.audience-card p{font-size:14px}.services-grid{grid-template-columns:1fr;gap:17px}.service-card{padding:27px;gap:16px}.service-card h3{font-size:26px}.service-card p{font-size:14px}.service-card .text-link{margin-top:7px}.about-preview{gap:37px}.landscape-wrap{padding-right:14px}.landscape-wrap img{aspect-ratio:1.25;border-top-left-radius:75px}.floating-note{right:0;bottom:34px;font-size:20px}.values-row{grid-template-columns:1fr;gap:15px;margin-top:25px;padding-top:23px}.cta-wrap{padding-bottom:49px}.cta-banner{padding:32px 27px;display:block}.cta-banner h2{font-size:31px}.cta-banner p{margin-bottom:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 23px}.footer-grid>div:first-child{grid-column:1/-1}.footer-intro{max-width:330px}.footer-bottom{display:block;line-height:1.8}.footer-bottom span{display:block;margin-bottom:10px}.footer-links{font-size:12px}.site-footer{padding-top:35px}.inner-hero{padding:33px 0 45px}.breadcrumb{margin-bottom:29px;font-size:10px}.inner-hero h1{font-size:44px}.inner-hero .lead{font-size:16px}.inner-split{gap:34px}.profile-panel{width:min(330px,100%);justify-self:center;padding-top:37px}.profile-panel img{width:180px;height:180px}.art-panel{width:min(360px,100%);justify-self:center}.art-panel img{aspect-ratio:1.2}.intro-strip .container{justify-content:flex-start;gap:15px 24px}.intro-strip span{font-size:11px}.prose-grid{gap:27px}.prose-grid h2{max-width:100%}.quote{font-size:24px;padding-left:21px}.values-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.value{padding-top:20px}.value .icon{margin-bottom:15px}.timeline-item{grid-template-columns:1fr;gap:10px;padding:24px 0}.timeline-item h3{font-size:24px}.training-grid{grid-template-columns:1fr;margin-top:25px}.partners{gap:20px}.service-detail{grid-template-columns:1fr;gap:22px;padding:43px 0;scroll-margin-top:100px}.service-title .icon{width:30px;height:30px;margin-bottom:17px}.service-title h2{font-size:32px;margin-bottom:13px}.service-title p{margin:0}.service-content h3{font-size:25px}.service-content p{font-size:14px}.steps{grid-template-columns:1fr;gap:28px;margin-top:30px}.step{padding-top:20px}.step-number{font-size:29px;margin-bottom:14px}.step h3{font-size:24px}.faq summary{font-size:15px;padding-block:20px}.method-grid{gap:32px}.method-grid>figure{order:2;margin:0}.contact-layout{gap:39px}.contact-form{padding:26px 21px}.contact-item a{font-size:23px}.contact-item.small a{font-size:14px}.identification{gap:28px}.identification dl{grid-template-columns:115px 1fr;font-size:12px}.location-card{padding:27px}.form-row{grid-template-columns:1fr 1fr;gap:13px}.form-row input{min-width:0}.concept-block{padding:38px 0}.concept-block h2{font-size:31px}.concept-block td,.concept-block th{padding:11px;min-width:150px}.concept-block th:first-child,.concept-block td:first-child{min-width:110px}dialog{padding:25px}dialog .actions{display:grid}dialog h2{font-size:28px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.brand-name{font-size:20px}.brand-sub{font-size:7px}.brand{gap:10px}.hero h1{font-size:41px}.hero .actions .button{width:100%}.form-row{grid-template-columns:1fr;gap:0}.hero-visual{height:333px}.portrait-main{right:23px}.portrait-caption{right:0;top:249px}.hero-botanical{width:185px;left:-18px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header{position:static}.menu-toggle,.cta-wrap,.site-footer,.service-jump,.contact-form{display:none!important}body{background:white;color:black}.section{padding-block:30px}.container{width:100%}.hero-visual{break-inside:avoid}.hero{padding-top:20px}.js-reveal-enter{animation:none}.contact-layout{display:block}a{text-decoration:underline}.concept-block{break-inside:avoid}}

/* Airy watercolor illustrations; portraits remain authentic. */
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:inherit;z-index:0}.hero-botanical,.portrait-main,.portrait-caption,.hero-tag{z-index:1}.hero-botanical{opacity:.48}.portrait-caption{background:rgba(250,248,242,.86);border-radius:12px;padding:10px 8px;top:303px}.profile-panel{isolation:isolate;overflow:hidden}.profile-panel .profile-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;border:0;border-radius:inherit;margin:0;z-index:-1;opacity:.8}.profile-panel .profile-portrait,.profile-panel .serif,.profile-panel p{position:relative}.profile-panel p{background:rgba(250,248,242,.9);padding:9px 12px;border-radius:10px}.profile-panel .serif{background:rgba(250,248,242,.9);padding:2px 10px;border-radius:8px}.art-panel.sand img{object-position:50% 55%}
@media(max-width:700px){.portrait-caption{top:260px}}
@media(max-width:370px){.portrait-caption{top:239px}}

@media(max-width:680px){.brand-mark{width:38px;height:42px}.brand{gap:12px}}

@media(max-width:370px){.header-inner{gap:12px}.menu-toggle span{display:none}}

/* Mobile navigation: native modal, quiet editorial links and direct contact. */
.mobile-menu{inset:0 0 0 auto;margin:0;width:min(420px,calc(100% - 20px));max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;border-left:1px solid var(--line);border-radius:24px 0 0 24px;background:var(--paper);color:var(--ink);box-shadow:-20px 0 80px #1d332333;overflow:auto;overscroll-behavior:contain;text-align:left}
.mobile-menu[open]{animation:menu-enter .32s cubic-bezier(.2,.7,.2,1) both}
.mobile-menu.is-closing{animation:menu-leave .22s ease both}
.mobile-menu::backdrop{background:#20372f77;backdrop-filter:blur(5px);animation:menu-backdrop .3s ease both}
.mobile-menu.is-closing::backdrop{animation:menu-backdrop-leave .22s ease both}
.mobile-menu-inner{min-height:100%;padding:24px 27px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.mobile-menu-head{position:sticky;top:0;z-index:2;background:var(--paper);box-shadow:0 -24px 0 24px var(--paper);display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:36px}
.mobile-menu-head .brand{gap:10px;min-width:0}
.mobile-menu-head .brand-mark{width:38px;height:42px}
.mobile-menu-head .brand-name{font-size:23px}
.mobile-menu-head .brand-sub{font-size:7px;letter-spacing:.12em}
.menu-close{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:background .2s,transform .2s}
.menu-close:hover{background:var(--sage);transform:rotate(6deg)}
.menu-close .icon{width:21px;height:21px}
.mobile-menu-intro .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:12px}
.mobile-menu-intro h2{font-size:32px;margin:0 0 26px;line-height:1.15}
.mobile-menu-nav{border-top:1px solid var(--line)}
.menu-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s}
.menu-number{font-size:10px;letter-spacing:.04em;color:var(--copper);align-self:flex-start;margin-top:7px;flex:none}
.menu-row-copy{flex:1;min-width:0}
.menu-row strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.15;display:block;letter-spacing:-.025em}
.menu-row small{font-size:11px;color:var(--muted);display:block;line-height:1.5;margin-top:5px}
.menu-row>.arrow{width:17px;height:17px;color:#87947c}
.menu-row[aria-current=page]{color:var(--copper)}
.menu-row[aria-current=page]>.arrow{color:var(--copper)}
.mobile-menu-contact{margin-top:auto;padding-top:30px}
.mobile-menu-contact p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 18px}
.mobile-menu-contact p .serif{font-size:26px;color:var(--ink);line-height:1.4}
.mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.mobile-menu-actions .button{padding:12px 14px;gap:10px;font-size:13px;white-space:nowrap}
.mobile-menu-actions .icon{width:19px;height:19px}
.menu-phone{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:12px;line-height:1.45}
.menu-phone small{font-size:10px;color:var(--muted);display:block;margin-top:3px;white-space:nowrap}
.menu-region{display:block;font-size:9px;color:var(--muted);letter-spacing:.04em;margin-top:19px}
body.menu-open{overflow:hidden}
.mobile-contact-bar{display:none}
@keyframes menu-enter{from{transform:translateX(100%);opacity:.7}to{transform:translateX(0);opacity:1}}
@keyframes menu-leave{to{transform:translateX(100%);opacity:.7}}
@keyframes menu-backdrop{from{opacity:0}to{opacity:1}}
@keyframes menu-backdrop-leave{to{opacity:0}}
@media(max-width:650px){
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom))}
  .mobile-contact-bar{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:11px max(16px,env(safe-area-inset-right)) max(11px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid #dedfd3cc;background:#faf8f2f5;backdrop-filter:blur(16px);box-shadow:0 -6px 24px #243a2808;transition:opacity .2s,transform .2s}
  .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:11px 12px;font-size:13px;font-weight:500;text-decoration:none;border:1px solid #c3cebb;border-radius:10px;line-height:1.3}
  .mobile-message{background:var(--sage);color:var(--ink)}
  .mobile-call{background:var(--ink);border-color:var(--ink)!important;color:var(--paper)}
  .mobile-contact-bar .icon{width:20px;height:20px}
  .mobile-contact-bar .mobile-call:hover{color:white;background:#405f50}
  .mobile-contact-bar .mobile-message:hover{background:#dce6d5;color:var(--ink)}
  body.menu-open .mobile-contact-bar,body:has(.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus) .mobile-contact-bar{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%)}
}
@media(max-width:370px){
  .mobile-menu-inner{padding:20px 20px max(22px,env(safe-area-inset-bottom))}
  .mobile-menu-head .brand-sub{display:none}
  .mobile-menu-head{margin-bottom:28px}
  .mobile-menu-head .brand-name{font-size:21px}
  .mobile-menu-intro h2{font-size:29px}
  .menu-row strong{font-size:23px}
  .mobile-menu-actions{gap:10px}
  .mobile-menu-actions .button{padding-inline:10px;font-size:12px;gap:7px}
  .menu-phone{gap:7px;font-size:11px}
  .mobile-contact-bar a{padding-inline:8px;gap:8px;font-size:12px}
}
@media(max-height:740px){.mobile-menu-head{margin-bottom:22px}.mobile-menu-intro h2{margin-bottom:20px}.menu-row{padding-block:14px}.mobile-menu-contact{padding-top:24px}}
@media print{.mobile-contact-bar,.mobile-menu{display:none!important}body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu::backdrop{animation:none!important}}
/* Separate the two hero captions on narrow screens. */
@media(max-width:650px){
  .hero-visual{margin-bottom:64px}
  .hero-visual .portrait-caption{top:auto;bottom:16px;left:14px;right:14px;width:auto;padding:10px 8px}
  .hero-visual .hero-tag{top:auto;bottom:-57px;left:0;right:0;width:100%;min-height:44px;justify-content:center;padding:12px 14px}
}

/* Neutral backing under the edited real portrait, preserving transparent hair edges. */
.portrait-main,.profile-panel .profile-portrait{background:linear-gradient(145deg,#f6f2e8 5%,#dfe6d7 100%);border-color:rgba(250,248,242,.85);box-shadow:0 8px 28px #20372f12;object-position:50% 48%}.portrait-main{border-width:5px}

.form-status{margin-top:20px;padding:18px;border-radius:10px;font-size:13px;line-height:1.7}.form-status.error{background:#faf0e9;border:1px solid #cfad93;color:#744128}.form-status.success{background:#e8ede3;border:1px solid #bccbb6;color:#2b4439}.errorlist{font-size:12px;color:#744128;padding-left:20px;margin:7px 0 14px}.contact-form button:disabled{opacity:.7;cursor:default;transform:none}.contact-form input,.contact-form textarea,.contact-form select{max-width:100%}
