/* Editorial refinement: consistent spacing, quiet surfaces and clear reading order. */
:root{--border-soft:#e1e4db;--shadow-soft:0 10px 32px #29382d08;--ease-out:cubic-bezier(.2,.7,.2,1)}
.section .eyebrow:before{content:"";width:25px;height:1px;background:#a88c72;flex-shrink:0}
.section-head{margin-bottom:42px}
.section-head>p{max-width:31em;border-left:1px solid #cbd2c3;padding-left:24px}
.hero{padding-top:62px;padding-bottom:94px;gap:7%;grid-template-columns:1fr 1fr}
.hero .eyebrow{padding:0;border:0;background:none;border-radius:0;letter-spacing:.13em;font-size:11px}
.hero .status-dot{width:25px;height:1px;border-radius:0;background:#a88c72}
.hero-visual{isolation:isolate;padding:0;background:none;border:0;border-radius:0;box-shadow:none;height:480px}
.hero-visual:before{content:"";position:absolute;inset:27px -18px -24px 25px;background:#e9eddf;border:1px solid #e0e5d5;border-radius:15px 76px 15px 15px;z-index:-1}
.hero-visual>img{border-radius:15px 76px 15px 15px;box-shadow:0 16px 40px #26352c0d;object-position:center 46%;filter:saturate(.94)}
.scene-caption{top:17px;right:36px;background:#303b32b3;font-size:8px;letter-spacing:.03em}
.hero-caption{bottom:-38px;left:-24px;right:36px;padding:21px 24px;border:1px solid #e5e4d9;border-radius:9px;background:#fffdf9;box-shadow:0 12px 30px #2f392d0b;gap:18px}
.hero-caption strong{font-size:15px;letter-spacing:.03em}
.hero-caption small{letter-spacing:1.4px;color:#7f887b}
.caption-icon{width:37px;height:37px;background:#f1f2e9;border:1px solid #e1e5d6;color:#7c8869}
.visual-index{position:absolute;left:1px;top:-27px;font:9px/1 Arial,sans-serif;letter-spacing:2.2px;color:#8b927f}
.hero-desc{max-width:34em}
.hero-topics{padding-top:20px;border-top:1px solid var(--line);margin-top:27px}
.assurance{max-width:1296px;margin:0 max(5%,calc((100vw - 1296px)/2));padding:25px 29px;border:1px solid #e1e5d9;border-radius:10px;background:#f1f3eb}
.assurance>span{position:relative}
.assurance i{background:#fbfcf7;border:1px solid #e1e5d6;border-radius:50%;color:#7d826c}
.button,.nav-cta{transition:background .25s,box-shadow .25s,transform .25s var(--ease-out)}
.button>span,.nav-cta>span,.text-link>span,.education-cta>span{display:inline-block;transition:transform .25s var(--ease-out)}
.button:hover>span,.nav-cta:hover>span{transform:translate(2px,-2px)}
.text-link:hover>span,.education-cta:hover>span{transform:translateX(4px)}
.button:active,.nav-cta:active{transform:translateY(1px)}
.service-card{border-color:var(--border-soft);border-radius:12px;box-shadow:0 6px 25px #29382d04;background:#fffefa}
.service-photo{margin:0;height:225px;border-radius:0}
.service-photo img{filter:saturate(.9)}
.service-card:first-child .service-photo img{object-position:50% 61%}
.service-card:nth-child(2) .service-photo img{object-position:50% 32%}
.service-card:nth-child(3) .service-photo img{object-position:50% 45%}
.service-photo>span{top:17px;bottom:auto;left:17px;border:1px solid #ffffff85;background:#fffdf5eb;font-size:10px;letter-spacing:.04em;padding:4px 11px}
.service-body{padding:28px 28px 0}
.service-body h3{font-family:var(--font-display);font-weight:600;font-size:23px;letter-spacing:.015em;margin-bottom:12px}
.service-body>p{font-size:14px;line-height:2;min-height:84px}
.service-caption{display:flex;align-items:center;gap:9px}
.service-caption:before{content:"";width:14px;height:1px;background:#baa58c;flex-shrink:0}
.service-link{min-height:74px}
.service-link span{background:transparent;border-color:#dce3d3;color:#5a6d4d}
.service-card:focus-within .service-link span{background:var(--accent);color:white}
.service-foot{padding-left:13px;border-left:2px solid #c3b29a;max-width:75em}
.education{width:94%;max-width:1392px;margin:0 auto;background:#edf0e6;border:1px solid #e0e5d6;border-radius:22px;padding:66px clamp(28px,4vw,60px);gap:6%}
.education-photo{border:0;border-radius:12px;box-shadow:0 15px 32px #3043290d;min-height:565px}
.education-photo>img{object-position:50% 38%;filter:saturate(.9)}
.photo-foot>span{font-size:9px;letter-spacing:1.8px}
.path-selector{background:transparent;border:0;border-bottom:1px solid #d5ddcc;border-radius:0;padding:0;gap:8px}
.path-selector button{position:relative;padding:13px 7px;border-radius:0;font-size:12px;white-space:normal}
.path-selector button[aria-pressed=true]{background:transparent;box-shadow:none;color:#344331}
.path-selector button:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:#7b654f;transform:scaleX(0);transition:transform .25s var(--ease-out)}
.path-selector button[aria-pressed=true]:after{transform:scaleX(1)}
#path-content{background:#fffffff0;box-shadow:var(--shadow-soft);padding:26px;border-radius:10px}
#path-content h3{font-weight:500;text-wrap:balance}
.path-tag{letter-spacing:.05em;color:#7d6953}
.education-cta{background:#fcfcf8;min-height:54px;border-radius:8px}
.approach{background:var(--paper)}
.approach-title{position:relative;align-self:start;padding-bottom:28px}
.approach-title:after{content:"";display:block;margin-top:30px;width:72px;height:3px;background:linear-gradient(90deg,#94745e 33%,#d9d8c9 33%)}
.values article{padding:28px 0}
.values article:last-child{border-bottom:0;padding-bottom:0}
.values article>span{background:transparent;border:1px solid #dcd9ca;color:#8c7057}
.values h3{letter-spacing:.02em}
.process{background:#f0f2eb;border-top:1px solid #e3e7da;border-bottom:1px solid #e3e7da}
.steps{gap:0;border-top:1px solid #ced7c5;padding-top:32px}
.steps article{background:none;border:0;border-radius:0;box-shadow:none;padding:0 28px 0 0}
.steps article+article{padding-left:28px;border-left:1px solid #e0e3d8}
.steps article:last-child{padding-right:0}
.steps article>span{display:block;width:auto;height:auto;font:400 42px/1 Georgia,serif;letter-spacing:-.04em;color:#9d8b72;border:0;background:none;border-radius:0;margin-bottom:24px}
.steps article:not(:last-child):after{display:none}
.steps h3{margin-bottom:12px;font-size:19px}
.steps p{margin-bottom:26px}
.step-output{background:#fafbf5;border:1px solid #e1e7d8;border-radius:6px;padding:12px;font-size:12px;color:#4b5944}
.step-output>span{font-size:10px;color:#7b846d;margin-bottom:5px}
.faq-list{gap:0;border-top:1px solid #dce2d4}
.faq-list details{border:0;border-bottom:1px solid #dce2d4;border-radius:0;background:transparent;padding:0 18px}
.faq-list details[open]{background:#f5f6f0;border-color:#dce2d4}
.faq summary{padding:23px 0;line-height:1.8;font-weight:500}
.faq-number{color:#9b886e;font:13px Georgia,serif;min-width:18px}
.faq summary>span:last-child{width:28px;height:28px;background:transparent;border:1px solid #dce3d3;color:#71815e;font-size:18px}
.faq details[open] summary>span:last-child{background:#e8eddf;border-color:#e8eddf}
.faq details p{font-size:14px;padding-right:27px;line-height:2;margin-bottom:25px}
.consult{position:relative;border-top:2px solid #b4a384;background:#303d33}
.consult-panel{border:1px solid #e4e4d5;box-shadow:0 22px 60px #15251a33;padding:34px}
.form-heading{font-family:var(--font-display);font-size:20px;font-weight:500;align-items:baseline}
.form-heading small{font-family:var(--font-sans);letter-spacing:0}
.consult-checklist{gap:24px}
.consult-checklist li{position:relative}
.consult-checklist li:not(:last-child):before{content:"";position:absolute;left:17px;top:43px;bottom:-16px;width:1px;background:#6e7c6366}
.consult-panel textarea{background:#fff;border-color:#d8dece;transition:border-color .2s,box-shadow .2s}
.service-guide{border:0;border-left:2px solid #b5bd9e;border-radius:0;background:#eff2e7}
.choices button{border-radius:6px}
.choices button.selected{border-color:#7e906c;box-shadow:none;background:#e9edde}
footer{padding-top:56px}
.footer-column h3{font-weight:500;letter-spacing:.04em;margin-bottom:10px}
.footer-bottom{margin-top:40px}
dialog{border-color:#e1e2d5;box-shadow:0 32px 100px #10221c40}
.dialog-block{background:#f5f6f0;border-color:#e3e6d9}
.dialog-block h3{font-weight:500}
.back-top{color:#647454;background:#fffefaeb;backdrop-filter:blur(8px)}
@media(hover:hover){.faq summary:hover{color:var(--accent)}.service-card:hover{transform:translateY(-4px)}.footer-column a:hover,.footer-column button:hover{transform:translateX(3px)}.footer-column a,.footer-column button{transition:color .2s,transform .2s}}
@media(max-width:1100px){.hero{padding-top:56px;padding-bottom:82px;gap:6%}.hero-visual{height:435px}.hero-caption{left:-16px;right:22px;padding:18px 20px;gap:14px}.hero-caption strong{font-size:14px}.hero-caption small{font-size:7px;letter-spacing:1px}.assurance{padding:23px}.service-photo{height:190px}.service-body{padding:25px 22px 0}.service-body h3{font-size:21px}.education{padding:51px 4%;gap:5%}.steps article{padding-right:20px}.steps article+article{padding-left:20px}.steps h3{font-size:18px}.steps p br{display:none}.consult-panel{padding:28px}.form-heading{flex-wrap:wrap;gap:5px 12px}}
@media(max-width:850px){.steps article{padding-right:16px}.steps article+article{padding-left:16px}.steps h3{font-size:17px}.path-selector button{font-size:11px}.section-head{gap:26px}.consult-panel{padding:24px}}
@media(max-width:720px){.section-head{margin-bottom:29px}.section .eyebrow:before{width:19px}.hero-topics{padding-top:18px;margin-top:24px}.service-foot{line-height:1.95}.path-selector{gap:0}.path-selector button{min-height:52px;padding:12px 5px}.path-selector button:after{left:5px;right:5px}#path-content{padding:23px 20px}.approach-title{padding-bottom:0}.approach-title:after{margin-top:23px;width:58px;height:2px}.values article{padding:23px 0}.steps{grid-template-columns:1fr;padding-top:0;border-top:0}.steps article,.steps article+article{display:grid;grid-template-columns:48px 1fr;column-gap:18px;padding:25px 0;border:0;border-top:1px solid #dbdfd2}.steps article:last-child{padding-bottom:0}.steps article>span{grid-column:1;grid-row:1/4;font-size:33px;margin:2px 0 0}.steps h3{grid-column:2;font-size:19px;margin-bottom:8px}.steps p{grid-column:2;margin-bottom:16px;font-size:14px}.steps p br{display:none}.step-output{grid-column:2;padding:11px 14px;font-size:12px}.step-output>span{display:inline;margin-right:10px;font-size:10px}.faq-list details{padding:0 14px}.faq summary{gap:10px;font-size:14px;padding:20px 0}.faq details p{padding:0;font-size:14px}.faq summary>span:last-child{width:25px;height:25px}.consult-panel{padding:24px 22px}.form-heading{font-size:20px}.consult-checklist li:not(:last-child):before{left:14px;top:38px;bottom:-17px}.footer-bottom{margin-top:28px}footer{padding-top:42px}}
@media(min-width:721px) and (max-width:850px){.hero-caption{padding:16px 14px;left:-13px;right:15px;gap:10px}.hero-caption strong{font-size:12px}.hero-caption small{letter-spacing:.5px}.assurance{padding:21px}.service-photo{height:170px}.service-body{padding:22px 18px 0}.service-body h3{font-size:19px}.service-body>p{min-height:112px}.education-copy h2{font-size:24px}.photo-foot{left:24px}}
@media(max-width:720px){.hero{padding:36px 6% 55px;gap:44px}.hero-visual{height:auto;min-height:350px;aspect-ratio:1.05;margin-right:9px;margin-bottom:26px}.hero-visual:before{inset:17px -10px -16px 17px;border-radius:12px 52px 12px 12px}.hero-visual>img{border-radius:12px 52px 12px 12px;object-position:center 50%}.visual-index{top:-20px;font-size:7px;letter-spacing:1.6px}.hero-caption{bottom:-18px;left:14px;right:14px;padding:15px 14px;gap:12px;border-radius:7px}.hero-caption strong{font-size:12px}.hero-caption small{font-size:7px;letter-spacing:.65px}.caption-icon{width:32px;height:32px;font-size:19px}.scene-caption{right:24px;top:15px;font-size:7px}.hero .eyebrow{font-size:10px;letter-spacing:.08em}.hero .status-dot{width:19px}.assurance{margin:0 6%;padding:23px 19px;gap:17px 12px}.assurance p{margin-bottom:4px}.assurance>span{font-size:10px;gap:7px}.assurance i{width:27px;height:27px}.assurance svg{width:16px;height:16px}.section-head>p{border:0;padding:0}.service-grid{gap:27px}.service-photo{height:auto;aspect-ratio:3/2}.service-photo img{display:block}.service-body{padding:26px 24px 0}.service-body h3{font-size:23px}.service-body>p{min-height:0;font-size:14px}.service-photo>span{top:15px;left:16px}.education{width:calc(100% - 28px);padding:35px 22px;border-radius:15px;gap:28px}.education-copy h2{font-size:clamp(23px,6.9vw,27px)}.education-intro{font-size:14px}.education-photo{min-height:315px;border-radius:10px}.photo-foot p{font-size:24px}.photo-foot>span{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-arrive .65s ease-out both}.hero-visual{animation:hero-arrive .8s ease-out both}@keyframes hero-arrive{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
