
    :root{--ink:#173b2b;--green:#325b44;--mint:#a5cdb0;--cream:#fdf4e4;--peach:#f4b16d;--rose:#f4cfc7;--brown:#b07d72;--white:#fffefa;--shadow:0 22px 60px rgba(50,91,68,.12)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.7 "DM Sans",sans-serif}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.8rem;z-index:99}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--brown)}h1,h2,h3{font-family:"Fraunces",serif;font-weight:300;line-height:1.08;margin:0}h1{font-size:clamp(3rem,7vw,6.3rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:-.04em}h3{font-size:1.45rem}p{margin:.6rem 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.9rem 1.3rem;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:600;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);color:white;box-shadow:0 12px 25px rgba(50,91,68,.2)}.btn.secondary{border:1px solid rgba(23,59,43,.25);background:rgba(255,255,255,.45)}
    header{position:sticky;top:0;z-index:20;background:rgba(253,244,228,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(50,91,68,.1)}nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.7rem}.mark{width:42px;height:42px;border-radius:50%;background:var(--rose);display:grid;place-items:center;color:var(--green);font:400 1.35rem "Fraunces",serif}.brand-name{font:400 2rem/1 "Allura",cursive;color:var(--green)}.navlinks{display:flex;align-items:center;gap:1.4rem}.navlinks>a:not(.btn){font-size:.86rem;text-decoration:none}.menu{display:none;border:0;background:none;font-size:1.4rem}
    .hero{min-height:780px;padding:80px 0 65px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;align-items:center}.hero h1 em{font-weight:300;color:var(--green)}.lead{font-size:1.16rem;max-width:680px;color:#465f52;margin:1.5rem 0}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}.trust{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.trust span{padding:.42rem .75rem;border-radius:99px;background:rgba(255,255,255,.55);font-size:.78rem}.river-card{position:relative;min-height:520px;border-radius:220px 220px 28px 28px;background:linear-gradient(160deg,var(--mint),#dce9d8 60%,var(--white));box-shadow:var(--shadow);overflow:hidden}.river{position:absolute;inset:0}.river:before,.river:after{content:"";position:absolute;border-radius:50%;border:2px solid rgba(50,91,68,.18)}.river:before{width:450px;height:450px;left:-220px;top:180px}.river:after{width:520px;height:520px;right:-330px;top:60px}.quote{position:absolute;left:2rem;right:2rem;bottom:2rem;background:rgba(255,254,250,.88);backdrop-filter:blur(10px);padding:1.5rem;border-radius:20px;font:300 1.35rem/1.35 "Fraunces",serif}.quote small{font:500 .72rem "DM Sans",sans-serif;display:block;color:var(--brown);margin-top:.8rem;text-transform:uppercase;letter-spacing:.12em}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.o1{width:110px;height:110px;background:var(--peach);right:16%;top:14%}.o2{width:72px;height:72px;background:var(--rose);left:18%;top:32%}.o3{width:42px;height:42px;background:var(--green);right:25%;top:43%}
    section{padding:105px 0}.intro-strip{background:var(--green);color:white;padding:42px 0}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.strip-item{border-right:1px solid rgba(255,255,255,.18);padding-right:1rem}.strip-item:last-child{border:0}.strip-item b{font:300 1.5rem "Fraunces",serif;display:block}.strip-item small{opacity:.72}
    .section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem;margin-bottom:3.5rem}.section-head .copy{color:#52665b;max-width:620px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.card{background:var(--white);border:1px solid rgba(50,91,68,.1);border-radius:24px;padding:2rem;transition:.25s;box-shadow:0 8px 30px rgba(50,91,68,.04)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.num{display:flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--cream);color:var(--brown);font-size:.8rem;margin-bottom:1.8rem}.card ul{padding:0;margin:1.3rem 0 0;list-style:none;display:flex;gap:.5rem;flex-wrap:wrap}.card li{font-size:.76rem;background:#edf5ee;color:var(--green);padding:.32rem .65rem;border-radius:99px}
    .world{background:var(--white)}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.globe{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 27%,var(--cream) 0 13%,transparent 14%),radial-gradient(circle at 68% 58%,var(--peach) 0 8%,transparent 9%),radial-gradient(circle at 40% 65%,var(--rose) 0 10%,transparent 11%),var(--mint);position:relative;box-shadow:inset -40px -35px 60px rgba(50,91,68,.13),var(--shadow)}.globe:before,.globe:after{content:"";position:absolute;border:1px solid rgba(50,91,68,.25);border-radius:50%;inset:18% 2%}.globe:after{inset:2% 28%}.audiences{display:grid;gap:.8rem;margin-top:2rem}.audience{display:grid;grid-template-columns:36px 1fr;gap:.8rem;padding:1rem 0;border-top:1px solid rgba(50,91,68,.12)}.audience b{font-weight:600}.audience p{font-size:.9rem;color:#5b6f64;margin:.15rem 0 0}
    .approach{background:var(--rose)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.bigline{font:300 clamp(2rem,4.5vw,4rem)/1.15 "Fraunces",serif}.steps{counter-reset:s}.step{counter-increment:s;padding:1.3rem 0 1.3rem 3.4rem;border-bottom:1px solid rgba(50,91,68,.16);position:relative}.step:before{content:"0" counter(s);position:absolute;left:0;top:1.55rem;color:var(--brown);font-size:.76rem}.step strong{display:block}.step span{color:#54665c;font-size:.92rem}
    .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.mode{padding:2rem;border-radius:24px;background:rgba(255,255,255,.55);border:1px solid rgba(50,91,68,.12)}.mode .icon{font-size:1.7rem;display:block;margin-bottom:1rem}.mode p{color:#52665b;font-size:.92rem}
    .contact{padding-bottom:120px}.contact-panel{background:var(--green);color:white;border-radius:32px;padding:clamp(2rem,6vw,5rem);display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;position:relative;overflow:hidden}.contact-panel:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--peach);right:-170px;bottom:-170px}.contact-panel h2 em{color:var(--mint)}.contact-list{display:grid;gap:.8rem;align-content:center;z-index:1}.contact-link{display:block;border:1px solid rgba(255,255,255,.2);padding:1rem 1.2rem;border-radius:15px;text-decoration:none;background:rgba(255,255,255,.06)}.contact-link small{display:block;opacity:.6;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.contact-link b{font-weight:500}footer{padding:1.8rem 0;border-top:1px solid rgba(50,91,68,.12);font-size:.75rem;color:#65776d}.foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.urgent{margin-top:1.2rem;font-size:.75rem;opacity:.7}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.on{opacity:1;transform:none}
    @media(max-width:860px){.navlinks>a:not(.btn){display:none}.menu{display:block}.hero{padding-top:55px;min-height:auto}.hero-grid,.section-head,.world-grid,.approach-grid,.contact-panel{grid-template-columns:1fr;gap:2.5rem}.river-card{min-height:380px}.strip-grid{grid-template-columns:1fr 1fr}.strip-item:nth-child(2){border:0}.cards,.modes{grid-template-columns:1fr}.globe{max-width:470px;margin:auto}.contact-panel{border-radius:24px}}@media(max-width:520px){body{font-size:16px}.wrap{width:min(100% - 28px,1180px)}nav{height:70px}.navlinks .btn{display:none}.brand-name{font-size:1.7rem}.hero{padding-top:42px}.hero-grid{gap:2rem}.river-card{min-height:330px;border-radius:150px 150px 22px 22px}.quote{font-size:1.15rem;left:1rem;right:1rem;bottom:1rem}.strip-grid{grid-template-columns:1fr}.strip-item{border:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:1rem}section{padding:75px 0}.card{padding:1.5rem}.contact{padding-bottom:75px}}
    .portrait-panel{min-width:0;text-align:center}
    .portrait-bubble{width:min(100%,280px);aspect-ratio:1;margin:0 auto 1.8rem;border:6px solid var(--rose);border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--mint),var(--shadow);background:var(--cream)}
    .portrait-bubble img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%}
    .portrait-panel .quote{position:static;margin:0;padding:1.5rem;text-align:left}
    @media(max-width:520px){.portrait-bubble{width:min(100%,220px);border-width:5px}}
    header nav{height:auto;min-height:122px;padding-top:6px;padding-bottom:6px}
    .brand-logo{display:block;width:110px;height:110px;object-fit:contain;border-radius:10px}
    .footer-brand{display:flex;align-items:center;gap:1rem;text-decoration:none}
    .footer-logo{display:block;width:180px;height:180px;object-fit:contain;border-radius:12px}
    .foot{align-items:center}
    @media(max-width:520px){header nav{min-height:100px}.brand-logo{width:88px;height:88px}.footer-brand{flex-wrap:wrap}.footer-logo{width:150px;height:150px}}
  
.cabinet-photo{margin:0 auto 3rem;max-width:950px}
.cabinet-photo img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow)}
.cabinet-photo figcaption{margin-top:.8rem;color:#465f52;font-size:.95rem;text-align:center}
.specialty-nav.wrap{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;height:auto;min-height:0;padding:.5rem 0 .85rem}
.specialty-nav a{display:block;padding:.55rem 1rem;border:1px solid var(--mint);border-radius:99px;font-size:.95rem;text-decoration:none;background:var(--white)}
.specialty-nav a:hover,.specialty-nav a[aria-current="page"]{background:var(--green);color:white;border-color:var(--green)}
a:focus-visible{outline:3px solid var(--brown);outline-offset:4px}
.specialty-more{display:inline-block;margin-top:1.4rem;color:var(--green);font-weight:600}
.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
.specialty-main{width:min(100% - 40px,950px);margin:auto;padding:45px 0 80px}
.breadcrumb{font-size:.9rem;margin-bottom:2rem}
.specialty-intro{padding:10px 0 42px;border-bottom:1px solid var(--mint)}
.specialty-intro h1{font-size:clamp(2.4rem,6vw,4.8rem);overflow-wrap:anywhere;margin-top:.7rem}
.specialty-intro .lead{max-width:760px}
.explanation{padding:30px 0;max-width:780px}
.explanation h2{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;letter-spacing:-.025em}
.explanation p{margin-top:1rem;color:#465f52}
.specialty-contact{background:var(--green);color:white;border-radius:24px;padding:2rem;margin-top:2rem}
.specialty-contact h2{font-size:2rem}.specialty-contact .btn{background:var(--cream);color:var(--green)}
.reading-source{font-size:.85rem;margin-top:2rem}
@media(max-width:860px){header{position:static}.specialty-nav.wrap{justify-content:flex-start}}
@media(max-width:520px){.specialty-nav a{padding:.6rem .75rem;font-size:.9rem}.specialty-main{width:calc(100% - 28px)}}
.specialty-image{display:block;width:72px;height:76px;object-fit:contain;border-radius:12px;margin-bottom:1.8rem}
