/* Scoped About page layout and restrained motion. */
.page-about .about-hero{padding:155px 0 0;background:radial-gradient(ellipse at 80% 25%,#e4d9f2,transparent 55%),#f8f6fb;overflow:visible}
.page-about main .about-hero h1{font-size:clamp(3rem,4.7vw,4.5rem);line-height:1.08;margin:25px 0;letter-spacing:-.055em}
.about-hero h1 span{color:var(--purple)}
.page-about main .about-hero p:not(.eyebrow){font-size:15px;max-width:560px}
.about-hero-visual{position:relative;margin:12px 0 45px 10px;padding:0 0 20px 20px}
.about-hero-visual::before{content:"";position:absolute;inset:24px 20px 0 0;background:#ded2eb;border-radius:10px 70px 10px 10px}
.about-hero-visual>img{display:block;position:relative;width:100%;height:350px;object-fit:cover;border-radius:10px 70px 10px 10px;transition:transform .6s ease;box-shadow:0 20px 45px #3d254217}
.about-visual-caption{position:absolute;bottom:-10px;left:-15px;right:28px;display:flex;align-items:center;gap:15px;padding:21px;background:#ffffffed;border:1px solid #e6deed;border-radius:8px;box-shadow:0 10px 30px #3a254b0c}
.about-visual-caption .eyebrow{display:block;margin-bottom:5px;font-size:9px}
.about-visual-caption strong{font-size:13px;font-weight:600;color:var(--ink)}
.caption-mark{color:#9876b5;display:grid;place-items:center;width:40px;height:40px;background:#f5effa;border-radius:9px;flex-shrink:0}
.about-story-link{display:inline-flex;gap:15px;align-items:center;color:var(--purple);font-size:11px;text-decoration:none;margin-left:18px}
.about-story-link:hover{color:var(--accent)}
.about-business-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ded4e8;margin-top:45px}
.about-business-links a{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-right:1px solid #e5ddee;text-decoration:none;color:#6c597f;font-size:12px;transition:background .25s,color .25s}
.about-business-links a:first-child{padding-left:0}
.about-business-links a:last-child{border-right:0}
.about-business-links a span{font-size:17px;color:#af98c1;transition:transform .25s}
.about-business-links a:hover{color:var(--purple);background:#ffffff80}
.about-business-links a:hover span{transform:translate(3px,-3px);color:var(--accent)}
.page-about #who-we-are{padding:100px 0}
.about-story-image{margin:0;position:relative;padding-bottom:20px}
.about-story-image::after{content:"";position:absolute;left:22px;right:-16px;top:24px;bottom:0;border:1px solid #dacee7;border-radius:50px 8px 8px 8px;z-index:-1}
.page-about #who-we-are .about-story-image img{height:450px;width:100%;object-fit:cover;border-radius:50px 8px 8px 8px;transition:filter .45s,transform .45s}
.about-story-image figcaption{position:absolute;bottom:40px;left:20px;right:20px;color:white;background:#251737c9;backdrop-filter:blur(8px);padding:15px 20px;border-radius:5px;font-size:11px}
.page-about main .about-story h2{font-size:clamp(2.1rem,3vw,2.9rem);margin-bottom:27px}
.page-about main .about-story-copy p{font-size:14px;line-height:1.9}
.about-story-copy p:first-child{color:#50425e;border-left:2px solid #b99bd0;padding-left:20px;margin-bottom:24px}
.page-about #our-purpose{background:#f6f3fa;padding:75px 0 85px;text-align:left;color:var(--body)}
.about-purpose-panel{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:45px 48px;background:linear-gradient(120deg,#35244e,#251b39);color:#d1c5dd;border-radius:12px;position:relative;overflow:hidden}
.about-purpose-panel::after{content:"";position:absolute;border:1px solid #a58cba22;border-radius:50%;width:290px;height:290px;right:-170px;top:-80px;pointer-events:none}
.page-about #our-purpose .about-purpose-panel h2{color:white;font-size:clamp(2rem,3vw,2.8rem);margin:0 0 25px}
.page-about #our-purpose .about-purpose-panel .eyebrow{color:#c1a7d6}
.page-about #our-purpose .about-purpose-copy p{color:#d1c5dd;font-size:14px;line-height:1.9;max-width:none;margin:0 0 16px}
.page-about #our-purpose .about-purpose-copy p:last-child{margin-bottom:0}
.purpose-emblem{display:inline-flex;color:#a990c0}.purpose-emblem svg{width:38px;height:38px}
.about-direction{margin-top:2px}
.page-about #our-purpose .direction-card{height:100%;padding:34px 36px;border:1px solid #e3d9ec;border-radius:10px;background:white;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s}
.page-about #our-purpose .direction-card h2{color:var(--ink);font-size:28px;margin:10px 0 20px}
.page-about #our-purpose .direction-card p:not(.eyebrow){color:var(--body);font-size:15px;max-width:none;margin:0;line-height:1.9}
.page-about #our-purpose .direction-card .eyebrow{color:#9a80b0;margin:0}
.direction-icon{display:grid;place-items:center;width:47px;height:47px;border:1px solid #e9e0f1;background:#f9f6fc;border-radius:12px;color:#9472b0;margin-bottom:23px}
.page-about #our-purpose .vision-card{background:#fbf9fd}
.page-about #our-purpose .direction-card:hover{transform:translateY(-5px);border-color:#bda4d2;box-shadow:0 14px 35px #4023500c}
.page-about .value-card,.page-about .service-card{transition:transform .3s,box-shadow .3s,border-color .3s}
.page-about .value-card:hover,.page-about .service-card:hover{transform:translateY(-4px);border-color:#c3add5;box-shadow:0 12px 30px #40235009}
.page-about [data-reveal]{transition:opacity .65s ease,translate .65s ease}
.page-about [data-reveal].reveal-pending{opacity:0;translate:0 22px}
.page-about [data-reveal].is-visible{opacity:1;translate:0 0}
@media(max-width:991px){
 .page-about .about-hero{padding-top:135px}
 .about-hero-visual{max-width:650px;margin:0 auto 35px}
 .about-hero-visual>img{height:330px}
 .about-business-links{margin-top:25px}
 .about-business-links a{padding:18px}
 .page-about #who-we-are{padding:65px 0}
 .page-about #who-we-are .about-story-image img{height:340px}
 .about-story-image{max-width:650px}
 .about-purpose-panel{padding:35px;gap:35px}
 .page-about #our-purpose{padding:55px 0 60px}
}
@media(max-width:575px){
 .page-about .about-hero{padding-top:120px}
 .page-about main .about-hero h1{font-size:3rem}
 .about-hero-visual{margin-left:0;padding-left:12px}
 .about-hero-visual>img{height:280px}
 .about-visual-caption{left:0;right:15px;padding:16px;gap:12px}
 .about-visual-caption strong{font-size:11px}
 .about-story-link{margin-left:4px}
 .about-business-links{grid-template-columns:1fr 1fr}
 .about-business-links a{padding:16px!important;border-bottom:1px solid #e5ddee}
 .about-business-links a:nth-child(2){border-right:0}
 .about-business-links a:nth-child(n+3){border-bottom:0}
 .page-about #who-we-are{padding:50px 0}
 .about-story-image::after{right:-8px}
 .page-about #who-we-are .about-story-image img{height:300px}
 .about-purpose-panel{grid-template-columns:1fr;padding:30px 25px;gap:20px}
 .purpose-emblem{display:none}
 .page-about #our-purpose .direction-card{padding:28px 25px}
 .page-about #our-purpose .about-purpose-panel h2{font-size:2.1rem}
}
/* Approach: four quiet, connected cards instead of a full-width text block. */
.page-about #our-approach{background:#fbf9fd;padding:80px 0;border-top:1px solid #eee7f4}
.approach-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;margin-bottom:40px}
.page-about main .approach-heading h2{margin:0;font-size:clamp(2.2rem,3.3vw,3.15rem)}
.page-about main .approach-intro p{font-size:14px;line-height:1.9;margin:0;max-width:560px}
.approach-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.approach-stage{position:relative;min-width:0;padding:27px 25px;background:white;border:1px solid #e6ddec;border-radius:12px;box-shadow:0 5px 18px #43295003;transition:border-color .3s,box-shadow .3s,transform .3s}
.approach-stage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.approach-icon{display:grid;place-items:center;width:50px;height:50px;color:#9370af;background:#f6f1fb;border:1px solid #e9def2;border-radius:14px;transition:background .3s,color .3s}
.approach-icon svg{width:26px;height:26px}
.approach-arrow{font-size:20px;font-weight:400;color:#cbb7db;transition:transform .3s,color .3s}
.approach-stage:last-child .approach-arrow{opacity:0}
.page-about main .approach-stage h3{font-size:21px;margin:0 0 13px;line-height:1.3}
.page-about main .approach-stage p{font-size:13px;line-height:1.8;margin:0}
.approach-stage:hover{transform:translateY(-5px);border-color:#c3a9d6;box-shadow:0 12px 26px #4329500c}
.approach-stage:hover .approach-icon{background:#eee3f8;color:#704690}
.approach-stage:hover .approach-arrow{transform:translate(2px,-2px);color:#9a74b5}
.approach-outcome{display:flex;align-items:center;gap:15px;margin-top:25px;padding:21px 25px;border:1px solid #e8dfef;border-radius:10px;background:#f3edf8}
.approach-outcome-icon{display:flex;flex-shrink:0;color:#9877b0}
.approach-outcome-icon svg{width:23px;height:23px}
.page-about main .approach-outcome p{font-size:13px;line-height:1.8;margin:0;color:#7f6b90}
@media(max-width:991px){
 .page-about #our-approach{padding:60px 0}
 .approach-heading{gap:30px}
 .approach-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
 .page-about #our-approach{padding:50px 0}
 .approach-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
 .approach-flow{grid-template-columns:1fr;gap:14px}
 .approach-stage{padding:24px;display:grid;grid-template-columns:50px 1fr;column-gap:20px}
 .approach-stage-top{grid-row:1/3;margin:0;align-self:start}
 .approach-arrow{display:none}
 .page-about main .approach-stage h3{margin:0 0 10px}
 .approach-outcome{align-items:start;padding:20px;gap:12px}
 .approach-outcome-icon{padding-top:3px}
}
@media(prefers-reduced-motion:reduce){
 .page-about [data-reveal],.page-about [data-reveal].reveal-pending{opacity:1;translate:none}
 .page-about .direction-card:hover,.page-about .value-card:hover,.page-about .service-card:hover,.page-about .approach-stage:hover,.page-about .approach-arrow{transform:none!important}
 .page-about *, .page-about *::before,.page-about *::after{transition:none!important;animation:none!important}
}
