/* About has its own compositions; shared home, articles and footer stay scoped. */
#page-shell[data-page-kind=about] .header-inner{height:106px}
.scrolled #page-shell[data-page-kind=about] .header-inner{height:90px}
body:not(.scrolled):not(.menu-open) #page-shell[data-page-kind=about] .site-header{background:transparent;border-color:transparent;box-shadow:none}
.about-intro,.about-journey,.about-approach,.about-practice{position:relative}
.about-intro{padding:150px 0 64px;overflow:hidden;background:radial-gradient(ellipse at 78% 25%,#ebe4da70,transparent 55%),var(--paper)}
.about-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);gap:clamp(44px,6vw,95px);align-items:center}
.about-intro-copy{padding:0 0 30px;position:relative;z-index:2}
.about-intro-copy>.eyebrow{letter-spacing:.25em;font-weight:600;font-size:.73rem}
.about-intro h1{font-size:clamp(6.1rem,9vw,8.4rem);line-height:.88;letter-spacing:-.05em;margin:28px 0}
.about-intro h1 em{font-weight:400;display:inline-block;padding-top:3px}
.about-register{display:flex;align-items:center;gap:10px;color:var(--wine);font-size:.69rem;font-weight:600;letter-spacing:.12em;line-height:1.6}
.about-register .about-icon{width:18px;height:18px}
.about-intro-lead{font-family:var(--serif);font-size:clamp(1.9rem,2.7vw,2.55rem);line-height:1.2;letter-spacing:-.025em;color:var(--ink);margin-top:30px}
.about-intro-lead strong{font-weight:500;color:var(--wine)}
.about-intro-description{font-size:.94rem;line-height:1.85;max-width:42ch;margin-top:19px}
.about-intro-actions{display:flex;align-items:center;gap:18px;margin-top:29px}
.about-intro-actions .button{justify-content:center;gap:22px;border-radius:14px;min-height:58px;font-size:.83rem}
.about-social-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--wine);flex-shrink:0;transition:background .25s,color .25s}
.about-social-icon .icon{width:20px;height:20px}
.about-social-icon:hover{background:var(--wine);color:var(--paper);border-color:var(--wine)}
.about-intro-visual{position:relative;min-width:0;width:100%;max-width:470px;justify-self:end;padding:0 10px 10px 0}
.about-portrait-frame{position:relative;margin:0;overflow:hidden;border-radius:24px;isolation:isolate;box-shadow:0 20px 60px #3e182716;background:var(--wine-dark)}
.about-portrait-frame picture{display:block}
.about-portrait-frame img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.about-portrait-frame::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,transparent 0%,#3e182754 38%,#3e1827ed 100%);pointer-events:none}
.about-portrait-frame figcaption{position:absolute;left:30px;right:25px;bottom:28px;z-index:1;color:white;font-family:var(--serif);font-size:2rem;line-height:1.13;letter-spacing:-.02em}
.about-portrait-frame figcaption>span{display:block;color:#e6c89f;font-family:var(--sans);font-size:.56rem;letter-spacing:.18em;line-height:1.8;margin-bottom:12px}
.about-portrait-frame figcaption em{color:#e6c89f}
.about-portrait-orbit{position:absolute;left:-8%;top:10%;width:116%;aspect-ratio:1;border:1px solid #b3966566;border-radius:50%;pointer-events:none}
.about-portrait-orbit>span{position:absolute;inset:-1px;border-radius:50%;animation:about-orbit 36s linear infinite}
.about-portrait-orbit>span::before{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px #ad8b5410}
.about-portrait-note{position:absolute;right:-29px;top:26%;writing-mode:vertical-rl;font-size:.55rem;letter-spacing:.2em;color:var(--wine)}
.about-journey{padding-block:100px 112px;background:var(--paper-deep);scroll-margin-top:105px}
.about-section-heading{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-bottom:58px}
.about-section-heading .eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:600}
.about-section-heading h2{font-size:clamp(2.9rem,4vw,4rem);margin-top:18px;line-height:1.08}
.about-section-heading>p{max-width:37ch;font-size:.96rem;line-height:1.9}
.about-journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,112px);align-items:start}
.about-journey-gallery{position:sticky;top:120px;min-width:0}
.about-gallery-word{display:block;margin-bottom:26px;font-family:var(--serif);font-size:clamp(2.75rem,4.5vw,4.5rem);font-style:italic;letter-spacing:-.04em;line-height:1.15;color:var(--wine)}
.about-journey-photos{position:relative;width:100%}
.about-journey-main{position:relative;width:74%;margin:0;padding:10px 10px 0;background:var(--paper);border-radius:180px 180px 14px 14px;box-shadow:0 12px 35px #3e18270a}
.about-journey-main>img{width:100%;height:auto;border-radius:170px 170px 7px 7px}
.about-journey-main figcaption{font-size:.61rem;line-height:1.65;padding:17px 8px;color:var(--muted);text-align:center}
.about-journey-detail{position:absolute;right:-4px;bottom:15%;width:46%;margin:0;padding:9px 9px 0;background:var(--paper);border-radius:14px;transform:rotate(4deg);box-shadow:0 18px 40px #30131f22}
.about-journey-detail>img{width:100%;height:auto;border-radius:8px}
.about-journey-detail figcaption{font-size:.6rem;line-height:1.6;padding:12px 4px;text-align:center;color:var(--muted)}
.about-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 30px;--journey-progress:0}
.about-timeline::before,.about-timeline::after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:#ccbeb1;pointer-events:none}
.about-timeline::after{background:var(--wine);transform:scaleY(var(--journey-progress));transform-origin:top;transition:transform .15s linear}
.about-milestone{position:relative;padding:0 0 30px 10px}
.about-milestone+.about-milestone{padding-top:25px;border-top:1px solid #d9cfc4}
.about-milestone:last-child{padding-bottom:0}
.about-milestone-dot{position:absolute;left:-34px;top:10px;width:9px;height:9px;background:var(--paper-deep);border:1px solid var(--gold);border-radius:50%;z-index:1;transition:background .35s,box-shadow .35s}
.about-milestone+.about-milestone .about-milestone-dot{top:35px}
.about-milestone.is-reached .about-milestone-dot{background:var(--wine);border-color:var(--wine)}
.about-milestone.is-current .about-milestone-dot{box-shadow:0 0 0 6px #63263b13}
.about-milestone-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;color:var(--wine);font-size:.68rem;font-weight:600;letter-spacing:.15em}
.about-milestone-meta>time{font-family:var(--serif);font-size:2.25rem;font-weight:500;line-height:1;letter-spacing:-.04em}
.about-milestone-meta .about-icon{color:var(--gold);width:26px;height:26px}
.about-milestone h3{font-family:var(--sans);font-size:1.08rem;font-weight:600;letter-spacing:-.025em;line-height:1.45;margin-bottom:10px}
.about-milestone p{font-size:.88rem;line-height:1.85;max-width:49ch}
.about-approach{background:linear-gradient(125deg,#6d2c43 0%,#4d2033 60%,#3e1827 100%);padding-block:90px;color:var(--paper);overflow:hidden}
.about-approach-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,8vw,120px);align-items:center}
.about-approach .eyebrow{color:#e4c59e;font-size:.67rem}
.about-approach h2{font-size:clamp(2.9rem,3.8vw,3.9rem);margin-top:20px}
.about-approach h2 em{color:#e4c59e}
.about-approach-intro>p{color:#ebdfe2;margin-top:25px;font-size:.94rem;line-height:1.9;max-width:37ch}
.about-approach-mark{display:flex;gap:22px;align-items:center;margin-top:38px;padding-top:30px;border-top:1px solid #e4c59e33}
.about-approach-mark img{width:51px;height:61px;object-fit:contain;opacity:.85}
.about-approach-mark>span{font-size:.55rem;letter-spacing:.2em;color:#e3d5d8}
.about-values{border-top:1px solid #e4c59e44}
.about-value{display:grid;grid-template-columns:26px minmax(0,1fr) 28px;gap:18px;align-items:start;padding:31px 0;border-bottom:1px solid #e4c59e44}
.about-value-index{font-size:.65rem;letter-spacing:.1em;color:#d7b68b;padding-top:8px}
.about-value h3{font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1.15;color:var(--paper);margin-bottom:13px}
.about-value p{color:#e4d4da;font-size:.87rem;line-height:1.9}
.about-value>.about-icon{color:#d7b68b;margin-top:6px}
.about-practice{padding-block:100px 75px;background:var(--paper)}
.about-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.about-practice-card{position:relative;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:19px;padding:35px 38px;transition:color .4s,border-color .4s}
.about-practice-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#783249,#4c1d31);transform:translateX(-101%);transition:transform .55s var(--ease)}
.about-practice-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--wine);margin-bottom:34px;transition:color .4s}
.about-practice-top>span:first-child{font-size:.58rem;font-weight:600;letter-spacing:.15em}
.about-practice-top .about-icon{width:29px;height:29px}
.about-practice-card h3{font-size:2.5rem;line-height:1.15;margin-bottom:18px;transition:color .4s}
.about-practice-card p{font-size:.92rem;line-height:1.85;margin-bottom:28px;max-width:44ch;transition:color .4s}
.about-practice-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;color:var(--wine);font-size:.8rem;font-weight:500;transition:color .4s}
.about-practice-card:hover::before,.about-practice-card:focus-visible::before{transform:translateX(0)}
.about-practice-card:hover,.about-practice-card:focus-visible{border-color:var(--wine);color:white}
.about-practice-card:hover :is(.about-practice-top,.about-practice-link),.about-practice-card:focus-visible :is(.about-practice-top,.about-practice-link){color:#efd8b6}
.about-practice-card:hover p,.about-practice-card:focus-visible p{color:#f3e9ec}
.about-practice-card:hover .round-arrow,.about-practice-card:focus-visible .round-arrow{border-color:#fff5;background:#fff1;color:white}
.about-extra-biography{max-width:800px;margin-bottom:35px}
.about-extra-biography p+p{margin-top:20px}
.about-instagram{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:35px 0}
.about-instagram>div{display:flex;align-items:center;gap:20px}
.about-instagram-symbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--wine);flex-shrink:0}
.about-instagram-symbol .icon{width:21px;height:21px}
.about-instagram p{font-size:.92rem;font-weight:500;color:var(--ink);line-height:1.65}
.about-instagram p>span{display:block;font-size:.78rem;font-weight:400;color:var(--muted);margin-top:3px}
.about-instagram .text-link{font-size:.8rem;white-space:nowrap;gap:14px}
.about-icon{display:inline-block;width:24px;height:24px;flex-shrink:0;background:currentColor;mask:var(--about-icon) center/contain no-repeat;-webkit-mask:var(--about-icon) center/contain no-repeat}
.about-icon-check{--about-icon:url("../vendor/bootstrap-icons/icons/patch-check.8ab3f106cb5f.svg")}
.about-icon-education{--about-icon:url("../vendor/bootstrap-icons/icons/mortarboard.b0362f83e645.svg")}
.about-icon-location{--about-icon:url("../vendor/bootstrap-icons/icons/geo-alt.00b6dff6edb0.svg")}
.about-icon-book{--about-icon:url("../vendor/bootstrap-icons/icons/book.e8980ed2bd53.svg")}
.about-icon-listen{--about-icon:url("../vendor/bootstrap-icons/icons/ear.a10e3d4abba9.svg")}
.about-icon-chat{--about-icon:url("../vendor/bootstrap-icons/icons/chat-heart.479571f96b45.svg")}
.about-icon-document{--about-icon:url("../vendor/bootstrap-icons/icons/file-earmark-text.2a1c357d4881.svg")}
.about-icon-work{--about-icon:url("../vendor/bootstrap-icons/icons/briefcase.821ef36cba32.svg")}
.about-icon-shield{--about-icon:url("../vendor/bootstrap-icons/icons/shield-check.6d07fabe9c0f.svg")}
@keyframes about-orbit{to{transform:rotate(360deg)}}
@media(min-width:1600px){
 .about-intro{padding-top:165px}.about-intro-grid{gap:125px}
 .about-intro-visual{max-width:510px}.about-intro h1{font-size:9.4rem}
 .about-journey-main{width:76%}
}
@media(min-width:700px) and (max-width:1099px){
 #page-shell[data-page-kind=about] .header-inner{height:90px}
 .scrolled #page-shell[data-page-kind=about] .header-inner{height:80px}
 .about-intro{padding-top:130px;padding-bottom:56px}.about-intro-grid{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
 .about-intro h1{font-size:clamp(4.8rem,10vw,6.6rem)}.about-intro-lead{font-size:1.95rem}
 .about-intro-description{font-size:.86rem}.about-register{font-size:.59rem;letter-spacing:.04em;gap:7px}
 .about-intro-actions{gap:10px;flex-wrap:wrap}.about-intro-actions .button{font-size:.74rem;gap:14px;padding:15px 17px}
 .about-intro-visual{padding-right:0}.about-portrait-frame{border-radius:18px}
 .about-portrait-frame figcaption{font-size:1.65rem;left:22px;bottom:23px;right:18px}
 .about-portrait-frame figcaption>span{font-size:.47rem;letter-spacing:.13em}
 .about-portrait-note{display:none}
 .about-section-heading{gap:35px;margin-bottom:44px}.about-section-heading h2{font-size:2.9rem}
 .about-section-heading>p{max-width:29ch;font-size:.88rem}
 .about-journey{padding-block:75px 85px}.about-journey-grid{gap:37px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .about-journey-gallery{top:110px;margin-top:40px}.about-journey-main{width:85%;padding:7px 7px 0}
 .about-journey-detail{width:58%;right:-3%;bottom:-80px}.about-gallery-word{font-size:3rem}
 .about-milestone p{font-size:.84rem}.about-milestone h3{font-size:1rem}
 .about-approach{padding-block:70px}.about-approach-grid{gap:40px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .about-approach h2{font-size:2.85rem}.about-approach-intro>p{font-size:.86rem}
 .about-approach-mark>span{font-size:.45rem;letter-spacing:.12em}.about-approach-mark{gap:15px}
 .about-value{grid-template-columns:20px minmax(0,1fr);gap:12px}.about-value>.about-icon{display:none}
 .about-value h3{font-size:1.8rem}.about-value p{font-size:.82rem}
 .about-practice{padding-block:75px 55px}.about-practice-card{padding:27px}.about-practice-card h3{font-size:2rem}
 .about-practice-card p{font-size:.85rem}.about-practice-top>span:first-child{font-size:.5rem}
 .about-instagram p{font-size:.8rem}.about-instagram p>span{font-size:.7rem}.about-instagram .text-link{font-size:.7rem}
}
@media(max-width:699px){
 #page-shell[data-page-kind=about] .header-inner{height:78px}
 .scrolled #page-shell[data-page-kind=about] .header-inner{height:70px}
 .about-intro{padding-top:115px;padding-bottom:48px}.about-intro-grid{display:flex;flex-direction:column;gap:34px}
 .about-intro-copy{text-align:center;padding:0;width:100%}
 .about-intro-copy>.eyebrow{justify-content:center;font-size:.61rem;letter-spacing:.22em}
 .about-intro h1{font-size:clamp(4.8rem,20vw,6.5rem);margin:24px 0 23px;line-height:.89}
 .about-register{justify-content:center;font-size:.59rem;letter-spacing:.07em;gap:8px}
 .about-intro-lead{font-size:1.95rem;line-height:1.2;margin-top:23px}
 .about-intro-description{max-width:32ch;font-size:.88rem;margin:17px auto 0;line-height:1.8}
 .about-intro-actions{justify-content:center;gap:12px;margin-top:26px}
 .about-intro-actions .button{margin:0;min-height:53px;padding:15px 18px;gap:16px;font-size:.73rem}
 .about-social-icon{width:45px;height:45px}
 .about-intro-visual{width:min(88%,370px);padding:0;margin:0 auto}
 .about-portrait-frame{border-radius:18px}
 .about-portrait-frame figcaption{font-size:1.75rem;left:25px;right:20px;bottom:24px}
 .about-portrait-frame figcaption>span{font-size:.48rem;letter-spacing:.14em;margin-bottom:10px}
 .about-portrait-note{right:-24px;font-size:.48rem;letter-spacing:.15em}
 .about-portrait-orbit{width:116%;left:-8%;top:12%}
 .about-journey{padding-block:58px 62px;scroll-margin-top:85px}
 .about-section-heading{display:block;text-align:center;margin-bottom:38px}
 .about-section-heading .eyebrow{justify-content:center;font-size:.6rem;letter-spacing:.14em}
 .about-section-heading h2{font-size:2.8rem;line-height:1.1;margin-top:16px}
 .about-section-heading>p{font-size:.87rem;line-height:1.85;margin:22px auto 0;max-width:34ch}
 .about-journey-grid{display:flex;flex-direction:column;gap:37px}
 .about-journey-gallery{position:relative;top:auto;width:100%;max-width:430px;margin:0 auto}
 .about-gallery-word{font-size:2.65rem;margin-bottom:22px;text-align:center}
 .about-journey-main{width:59%;padding:6px 6px 0;border-radius:130px 130px 10px 10px}
 .about-journey-main>img{border-radius:125px 125px 5px 5px}
 .about-journey-main figcaption{font-size:.53rem;line-height:1.7;padding:12px 4px}
 .about-journey-detail{width:45%;right:0;bottom:14%;padding:6px 6px 0;border-radius:9px;transform:rotate(3deg)}
 .about-journey-detail>img{border-radius:5px}.about-journey-detail figcaption{font-size:.52rem;padding:10px 3px;line-height:1.55}
 .about-timeline{width:100%;padding-left:23px}
 .about-milestone{padding-left:9px;padding-bottom:25px}
 .about-milestone+.about-milestone{padding-top:24px}
 .about-milestone-dot{left:-27px}.about-milestone+.about-milestone .about-milestone-dot{top:34px}
 .about-milestone-meta{margin-bottom:12px;font-size:.61rem;letter-spacing:.14em}
 .about-milestone-meta>time{font-size:2rem}.about-milestone-meta .about-icon{width:23px;height:23px}
 .about-milestone h3{font-size:1.02rem;line-height:1.45}.about-milestone p{font-size:.87rem;line-height:1.85}
 .about-approach{padding-block:59px}
 .about-approach-grid{display:block}
 .about-approach-intro{text-align:center}
 .about-approach .eyebrow{justify-content:center;font-size:.6rem}
 .about-approach h2{font-size:2.8rem;line-height:1.1;margin-top:18px}
 .about-approach-intro>p{font-size:.87rem;max-width:34ch;margin:23px auto 0}
 .about-approach-mark{display:none}.about-values{margin-top:35px}
 .about-value{grid-template-columns:20px minmax(0,1fr) 21px;gap:12px;padding:26px 0}
 .about-value-index{font-size:.6rem;padding-top:5px}
 .about-value h3{font-size:1.8rem;line-height:1.15}
 .about-value p{font-size:.83rem;line-height:1.9}
 .about-value>.about-icon{width:21px;height:21px;margin-top:3px}
 .about-practice{padding-block:60px 40px}
 .about-practice-grid{grid-template-columns:1fr;gap:0;width:calc(100% + var(--gutter)*2);margin-left:calc(-1 * var(--gutter));border-top:1px solid var(--line)}
 .about-practice-card{padding:28px var(--gutter);border-radius:0;border:0;border-bottom:1px solid var(--line)}
 .about-practice-top{margin-bottom:22px}
 .about-practice-top>span:first-child{font-size:.56rem}
 .about-practice-card h3{font-size:2.2rem;margin-bottom:15px}
 .about-practice-card p{font-size:.88rem;margin-bottom:22px}
 .about-practice-link{font-size:.76rem}
 .about-practice-card.is-current{color:white;border-color:var(--wine)}
 .about-practice-card.is-current::before{transform:translateX(0)}
 .about-practice-card.is-current :is(.about-practice-top,.about-practice-link){color:#efd8b6}
 .about-practice-card.is-current p{color:#f3e9ec}
 .about-practice-card.is-current .round-arrow{border-color:#fff5;background:#fff1;color:white}
 .about-instagram{flex-direction:column;align-items:center;gap:20px;padding:32px 0 0;border:0;text-align:center}
 .about-instagram>div{flex-direction:column;align-items:center;gap:14px;width:100%}.about-instagram-symbol{width:40px;height:40px}
 .about-instagram p{font-size:.81rem;max-width:32ch;margin:0;text-align:center}.about-instagram p>span{font-size:.72rem}
 .about-instagram .text-link{font-size:.76rem;align-self:center;justify-content:center}
}
@media(max-width:359px){
 .about-intro-actions{gap:9px}.about-intro-actions .button{font-size:.67rem;padding-inline:13px;gap:11px}
 .about-social-icon{width:39px;height:39px}.about-register{font-size:.54rem;gap:6px}
 .about-value{grid-template-columns:17px minmax(0,1fr)}.about-value>.about-icon{display:none}
}
@media(prefers-reduced-motion:reduce){
 .about-portrait-orbit>span{animation:none}
 .about-timeline::after,.about-milestone-dot,.about-practice-card,.about-practice-card::before,.about-practice-card *{transition:none}
}
