:root{--green:#1e4339;--green2:#15332c;--charcoal:#202321;--ivory:#f4f1e9;--white:#faf9f5;--mineral:#a6a49e;--ink:#1b211e;--line:rgba(30,67,57,.2);--serif:Georgia,"Times New Roman",serif;--sans:Inter,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--white);padding:.75rem 1rem}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:98px;padding:0 clamp(1.25rem,4vw,5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:fixed;z-index:50;top:0;left:0;right:0;color:white;border-bottom:1px solid rgba(255,255,255,.18);transition:.4s}.site-header.scrolled{height:78px;background:rgba(244,241,233,.92);backdrop-filter:blur(14px);color:var(--green);border-color:var(--line)}.brand{display:flex;align-items:center;gap:.85rem;width:max-content}.brand-mark{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.65}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-family:var(--serif);font-size:1.1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.brand small{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;margin-top:.35rem}.site-header nav{display:flex;gap:2rem}.site-header nav a{position:relative;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.text-link{position:relative;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.article a{position:relative;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}footer nav a{position:relative;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.3s}.text-link:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.3s}.article a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.3s}footer nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.3s}.site-header nav a:hover:after{transform:scaleX(1)}.text-link:hover:after{transform:scaleX(1)}.article a:hover:after{transform:scaleX(1)}footer nav a:hover:after{transform:scaleX(1)}.header-cta{justify-self:end;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid currentColor;padding:.85rem 1.15rem}.header-cta span{display:inline-block;transition:transform .35s}.btn span{display:inline-block;transition:transform .35s}.text-link span{display:inline-block;transition:transform .35s}.article a span{display:inline-block;transition:transform .35s}.header-cta:hover span{transform:translate(4px,-2px)}.btn:hover span{transform:translate(4px,-2px)}.text-link:hover span{transform:translate(4px,-2px)}.article a:hover span{transform:translate(4px,-2px)}.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:5px}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;background:url(hero.webp) center/cover no-repeat;color:white;padding:9rem clamp(1.25rem,8vw,10rem) 5rem;isolation:isolate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,15,.9) 0%,rgba(8,18,15,.72) 38%,rgba(8,18,15,.15) 72%,rgba(8,18,15,.24) 100%);z-index:-1}.hero-content{max-width:850px}.eyebrow{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;margin:0 0 2.25rem;color:var(--green)}.section-number{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;margin:0 0 2.25rem;color:var(--green)}.eyebrow:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:.8rem}.section-number:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:.8rem}.light{color:var(--ivory)!important}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,6.3vw,7.1rem);line-height:.94;letter-spacing:-.045em;text-transform:uppercase;margin:0;max-width:1100px}.hero h1 em{font-weight:400;text-transform:none}.evidence h2 em{font-weight:400;text-transform:none}.hero-lead{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.5rem);max-width:600px;margin:2.2rem 0;color:rgba(255,255,255,.82)}.actions{display:flex;gap:2rem;align-items:center}.contact-links{display:flex;gap:2rem;align-items:center}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:1rem;border:1px solid currentColor;padding:1rem 1.4rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;transition:transform .35s,color .35s}.btn:before{content:"";position:absolute;inset:0;background:var(--ivory);transform:translateX(-102%);transition:.35s;z-index:-1}.btn-light{color:white}.btn-light:hover{color:var(--green);transform:scale(1.02)}.btn:hover:before{transform:translateX(0)}.hero-index{position:absolute;right:4rem;bottom:2.8rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.18em}.scroll{position:absolute;left:4rem;bottom:2.8rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em}.scroll span{margin-left:.65rem}.ticker{background:var(--green);color:var(--ivory);display:flex;overflow:hidden;white-space:nowrap;padding:1rem 0;font-size:.68rem;letter-spacing:.18em}.ticker div{animation:marquee 30s linear infinite}.ticker i{font-style:normal;color:var(--mineral);padding:0 1.5rem}@keyframes marquee{to{transform:translateX(-100%)}}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,10rem)}.positioning{background:var(--white)}.position-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(3rem,10vw,10rem);align-items:start}.position-grid h2{font-family:var(--serif);font-size:clamp(2.6rem,4.7vw,5.6rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;margin:0}.section-head h2{font-family:var(--serif);font-size:clamp(2.6rem,4.7vw,5.6rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;margin:0}.about h2{font-family:var(--serif);font-size:clamp(2.6rem,4.7vw,5.6rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;margin:0}.faq h2{font-family:var(--serif);font-size:clamp(2.6rem,4.7vw,5.6rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;margin:0}.position-grid p{max-width:540px;color:#565b58}.position-grid .lead{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-top:0}.practice{background:var(--ivory)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem;gap:3rem}.section-head p{max-width:360px;color:#626662}.section-number{margin-bottom:1.5rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-card{min-height:390px;padding:2.2rem;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ivory);transition:.38s;overflow:hidden}.practice-card:hover{transform:translateY(-8px);border-color:var(--green);box-shadow:0 22px 45px rgba(15,35,29,.1);z-index:2}.ghost{position:absolute;right:1rem;top:-1rem;font-family:var(--serif);font-size:8rem;line-height:1;color:rgba(30,67,57,.055)}.line-icon{font-family:var(--serif);font-size:2rem;color:var(--green)}.practice-card h3{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.15;margin:5rem 0 1rem;max-width:300px}.practice-card p{color:#5c625e;font-size:.92rem}.practice-card a{position:absolute;bottom:2rem;left:2.2rem;text-transform:uppercase;font-size:.67rem;letter-spacing:.13em}.practice-card a b{display:inline-block;margin-left:.5rem;transition:.3s}.practice-card:hover a b{transform:translate(5px,-2px)}
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--white);padding-left:0;gap:clamp(3rem,9vw,10rem);align-items:center}.about-visual{background:var(--green);min-height:760px;padding:5rem;display:flex;flex-direction:column;justify-content:space-between;color:var(--ivory)}.portrait-placeholder{border:1px solid rgba(244,241,233,.35);min-height:520px;display:grid;place-content:center;text-align:center;gap:1.5rem;background:linear-gradient(145deg,rgba(0,0,0,.05),rgba(255,255,255,.06))}.portrait-placeholder svg{width:90px;margin:auto;fill:none;stroke:var(--ivory);stroke-width:1}.portrait-placeholder span{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;opacity:.65}.about-visual>p{font-family:var(--serif);font-size:1.45rem;font-style:italic;max-width:470px}.about-copy{max-width:600px}.about-copy h2{text-transform:uppercase}.role{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin:1.3rem 0 3rem}.about-copy>p:not(.role){color:#555b57;max-width:520px}.evidence{background:var(--green2);color:var(--ivory)}.evidence-intro{display:grid;grid-template-columns:1.2fr 1fr;column-gap:8vw}.evidence-intro .section-number{grid-column:1/-1}.evidence h2{font-family:var(--serif);font-size:clamp(3.3rem,6vw,7rem);line-height:.93;letter-spacing:-.04em;text-transform:uppercase;font-weight:400;margin:0}.evidence-intro p{max-width:620px;color:rgba(244,241,233,.72);margin-top:0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:7rem;border-top:1px solid rgba(244,241,233,.23)}.pillars article{padding:2rem 3rem 0 0;border-right:1px solid rgba(244,241,233,.23);min-height:220px}.pillars article+article{padding-left:3rem}.pillars span{font-size:.66rem;letter-spacing:.15em;color:var(--mineral)}.pillars h3{font-family:var(--serif);font-weight:400;font-size:1.8rem;margin:2rem 0 .5rem}.pillars p{font-size:.9rem;color:rgba(244,241,233,.65);max-width:300px}
.editorial{background:var(--white)}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.article-art{height:330px;overflow:hidden;display:flex;align-items:flex-end;padding:1.5rem;color:var(--ivory);transition:.45s;background-color:var(--green)}.article:hover .article-art{background-size:115%;filter:brightness(.92)}.article-art span{font-family:var(--serif);font-size:6rem;line-height:.8;opacity:.28}.art-one{background:linear-gradient(145deg,transparent,rgba(0,0,0,.3)),repeating-linear-gradient(35deg,var(--green) 0 2px,#315d50 2px 44px)}.art-two{background:radial-gradient(circle at 70% 30%,#5b786f 0 2%,transparent 2.5%),linear-gradient(120deg,#112c25,#315a4f)}.art-three{background:linear-gradient(20deg,transparent 48%,rgba(244,241,233,.14) 49% 51%,transparent 52%),#202321}.article-meta{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:#737873;margin-top:1.5rem}.article h3{font-family:var(--serif);font-weight:400;font-size:1.65rem;line-height:1.2;margin:.75rem 0 1.5rem}.vestigio{margin-top:7rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:2rem 0}.vestigio span{text-transform:uppercase;font-size:.64rem;letter-spacing:.18em;color:#717671}.vestigio strong{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,4rem);letter-spacing:.05em}.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:1.6rem 0;display:flex;justify-content:space-between;gap:2rem;font-family:var(--serif);font-size:1.18rem}summary::-webkit-details-marker{display:none}summary span{font-family:var(--sans);font-size:1.2rem;transition:.3s}details[open] summary span{transform:rotate(45deg)}details p{color:#606661;max-width:650px;padding:0 3rem 1.6rem 0;margin:0}.contact{position:relative;overflow:hidden;background:var(--charcoal);color:var(--ivory);text-align:center;display:flex;flex-direction:column;align-items:center}.contact-mark{position:absolute;width:min(65vw,800px);right:-12vw;top:-25%;fill:none;stroke:rgba(244,241,233,.035);stroke-width:.55}.contact h2{font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);font-weight:400;line-height:.98;letter-spacing:-.04em;max-width:1100px;margin:0}.contact>p{font-family:var(--serif);font-size:1.35rem;color:rgba(244,241,233,.7)}.contact-links{margin-top:2rem}footer{background:#171917;color:var(--ivory);padding:4rem clamp(1.25rem,5vw,6rem);display:grid;grid-template-columns:1.4fr 1fr auto 1fr;gap:3rem;align-items:start;border-top:1px solid rgba(244,241,233,.12)}footer p{font-size:.75rem;color:rgba(244,241,233,.6);margin:.2rem 0}footer nav{display:flex;flex-direction:column;gap:.6rem}.legal{text-align:right}.reveal.pending-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.header-cta{display:none}.menu-toggle{display:block;color:inherit}.site-header nav.open{display:flex;position:fixed;inset:78px 0 0;background:var(--ivory);color:var(--green);flex-direction:column;padding:3rem 2rem;font-family:var(--serif);font-size:2rem}.site-header nav.open a{font-size:1.5rem}.position-grid{grid-template-columns:1fr}.evidence-intro{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr;padding-right:0}.about-copy{padding:2rem 2rem 6rem;max-width:740px}.evidence-intro p{margin-top:2.5rem}.articles{grid-template-columns:1fr 1fr}.article:last-child{grid-column:1/-1;max-width:50%}footer{grid-template-columns:1fr 1fr}.legal{text-align:left}}
@media(max-width:650px){.site-header{height:78px;padding:0 1.1rem}.brand strong{font-size:.9rem}.brand small{font-size:.49rem}.brand-mark{width:35px}.hero{padding:8rem 1.25rem 6rem;background-position:62% center}.hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.hero-index{display:none}.scroll{left:1.25rem;bottom:1.5rem}.actions{align-items:flex-start;flex-direction:column;gap:1.4rem}.contact-links{align-items:flex-start;flex-direction:column;gap:1.4rem}.section{padding:5rem 1.25rem}.position-grid{gap:2rem}.section-head{align-items:start;flex-direction:column;margin-bottom:2.5rem}.cards{grid-template-columns:1fr}.practice-card{min-height:360px}.about{padding:0}.about-visual{min-height:auto;padding:1.25rem}.portrait-placeholder{min-height:480px}.about-visual>p{padding:1.5rem 1rem}.about-copy{padding:4rem 1.25rem 5rem}.pillars{grid-template-columns:1fr;margin-top:4rem}.pillars article{padding:2rem 0;border-right:0;border-bottom:1px solid rgba(244,241,233,.23);min-height:auto}.pillars article+article{padding:2rem 0;border-right:0;border-bottom:1px solid rgba(244,241,233,.23);min-height:auto}.articles{grid-template-columns:1fr}.article:last-child{grid-column:auto;max-width:none}.article-art{height:280px}.vestigio{align-items:flex-start;flex-direction:column;gap:1rem}.faq{gap:4rem}.contact{text-align:left;align-items:flex-start}.contact h2{font-size:2.9rem}footer{grid-template-columns:1fr}.ticker{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}

/* Refinements: official mark, restrained button fills, Lucide line icons and richer cards */
.brand-mark{width:42px;height:42px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);transition:filter .4s}.site-header.scrolled .brand-mark{filter:none}footer .brand-mark{filter:grayscale(1) brightness(0) invert(1)}
.header-cta{background:linear-gradient(90deg,var(--ivory),var(--ivory)) no-repeat;background-size:0 100%;transition:background-size .38s ease,color .38s ease,transform .38s ease}.header-cta:hover{background-size:100% 100%;color:var(--green);transform:translateY(-2px)}.site-header.scrolled .header-cta{background-image:linear-gradient(90deg,var(--green),var(--green))}.site-header.scrolled .header-cta:hover{color:var(--ivory)}
.btn{background:linear-gradient(90deg,var(--ivory),var(--ivory)) no-repeat;background-size:0 100%;transition:background-size .38s ease,transform .38s ease,color .38s ease}.btn:before{display:none}.btn-light:hover{background-size:100% 100%;color:var(--green);transform:translateY(-2px)}
.practice-card{transition:transform .42s ease,box-shadow .42s ease,background-color .42s ease,color .42s ease}.practice-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--ivory);transform:scaleX(0);transform-origin:left;transition:transform .42s ease}.practice-card:hover{transform:translateY(-10px);background:var(--green);color:var(--ivory);box-shadow:0 28px 60px rgba(15,35,29,.2)}.practice-card:hover:before{transform:scaleX(1)}.ghost{transition:color .42s ease}.line-icon{width:32px;height:32px;fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .42s ease,transform .42s ease}.practice-card p{transition:color .42s ease}.practice-card a{border-bottom:1px solid transparent;transition:border-color .3s}.practice-card:hover .ghost{color:rgba(244,241,233,.08)}.practice-card:hover .line-icon{stroke:var(--ivory);transform:translateY(-3px)}.practice-card:hover p{color:rgba(244,241,233,.72)}.practice-card:hover a{border-color:rgba(244,241,233,.55)}
.portrait{margin:0;border:1px solid rgba(244,241,233,.35);height:520px;overflow:hidden;background:var(--green2)}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 24%;filter:saturate(.72) contrast(1.04);}.about-visual:hover .portrait img{filter:saturate(.9) contrast(1.02);}
.contact-mark{height:auto;object-fit:contain;opacity:.035;filter:grayscale(1) brightness(0) invert(1)}
@media(max-width:650px){.portrait{height:540px}}

/* Second refinement: continuous motion, polished grids and clearer method */
.ticker{display:block}.ticker-track{display:flex;width:max-content;flex:none;animation:tickerLoop 34s linear infinite}.ticker-track span{display:block;flex:none}@keyframes tickerLoop{to{transform:translateX(-50%)}}
.practice-card:hover{transform:scale(1.012);outline:1px solid var(--green);outline-offset:-1px;box-shadow:0 24px 56px rgba(15,35,29,.18)}.line-icon{width:68px;height:68px;stroke-width:1.25}.practice-card h3{margin:3.25rem 0 1rem}.practice-card:hover .line-icon{transform:scale(1.06)}
.evidence-intro{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);column-gap:8vw;row-gap:3.5rem;align-items:start}.evidence-intro h2{padding-bottom:.25em}.evidence-copy{display:flex;flex-direction:column;gap:1rem}.evidence-copy p{margin:0}.evidence-copy blockquote{font-family:var(--serif);font-size:1.4rem;line-height:1.35;margin:1.5rem 0 0;padding:1.5rem 0 0;border-top:1px solid rgba(244,241,233,.25);color:var(--ivory)}
.pillars{gap:1rem;border-top:0;margin-top:6rem}.pillars article{min-height:250px;padding:2.25rem;border:1px solid rgba(244,241,233,.22);transition:background-color .4s ease,transform .4s ease,border-color .4s ease}.pillars article+article{min-height:250px;padding:2.25rem;border:1px solid rgba(244,241,233,.22);transition:background-color .4s ease,transform .4s ease,border-color .4s ease}.pillars article:hover{background:rgba(244,241,233,.07);transform:translateY(-5px);border-color:rgba(244,241,233,.5)}
.articles{gap:3rem}.article{padding:1rem;margin:-1rem;border:1px solid transparent;transition:background-color .42s ease,color .42s ease,transform .42s ease,box-shadow .42s ease}.article:hover{background:var(--green);color:var(--ivory);transform:translateY(-6px);box-shadow:0 24px 52px rgba(15,35,29,.16)}.article-art{transition:transform .55s ease,filter .55s ease}.article:hover .article-art{transform:scale(.97);filter:brightness(1.08)}.article:hover .article-meta{color:rgba(244,241,233,.62)}.article:hover a:after{transform:scaleX(1)}
.portrait img{object-position:center 18%;filter:saturate(.86) contrast(1.02);}
@media(max-width:1000px){.evidence-intro{grid-template-columns:1fr;row-gap:2rem}.evidence-copy{max-width:720px}.pillars{gap:.75rem}.articles{gap:2rem}}
@media(max-width:650px){.line-icon{width:58px;height:58px}.practice-card h3{margin:2.5rem 0 1rem}.pillars{gap:.75rem}.pillars article{padding:1.75rem;min-height:auto}.pillars article+article{padding:1.75rem;min-height:auto}.evidence-copy blockquote{font-size:1.2rem}.article{margin:0;padding:1rem}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.practice-card:hover{transform:none}.pillars article:hover{transform:none}.article:hover{transform:none}}

/* Third refinement: guaranteed seamless ticker, softer editorial hover and accordion */
.ticker .ticker-track{animation:tickerLoopV2 58s linear infinite;will-change:transform}.ticker:hover .ticker-track{animation-play-state:running}@keyframes tickerLoopV2{to{transform:translate3d(-33.333333%,0,0)}}
.article:hover{background:#f1eee5;color:var(--ink);transform:translateY(-2px);border-color:var(--line);box-shadow:0 14px 34px rgba(15,35,29,.09)}.article:hover .article-art{transform:scale(.992);filter:brightness(1.02)}.article:hover .article-meta{color:#737873}.article:hover a:after{transform:scaleX(1)}
.faq-item{border-bottom:1px solid var(--line)}.faq-trigger{width:100%;border:0;background:transparent;color:var(--ink);padding:1.75rem 0;display:flex;justify-content:space-between;align-items:center;gap:2rem;text-align:left;cursor:pointer;font-family:var(--serif);font-size:1.18rem;line-height:1.35}.faq-trigger span{flex:0 0 auto;font-family:var(--sans);font-size:1.25rem;font-weight:300;transition:transform .65s cubic-bezier(.22,1,.36,1),color .4s}.faq-trigger[aria-expanded="true"] span{transform:rotate(45deg);color:var(--green)}.faq-panel{height:0;overflow:hidden;transition:height .65s cubic-bezier(.22,1,.36,1)}.faq-panel>div{padding:0 3rem 1.85rem 0}.faq-panel p{margin:0;max-width:650px;color:#606661}
@media(max-width:650px){.faq-trigger{padding:1.5rem 0;font-size:1.08rem}.faq-panel>div{padding-right:0}}
@media(prefers-reduced-motion:reduce){.faq-panel{transition:none}.faq-trigger span{transition:none}}

/* Practical-content refinement inspired by a clearer client journey */
.hero-assurances{display:flex;flex-wrap:wrap;gap:.7rem 1.7rem;margin-top:2rem;color:rgba(255,255,255,.72);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.hero-assurances span{display:flex;align-items:center;gap:.55rem}.hero-assurances span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ivory);opacity:.75}
.situation-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.situation-list span{position:relative;padding:1.35rem 1.25rem 1.35rem 3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.05rem}.situation-list span:before{content:"";position:absolute;left:1.25rem;top:50%;width:7px;height:7px;border:1px solid var(--green);border-radius:50%;transform:translateY(-50%);transition:background-color .35s ease,transform .35s ease}.situation-list span:hover:before{background:var(--green);transform:translateY(-50%) scale(1.35)}
@media(max-width:1000px){.situation-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.hero-assurances{display:grid;gap:.55rem;margin-top:1.8rem}.situation-list{grid-template-columns:1fr;margin-top:3rem}}

/* Single contact action below the defense cards */
.practice-action{display:flex;justify-content:center;margin-top:3rem}.btn-practice{color:var(--green);border-color:var(--green);background-image:linear-gradient(90deg,var(--green),var(--green))}.btn-practice:hover{color:var(--ivory);background-size:100% 100%;transform:translateY(-2px)}.btn-practice:focus-visible{color:var(--ivory);background-size:100% 100%;transform:translateY(-2px)}

/* Keep the principle names readable across desktop and tablet widths. */
.pillars h3{font-size:clamp(1.35rem,2vw,1.8rem)}
@media(max-width:1000px){.pillars{grid-template-columns:1fr}.pillars article{min-height:auto}.pillars article+article{min-height:auto}.pillars p{max-width:620px}}

/* Copper accents and restrained emphasis for the principles. */
:root{--copper:#a04b29;--copper-dark:#80371d;--copper-light:#dca078}
.about-action{margin-top:2rem}.principles-action{display:flex;justify-content:center;margin-top:3rem}
.btn-copper{color:var(--white);border-color:var(--copper);background-color:var(--copper);background-image:linear-gradient(90deg,var(--copper-dark),var(--copper-dark));transition:background-size .45s ease,color .45s ease,transform .45s ease,border-color .45s ease,box-shadow .45s ease}
.btn-copper:hover{background-size:100% 100%;color:var(--white);border-color:var(--copper-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.btn-copper:focus-visible{background-size:100% 100%;color:var(--white);border-color:var(--copper-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.btn-copper:focus-visible{outline:2px solid currentColor;outline-offset:4px}.about .btn-copper:focus-visible{outline-color:var(--green)}
.pillars article{position:relative;background:rgba(244,241,233,.035);border-color:rgba(244,241,233,.25);transition:background-color .5s ease,transform .5s ease,border-color .5s ease,box-shadow .5s ease}.pillars article+article{position:relative;background:rgba(244,241,233,.035);border-color:rgba(244,241,233,.25);transition:background-color .5s ease,transform .5s ease,border-color .5s ease,box-shadow .5s ease}
.pillars article:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--copper-light);transform:scaleX(.16);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.pillars span{display:block;font-family:var(--serif);font-size:2.5rem;line-height:1;color:var(--copper-light);letter-spacing:0}.pillars h3{margin-top:1.5rem}.pillars p{color:rgba(244,241,233,.8)}
.pillars article:hover{background:rgba(244,241,233,.085);border-color:rgba(220,160,120,.65);transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12)}.pillars article:hover:before{transform:scaleX(1)}
.portrait img{filter:none;object-position:center 30%;}.about-visual:hover .portrait img{filter:none;object-position:center 30%;}
@media(prefers-reduced-motion:reduce){.btn-copper:hover{transform:none}.btn-copper:focus-visible{transform:none}.pillars article:hover{transform:none}.pillars article:before{transition:none}}

.contact-links{flex-wrap:wrap;justify-content:center}

/* Contact and portrait refinement */
.btn-about{color:var(--ivory);border-color:var(--green);background-color:var(--green);background-image:linear-gradient(90deg,var(--white),var(--white))}.btn-about:hover{background-size:100% 100%;color:var(--green);transform:translateY(-2px)}.btn-about:focus-visible{background-size:100% 100%;color:var(--green);transform:translateY(-2px)}.btn-light:focus-visible{background-size:100% 100%;color:var(--green)}
.portrait img{object-position:50% 23%;}.about-visual:hover .portrait img{}
footer{grid-template-columns:1.15fr 1.35fr .65fr 1.2fr;align-items:center;gap:2rem}.footer-contacts{display:flex;flex-direction:column;gap:.9rem;min-width:0}.footer-contact-link{display:flex;gap:.65rem;align-items:center;font-size:.8rem;min-width:0}.footer-contact-link svg{width:18px;height:18px;flex:none}.footer-contact-link span{position:relative;overflow-wrap:anywhere}.footer-contact-link span:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.footer-contact-link:hover span:after{transform:scaleX(1)}.footer-contact-link:focus-visible span:after{transform:scaleX(1)}footer .legal p+p{margin-top:.8rem}
@media(max-width:1100px){footer{grid-template-columns:1fr 1fr}.legal{text-align:left}}@media(max-width:650px){footer{grid-template-columns:1fr;gap:2rem}.footer-contact-link{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.about-visual:hover .portrait img{}}

/* Taller portrait, preserving the editorial frame and caption. */
.about-visual{padding:clamp(1.5rem,3vw,3.5rem);gap:1.8rem;min-height:0}.portrait{height:auto;aspect-ratio:3/4;max-height:760px}.portrait img{object-fit:cover;object-position:50% 24%;}.about-visual:hover .portrait img{}.about-visual>p{margin:0;max-width:100%}
@media(max-width:1000px){.about-visual{max-width:620px;width:100%;margin:0 auto}.portrait{max-height:760px}}
@media(prefers-reduced-motion:reduce){.about-visual:hover .portrait img{}}

/* Principles: one icon family, restrained watermark numbers. */
.pillars{gap:1.25rem;border:0;margin-top:4rem;grid-template-columns:repeat(3,minmax(0,1fr))}.pillars article{padding:3rem 1.5rem 2.5rem;min-height:340px;text-align:center;overflow:hidden;isolation:isolate;border:1px solid rgba(244,241,233,.23);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.pillars article+article{padding:3rem 1.5rem 2.5rem;min-height:340px;text-align:center;overflow:hidden;isolation:isolate;border:1px solid rgba(244,241,233,.23);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.pillars .principle-number{position:absolute;right:1rem;top:1rem;font-family:var(--serif);font-size:6rem;line-height:1;color:var(--ivory);opacity:.065;z-index:-1;transition:opacity .5s,transform .5s}.principle-icon{width:72px;height:72px;flex-shrink:0;stroke-width:1.45;color:var(--copper-light);transition:color .5s,transform .5s}.pillars h3{margin:1.8rem 0 .9rem;font-size:clamp(1.4rem,2.1vw,1.85rem);line-height:1.2}.pillars p{margin:0;max-width:32ch;font-size:1rem;line-height:1.65}.pillars article:hover .principle-icon{color:var(--ivory);transform:translateY(-3px)}.pillars article:hover .principle-number{opacity:.11;transform:translateY(3px)}
@media(max-width:1000px){.pillars{grid-template-columns:1fr}.pillars article{min-height:0;padding:2.5rem 2rem}.pillars article+article{min-height:0;padding:2.5rem 2rem}.pillars p{max-width:48ch}}@media(max-width:650px){.principle-icon{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.pillars article:hover{transform:none}.pillars article:hover .principle-icon{transform:none}.pillars article:hover .principle-number{transform:none}}

/* Editorial carousel: three / two / one readable cards per viewport. */
.content-carousel{--cards-per-view:3;--article-gap:24px;min-width:0}
.content-carousel .articles{display:flex;gap:var(--article-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;padding:12px 0 24px;margin:-12px 0 0;align-items:stretch}
.content-carousel .articles::-webkit-scrollbar{display:none}
.content-carousel .article{flex:0 0 calc((100% - (var(--cards-per-view) - 1)*var(--article-gap))/var(--cards-per-view));min-width:0;max-width:none;margin:0;padding:0 0 1.5rem;border:1px solid var(--line);scroll-snap-align:start;background:var(--white);transform:none;box-shadow:none;overflow:hidden}.content-carousel .article:last-child{flex:0 0 calc((100% - (var(--cards-per-view) - 1)*var(--article-gap))/var(--cards-per-view));min-width:0;max-width:none;margin:0;padding:0 0 1.5rem;border:1px solid var(--line);scroll-snap-align:start;background:var(--white);transform:none;box-shadow:none;overflow:hidden}
.content-carousel .article:hover{background:var(--ivory);border-color:rgba(30,67,57,.5);box-shadow:0 10px 20px rgba(15,35,29,.065);transform:none}.content-carousel .article:focus-within{background:var(--ivory);border-color:rgba(30,67,57,.5);box-shadow:0 10px 20px rgba(15,35,29,.065);transform:none}
.content-carousel .article-main{display:flex;flex-direction:column;height:100%;font-size:inherit;letter-spacing:normal;text-transform:none;position:static;outline-offset:-3px}
.content-carousel .article-main:after{display:none}
.content-carousel .article-art{padding:0;height:auto;aspect-ratio:3/2;display:block;transform:none;background:var(--green);transition:none}
.content-carousel .article-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .65s}
.content-carousel .article:hover .article-art{transform:none;filter:none}.content-carousel .article:focus-within .article-art{transform:none;filter:none}
.content-carousel .article:hover .article-art img{transform:scale(1.035);filter:brightness(1.05)}.content-carousel .article:focus-within .article-art img{transform:scale(1.035);filter:brightness(1.05)}
.content-carousel .article-meta{font-size:.75rem;letter-spacing:.09em;margin:1.5rem 1.5rem .65rem;color:#646c65}
.content-carousel .article h3{font-size:clamp(1.45rem,1.75vw,1.85rem);line-height:1.2;margin:0 1.5rem 1rem}
.article-excerpt{font-size:1rem;line-height:1.6;color:#555d57;margin:0 1.5rem 1.5rem}
.article-read{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;position:relative;margin:auto 1.5rem 0;padding-top:.5rem;color:var(--green)}
.article-read:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s}.article-main:hover .article-read:after{transform:scaleX(1)}.article-main:focus-visible .article-read:after{transform:scaleX(1)}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.5rem}.carousel-controls[hidden]{display:none}
.carousel-arrow{width:48px;height:48px;display:grid;place-items:center;color:var(--green);border:1px solid var(--line);background:transparent;cursor:pointer;transition:background-color .35s,color .35s,border-color .35s}.carousel-prev svg{transform:rotate(180deg)}
.carousel-arrow:hover:not(:disabled){background:var(--green);color:var(--ivory);border-color:var(--green)}.carousel-arrow:focus-visible{background:var(--green);color:var(--ivory);border-color:var(--green)}.carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-dots{display:flex;align-items:center;justify-content:center;gap:0}.carousel-dot{width:30px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--green);padding:0;cursor:pointer}.carousel-dot:before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid currentColor;transition:background-color .35s,transform .35s}.carousel-dot[aria-current="true"]:before{background:currentColor;transform:scale(1.3)}.carousel-dot:hover:before{background:currentColor}
.carousel-arrow:focus-visible{outline:2px solid var(--green);outline-offset:4px}.carousel-dot:focus-visible{outline:2px solid var(--green);outline-offset:4px}.article-main:focus-visible{outline:2px solid var(--green);outline-offset:4px}.articles:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.content-carousel{--cards-per-view:2}.content-carousel .article h3{font-size:1.6rem}}
@media(max-width:650px){.content-carousel{--cards-per-view:1;--article-gap:16px}.content-carousel .article-meta{margin-left:1.2rem;margin-right:1.2rem}.content-carousel .article h3{margin-left:1.2rem;margin-right:1.2rem}.article-excerpt{margin-left:1.2rem;margin-right:1.2rem}.article-read{margin-left:1.2rem}.carousel-controls{gap:.5rem}}

/* Article pages share the main site's navigation, type and footer. */
.article-page{background:var(--white)}.article-page .site-header{background:rgba(244,241,233,.97);color:var(--green);border-color:var(--line)}.article-page .site-header .brand-mark{filter:none;opacity:1}
.longform{padding:10rem 0 5rem}.reading-heading{max-width:1100px;margin:auto;padding:0 1.5rem}.reading-back{display:inline-block;font-size:.875rem;color:var(--green);border-bottom:1px solid var(--line);margin-bottom:3rem;transition:border-color .3s}.reading-back:hover{border-color:var(--green)}
.reading-heading .section-number{margin-bottom:1.5rem;font-size:.8rem}.reading-heading h1{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1.06;margin:0 0 1.8rem;max-width:25ch;text-wrap:balance}.reading-byline{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;color:#616a63;margin:0 0 3rem}.reading-byline span{color:#737873}
.reading-cover{max-width:1100px;margin:0 auto 3rem;padding:0 1.5rem}.reading-cover img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.reading-cover figcaption{font-size:.75rem;color:#737873;margin-top:.6rem}
.reading-body{max-width:790px;padding:0 1.5rem;margin:auto;font-size:1.125rem;line-height:1.85}.reading-body p{margin:0 0 1.4rem;overflow-wrap:break-word}.reading-body .reading-lead{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.55;color:var(--green);padding-bottom:2rem;margin-bottom:2.75rem;border-bottom:1px solid var(--line)}.reading-body section{margin:0 0 2.8rem}.reading-body h2{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;font-weight:400;letter-spacing:-.02em;margin:0 0 1.25rem;color:var(--green)}
.reading-sources{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.reading-sources h2{font-size:1.4rem}.reading-sources ul{padding-left:1.2rem;font-size:.875rem;line-height:1.7}.reading-sources li{margin:.6rem 0}.reading-sources a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.reading-sources a:hover{color:var(--green)}
.reading-contact{margin:3rem 0;display:flex;justify-content:center}.reading-next{border-top:1px solid var(--line);padding-top:2rem;display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;font-size:1rem;color:var(--green)}.reading-next a+ a{text-align:right}.reading-next span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#737873;margin-bottom:.5rem}.reading-next a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){.longform{padding-top:7.5rem}.reading-back{margin-bottom:2rem}.reading-heading h1{font-size:2.5rem}.reading-body{font-size:1.0625rem}.reading-next{grid-template-columns:1fr;gap:1.5rem}.reading-next a+a{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.content-carousel .article-art img{transition:none}.carousel-arrow{transition:none}.carousel-dot:before{transition:none}.content-carousel .article:hover .article-art img{transform:none}}

/* Defense cards: one inset perimeter, with the animated rule on that same edge. */
.practice-card{background:var(--ivory);color:var(--ink);transform:none;outline:none;box-shadow:none;z-index:auto;border:0;box-shadow:inset 0 0 0 1px var(--line);transition:none}.practice-card:hover{background:var(--ivory);color:var(--ink);transform:none;outline:none;box-shadow:none;z-index:auto;border:0;box-shadow:inset 0 0 0 1px var(--line);transition:none}
.practice-card:after{content:"";position:absolute;inset:0;border:1px solid rgba(30,67,57,0);pointer-events:none;transition:border-color .8s ease}
.practice-card:hover:after{border-color:rgba(30,67,57,.7)}
.practice-card:before{top:0;left:0;width:100%;height:2px;background:var(--green);z-index:1;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,1,.36,1);pointer-events:none}
.practice-card:hover:before{transform:scaleX(1)}
.practice-card .line-icon{stroke:var(--green);transform:none;transition:none}.practice-card:hover .line-icon{stroke:var(--green);transform:none;transition:none}
.practice-card .ghost{color:rgba(30,67,57,.055);transition:none}.practice-card:hover .ghost{color:rgba(30,67,57,.055);transition:none}
.practice-card p{color:#5c625e;transition:none}.practice-card:hover p{color:#5c625e;transition:none}
@media(prefers-reduced-motion:reduce){.practice-card:before{transition:none}.practice-card:after{transition:none}}

.cards{border:0}

/* Responsive audit: narrow controls, tablet navigation, and motion preferences. */
.menu-toggle{min-width:44px;min-height:44px}
.reading-heading h1{overflow-wrap:break-word}.about h2{overflow-wrap:break-word}
@media(max-width:1100px){
 .site-header{height:78px;grid-template-columns:minmax(0,1fr) auto}
 .site-header nav{display:none}.header-cta{display:none}
 .menu-toggle{display:block;color:inherit}
 .site-header nav.open{display:flex;position:fixed;inset:78px 0 0;background:var(--ivory);color:var(--green);flex-direction:column;padding:2rem;overflow-y:auto;gap:1.25rem}
 .site-header nav.open a{font-family:var(--serif);font-size:1.5rem;min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){.carousel-dot{width:26px}.carousel-controls{gap:.4rem}.btn{max-width:100%;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none}.reveal.pending-reveal{opacity:1;transform:none;transition:none}}
/* Mobile refinement: shorter opening and compact floating glass navigation. */
.hero-mobile-title{display:none}
@media(max-width:650px){
 .hero{min-height:88svh;padding:8rem 1.25rem 4rem;align-items:center}
 .hero-desktop-title{display:none}.hero-mobile-title{display:inline}
 .hero h1{font-size:clamp(2.6rem,11.5vw,4rem);line-height:1.02;letter-spacing:-.035em}
 .hero .eyebrow{display:none}.hero-lead{font-size:1.15rem;margin:1.6rem 0 1.8rem;max-width:29ch;line-height:1.55}
 .hero .actions .text-link{display:none}.hero-assurances{margin-top:1.5rem;font-size:.65rem;letter-spacing:.06em}
 .hero-assurances span:first-child{display:none}.hero-assurances span:last-child{display:none}
}
@media(max-width:1100px){
 body.menu-open{overflow:auto}
 .site-header nav{display:flex;position:fixed;inset:90px 16px auto;max-width:480px;margin-inline:auto;max-height:calc(100svh - 115px);overflow:auto;padding:.7rem 1.4rem;gap:0;border:1px solid rgba(244,241,233,.35);border-radius:22px;background:rgba(244,241,233,.84);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 16px 45px rgba(10,28,21,.18);color:var(--green);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility .35s;flex-direction:column}.site-header nav.open{display:flex;position:fixed;inset:90px 16px auto;max-width:480px;margin-inline:auto;max-height:calc(100svh - 115px);overflow:auto;padding:.7rem 1.4rem;gap:0;border:1px solid rgba(244,241,233,.35);border-radius:22px;background:rgba(244,241,233,.84);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 16px 45px rgba(10,28,21,.18);color:var(--green);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility .35s;flex-direction:column}
 .site-header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
 .site-header nav a{display:flex;justify-content:center;align-items:center;padding:.85rem .4rem;min-height:52px;font-family:var(--serif);font-size:1.2rem;text-align:center;letter-spacing:.03em;text-transform:none}
 .site-header nav a+a{border-top:1px solid rgba(30,67,57,.16)}.site-header nav a:after{display:none}
 .site-header nav a:hover{background:rgba(30,67,57,.06);border-radius:5px}.site-header nav a:focus-visible{background:rgba(30,67,57,.06);border-radius:5px}
 .menu-toggle span{transition:transform .35s ease,opacity .25s ease}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
/* Touch highlights use explicit state instead of relying on sticky mobile hover. */
.portrait{position:relative}.touch-highlight{position:absolute;inset:0;width:100%;height:100%;padding:0;background:transparent;border:0;cursor:pointer;z-index:3}
.touch-highlight:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
.practice-card.is-active:after{border-color:rgba(30,67,57,.7)}.practice-card.is-active:before{transform:scaleX(1)}
.pillars article.is-active{background:rgba(244,241,233,.085);border-color:rgba(220,160,120,.65);transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.pillars article.is-active:before{transform:scaleX(1)}.pillars article.is-active .principle-icon{color:var(--ivory);transform:translateY(-3px)}.pillars article.is-active .principle-number{opacity:.11;transform:translateY(3px)}
.portrait img{}.about-visual .portrait.is-active img{}
/* Intrinsic FAQ animation avoids repeated pixel-height writes and scroll anchoring. */
.faq{overflow-anchor:none}.faq-panel{height:auto;display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1);overflow:hidden}
.faq-panel.is-open{grid-template-rows:1fr}.faq-panel>div{min-height:0;overflow:hidden;padding:0}.faq-panel p{padding:0 3rem 1.85rem 0}
@media(max-width:650px){.faq-panel p{padding-right:0}}
@media(prefers-reduced-motion:reduce){.site-header nav{transition:none}.site-header nav.open{transition:none}.faq-panel{transition:none}.portrait img{}.pillars article.is-active{transform:none}.pillars article.is-active .principle-icon{transform:none}.pillars article.is-active .principle-number{transform:none}}

/* Touch feedback belongs to the component, not the browser's tap overlay. */
a{-webkit-tap-highlight-color:transparent}button{-webkit-tap-highlight-color:transparent}[tabindex]{-webkit-tap-highlight-color:transparent}
.touch-highlight{appearance:none;-webkit-appearance:none;touch-action:manipulation}.faq-trigger{appearance:none;-webkit-appearance:none;touch-action:manipulation}
.faq-panel{transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}
html.returning-to-content{scroll-behavior:auto}
@media(hover:none){
 .pillars article:hover{transform:none}.pillars article.is-active{transform:none}.pillars article:hover .principle-icon{transform:none}.pillars article.is-active .principle-icon{transform:none}.pillars article:hover .principle-number{transform:none}.pillars article.is-active .principle-number{transform:none}
 .practice-card:not(.is-active):hover:before{transform:scaleX(0)}
 .practice-card:not(.is-active):hover:after{border-color:transparent}
 .about-visual .portrait:not(.is-active):hover img{}
 .about-visual .portrait.is-active img{}
}
@media(max-width:1100px){.site-header nav{background:rgba(244,241,233,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 16px 40px rgba(0,0,0,.12)}.site-header nav.open{background:rgba(244,241,233,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 16px 40px rgba(0,0,0,.12)}}
@media(prefers-reduced-motion:reduce){.faq-panel{transition:none}}
.utility-page .reading-heading{max-width:950px}.utility-page .reading-body{padding-bottom:5rem}

/* One steady baseline; hover is reserved for actual pointing devices. */
.about-visual .portrait img{}.about-visual:hover .portrait img{}.about-visual .portrait:not(.is-active):hover img{}
.about-visual .portrait.is-active img{}
@media(hover:hover) and (pointer:fine){.about-visual .portrait:hover img{}}
/* Fade a fixed border, instead of repainting its color at each animation frame. */
.practice-card:after{border-color:rgba(30,67,57,.7);opacity:0;transition:opacity .8s ease}.practice-card:hover:after{border-color:rgba(30,67,57,.7);opacity:0;transition:opacity .8s ease}.practice-card.is-active:after{border-color:rgba(30,67,57,.7);opacity:0;transition:opacity .8s ease}
.practice-card:hover:after{opacity:1}.practice-card.is-active:after{opacity:1}
@media(hover:none){.practice-card:not(.is-active):hover:after{border-color:rgba(30,67,57,.7);opacity:0}}
.reading-sources a{position:relative;z-index:1;display:inline-block;padding:.3rem 0;touch-action:manipulation}
@media(prefers-reduced-motion:reduce){.about-visual .portrait img{}.about-visual:hover .portrait img{}.about-visual .portrait:not(.is-active):hover img{}.practice-card:after{transition:none}}

/* Portrait motion: the only two image-transform states. */
.portrait img{transform:scale(1.08);transform-origin:50% 24%;transition:transform 2.2s cubic-bezier(.45,0,.2,1);backface-visibility:hidden}
.portrait.is-zoomed img{transform:scale(1.18)}
@media(prefers-reduced-motion:reduce){.portrait img{transition:none}}
