
:root{--paper:#f7f4eb;--ink:#213d32;--muted:#687268;--line:#d9ded1;--sage:#e6ecdf;--orange:#aa624c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.draft{padding:7px 20px;text-align:center;background:var(--ink);color:#e6ecdf;font-size:12px;letter-spacing:.05em}header{position:sticky;top:0;z-index:5;background:#f7f4ebf2;border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;padding:18px 32px;display:flex;align-items:center;gap:32px}.brand{text-decoration:none;font-size:25px;font-family:Georgia,serif;letter-spacing:-1px}.brand small{display:block;font:9px Arial;letter-spacing:3px;text-transform:uppercase;margin-top:-5px}.nav nav{display:flex;gap:25px;margin-left:auto;font-size:13px}.nav nav a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--ink);color:#fff;text-decoration:none;padding:14px 23px;border:1px solid var(--ink);font-size:14px;cursor:pointer;border-radius:2px}.btn:hover{background:#345643}.btn.light{background:transparent;color:var(--ink)}.wrap{max-width:1180px;margin:auto;padding:0 32px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center;padding-top:78px;padding-bottom:80px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;color:var(--muted);font-weight:600;margin:0 0 23px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;margin:0}h1{font-size:clamp(48px,5.4vw,72px);letter-spacing:-2px}h1 em{color:var(--orange);font-weight:400}.intro{max-width:420px;color:var(--muted);font-size:17px;margin:28px 0}.subtle{font-size:12px;color:var(--muted)}.hero-art{position:relative;aspect-ratio:1;background:#edf0e5;border-radius:50% 50% 3px 3px;overflow:hidden}.hero-art svg{width:100%;height:100%}.art-caption{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2px}.recognition{padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.recognition p{font-size:17px;font-family:Georgia,serif;margin:0}.recognition span{display:block;font:11px Arial;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:1.5px}.section{padding:85px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;margin-bottom:40px}h2{font-size:clamp(32px,4vw,47px);letter-spacing:-1px}.section-head p{margin:0;color:var(--muted)}.about-text{max-width:620px;color:var(--muted)}.method{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.method>div{border-top:1px solid #a8b6a4;padding-top:18px}.num{font-size:11px;color:var(--orange);letter-spacing:1px}.method h3{font-size:25px;margin:12px 0}.method p{font-size:14px;color:var(--muted)}.reports{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.report{margin:0}.report button{display:block;position:relative;width:100%;padding:16px;background:#e9e9df;border:1px solid var(--line);cursor:zoom-in}.report button:hover{background:#dfe6d7}.report img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;box-shadow:0 4px 15px #213d3214}.zoom{position:absolute;right:25px;bottom:25px;border-radius:50%;width:36px;height:36px;background:var(--ink);color:white;display:grid;place-items:center;font-size:23px}.report figcaption{padding-top:18px}.report h3{font-size:23px;margin:7px 0}.report p{font-size:13px;color:var(--muted);margin:8px 0}.report-note{font-size:12px;color:var(--muted);margin:22px 0 0}.consult{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.consult ol{list-style:none;padding:0;margin:25px 0}.consult li{padding:17px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;color:var(--muted)}.consult li b{color:var(--orange);font-weight:400}.booking{background:var(--sage);padding:35px;border-radius:3px}.booking .eyebrow{margin-bottom:16px}.price{font:54px Georgia;margin:18px 0}.price small{font:13px Arial;color:var(--muted)}.booking hr{border:0;border-top:1px solid #c6d0bd;margin:25px 0}.booking dl{font-size:14px;margin:0}.booking dl>div{display:flex;justify-content:space-between;gap:20px;margin:15px 0}.booking dd{margin:0;color:var(--muted);text-align:right}.booking dt{font-weight:600}.status{border-left:2px solid var(--orange);padding-left:15px;margin:22px 0;font-size:13px;color:var(--muted)}.booking button{width:100%}.booking button:disabled{background:#738273;border-color:#738273;color:white;cursor:default}.faq{max-width:850px;margin:auto}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:17px}summary:after{content:'+';color:var(--orange);font-size:23px}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:14px;max-width:680px}.closing{text-align:center;padding:70px 20px}.closing p{color:var(--muted);margin:20px auto 25px;max-width:470px}footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:12px}.foot{display:flex;justify-content:space-between;gap:25px}dialog{border:0;padding:0;background:var(--paper);max-width:min(900px,95vw);max-height:94vh;width:90vw}dialog::backdrop{background:#12251be0}.modal-top{position:sticky;top:0;display:flex;align-items:center;gap:20px;justify-content:space-between;background:var(--paper);padding:10px 18px;border-bottom:1px solid var(--line)}.modal-top span{font-size:13px}.modal-top button{border:1px solid var(--line);background:white;color:var(--ink);padding:8px 15px;cursor:pointer}.modal-image{width:100%;display:block}.mobile-price{display:none}@media(max-width:760px){.wrap{padding:0 22px}.nav{padding:14px 22px;gap:15px}.nav nav{display:flex;overflow-x:auto;gap:15px;order:3;flex-basis:100%;margin-left:0;padding:5px 0;white-space:nowrap}.nav{flex-wrap:wrap}.nav nav a{font-size:12px}.nav>.btn{margin-left:auto;padding:10px 14px;font-size:12px}.brand{font-size:23px}.hero{grid-template-columns:1fr;gap:32px;padding-top:44px;padding-bottom:40px}h1{font-size:50px}.intro{font-size:16px}.hero-art{max-width:400px;width:100%;margin:auto;aspect-ratio:1.15}.recognition{grid-template-columns:1fr;gap:22px;padding:28px 0}.recognition p{font-size:19px}.recognition span{margin-bottom:4px}.section{padding:50px 0}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.method{grid-template-columns:1fr;gap:15px;margin-top:28px}.reports{grid-template-columns:1fr;gap:35px}.report button{max-width:350px;margin:auto}.report figcaption{max-width:350px;margin:auto}.consult{grid-template-columns:1fr;gap:25px}.booking{padding:25px}.foot{flex-direction:column;gap:12px}.draft{font-size:10px}.closing{padding:48px 10px}dialog{width:95vw}.modal-top{padding:8px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.who-story p{margin:0 0 16px}.who-story{max-width:650px}.who-story .subtle{margin-top:24px}@media(max-width:760px){.who-story p{margin-bottom:14px}}@media(max-width:760px){#approach .method,#future .method{grid-template-columns:1fr!important}} .field select{width:100%;padding:12px;border:1px solid #b8c5b6;background:#fff;color:#213d32;font:inherit}
/* Who We Are: keep the original story in a native, keyboard-accessible disclosure. */
#who #who-title{font-size:clamp(30px,3.5vw,42px);margin-bottom:24px}
#who .who-intro{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,4vw,47px);font-weight:400;line-height:1.18;letter-spacing:-1px;max-width:900px;margin:0 0 36px;color:var(--ink)}
#who .who-video{max-width:900px;margin:0 0 24px;background:var(--sage);border:1px solid #a8b6a4;border-radius:3px;overflow:hidden}
#who .who-video video{display:block;width:100%;height:auto;aspect-ratio:852/480;object-fit:contain}
#who .who-video video:focus-visible{outline:3px solid var(--orange);outline-offset:-4px}
#who .who-details{max-width:900px;border-top:1px solid var(--line);padding:0}
#who .who-details summary{min-height:64px;align-items:center;padding:16px 4px;font-size:18px;font-weight:600}
#who .who-details summary::-webkit-details-marker{display:none}
#who .who-details summary:focus-visible{outline-offset:-3px}
#who .who-story{padding:12px 4px 8px}
#who .who-story p{font-size:16px}
#who .who-story .subtle{font-size:12px}
@media(max-width:760px){#who .who-intro{margin-bottom:28px}}
