/* Authored material layer. The established copy, scene and behavior stay intact. */
:root{--edge-light:#bbd6f03d;--edge-dark:#526d822e;--material-radius:12px}
main>section:not(.hero){position:relative;isolation:isolate}
main>section:not(.hero)>.section-wrap{position:relative;z-index:1}
main>section:not(.hero)::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("assets/material-grain.svg") repeat;opacity:.23;mix-blend-mode:soft-light}
main>section.section-light::before,main>section.section-blue::before{opacity:.16;mix-blend-mode:multiply}
main>section:not(.hero)::after{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:linear-gradient(90deg,transparent,#b1cde949,transparent);pointer-events:none}
.section-light::after,.section-blue::after{opacity:.5}
.header.header--pinned{background:linear-gradient(115deg,#192b3bea,#0c1826f5);border-color:#a8cbe43d;border-radius:10px;box-shadow:0 12px 30px #030c2038,inset 0 1px #e1f2ff12;backdrop-filter:blur(18px)}
.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:#a1caef;transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
.eyebrow{display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";display:block;width:22px;height:1px;background:currentColor;opacity:.65}
.button{border-radius:8px;box-shadow:0 5px 0 #0513231f,0 12px 24px #07182814}
.button-dark{background:linear-gradient(130deg,#2d4f6c,#152b41);border-color:#355a79;box-shadow:inset 0 1px #adcbe72b,0 5px 0 #102437,0 14px 26px #0b22371c}
.button-light{background:linear-gradient(120deg,#fff,#e9eef0);border-color:#f3f8fb;box-shadow:inset 0 1px #fff,0 5px 0 #aac0d07a,0 14px 28px #02091433}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(2px)}
.text-link>span{transition:transform 180ms ease-out}.text-link:hover>span{transform:translate(3px,-3px)}

/* PILLARS: light rakes across a dark metal surface, with a pressed monogram. */
.pillars{background-color:#0e1a29;background-image:radial-gradient(ellipse at 1% 2%,#315b7e5c,transparent 57%),radial-gradient(ellipse at 100% 100%,#203d572e,transparent 60%)}
.pillars .section-intro{position:relative}
.embossed-mark{position:relative;width:190px;height:182px;margin-top:54px;border:1px solid #a6c8e52c;border-radius:14px;background:linear-gradient(135deg,#cbe6fc0d,#0613212e);box-shadow:inset 0 1px #c6e4ff17,0 22px 40px #020b1626;display:grid;place-items:center;transform:rotate(-5deg)}
.embossed-mark::before,.embossed-mark::after{content:"";position:absolute;pointer-events:none}
.embossed-mark::before{inset:9px;border:1px solid #94b8d426;border-radius:8px}
.embossed-mark::after{inset:0;border-radius:inherit;background:linear-gradient(132deg,transparent 22%,#c4e4ff0e 43%,transparent 58%)}
.embossed-mark>span{font-family:var(--sc-font-display);font-style:italic;font-size:119px;line-height:1;letter-spacing:-12px;color:#a6c5df54;text-shadow:0 2px 1px #0109178a;padding-right:12px;transform:rotate(5deg)}
.embossed-mark>i{position:absolute;width:46px;height:1px;background:#adcce3;bottom:0;left:22px;opacity:.6}
.pillars-list{display:grid;gap:14px;align-content:start}
.pillars-list article,.pillars-list article:first-child,.pillars-list article:last-child{padding:26px;border:1px solid #b1cce32b;border-radius:var(--material-radius);background:linear-gradient(120deg,#d7ecff09,#a9c8e302);box-shadow:inset 0 1px #d5eaff0a,0 9px 22px #030d170f}
.pillar-mark{width:42px;height:42px;min-width:42px;display:grid;place-items:center;font-size:23px;border:1px solid #b2cce538;border-radius:8px;background:linear-gradient(140deg,#8fbad61c,#a8c2da03);color:#bad1e6}
.pillars-list p{font-size:16px}

/* SERVICES: a tactile index, with the selected folder brought forward. */
.services{background-color:#edf0ee;background-image:radial-gradient(ellipse at 92% 0%,#b6cadb65,transparent 54%)}
.service-index{display:grid;gap:10px;overflow:visible}
.service,.service:last-child{position:relative;border:1px solid #7891a43a;border-radius:10px;background:linear-gradient(115deg,#ffffffa1,#f7f9f76b);box-shadow:inset 0 1px #fff,0 3px 8px #29415604;padding-inline:24px;transition:background-color 180ms ease-out,border-color 180ms ease-out}
.service summary{gap:22px;min-height:92px}
.service-index-symbol{display:grid;place-items:center;min-width:36px;width:36px;height:36px;border-radius:7px;border:1px solid #6d889d4d;color:#496679;background:#e6edf1;font-size:12px}
.service summary h3{min-width:0}
.service .expand-icon{border:1px solid #7b93a54d;border-radius:50%;width:30px;height:30px;color:#4d6c84}
.service .expand-icon::before,.service .expand-icon::after{left:7px;top:14px;width:14px}
.service-content{padding-left:58px}
.service[open]{--reading-accent:#bbdbf6;--reading-strong:#f1f7fb;background-color:#172e43;background-image:radial-gradient(ellipse at 95% 5%,#486b8747,transparent 64%),url("assets/material-grain.svg");background-size:auto,192px;border-color:#416681;box-shadow:inset 0 1px #d7ecff45,0 15px 25px #18395220;color:#edf3f7}
.service[open] summary h3{color:#dfedfa}
.service[open] .service-index-symbol{background:#a8cde614;border-color:#aecbe545;color:#c7dfef}
.service[open] .expand-icon{color:#d7e9f8;border-color:#b8cde44a;background:#d0e9ff0a}
.service[open] .service-content>p{color:#c1d1df}
.service[open] .service-content li{color:#e0e9f1}
.service[open] .service-content li::before{background:#a8cfee}
.service summary:hover h3{color:#386689}.service[open] summary:hover h3{color:#fff}

/* PORTRAIT: layered framing and a narrow light seam, keeping the real photo. */
.about{background-color:#edf0ee;background-image:radial-gradient(ellipse at 8% 48%,#a8c1d452,transparent 61%)}
.about-layout{border-top:0;padding-top:60px}
.portrait-composition{padding:12px 28px 38px 12px}
.portrait-backing{top:8%;left:14%;border-radius:14px;background:linear-gradient(125deg,#59778e,#28445b 54%,#152b3d);border:1px solid #617f9673;box-shadow:12px 22px 36px #0d25371e}
.portrait-backing::after{content:"";position:absolute;inset:12px;border:1px solid #c6dbe32d;border-radius:8px}
.portrait-window{border:1px solid #dce9f0;border-radius:12px;box-shadow:0 0 0 7px #f5f6f187,0 0 0 8px #4767803b,8px 18px 32px #172d432e}
.portrait-window::after{content:"";position:absolute;inset:12px;border:1px solid #ffffff2c;border-radius:5px;pointer-events:none}
.portrait-composition::after{content:"";position:absolute;top:0;left:0;width:70px;height:70px;border-top:2px solid #718da3;border-left:2px solid #718da3;border-top-left-radius:17px;pointer-events:none}
.portrait-composition figcaption{left:38px;bottom:7px;right:7px;padding:21px 24px;border:1px solid #b6d2e350;border-radius:7px;background:linear-gradient(110deg,#243d52,#12283c);box-shadow:0 7px 15px #0a1e3324}
.about-role{padding:16px 18px;border:1px solid #8ba3b83d;background:#fbfcf79c;border-radius:7px;box-shadow:inset 0 1px #fff}

/* METHOD: separate stages on an illuminated timeline, without adding scroll. */
.method{background-color:#0d1928;background-image:radial-gradient(ellipse at 0% 25%,#2e557841,transparent 62%),radial-gradient(ellipse at 100% 85%,#314b692e,transparent 54%)}
.method-symbol{width:64px;height:62px;gap:5px;padding:14px 15px;border:1px solid #bfd7ee38;border-radius:10px;background:linear-gradient(135deg,#d1e9ff0e,transparent);box-shadow:inset 0 1px #d9eeff12}
.method-symbol i{width:4px;background:#a0bdd7}
.method-symbol i:nth-child(4){height:29px}
.method-steps{padding-left:34px}
.method-steps::before{background:#9abbd53b}
.method-steps::after{background:linear-gradient(#8db9dd,#c6dcf0)}
.method-steps li{min-height:0;padding:25px 26px;margin-bottom:15px;gap:22px;border:1px solid #a7c7df20;border-radius:10px;background:linear-gradient(130deg,#a3cbe60b,#a3cbe602)}
.method-steps li:last-child{padding-bottom:25px;margin-bottom:0}
.method-steps li::before{left:-39px;top:35px;width:9px;height:9px;box-shadow:0 0 0 5px #172638}
.method-steps li.is-current{border-color:#9cc0dc6b;background:linear-gradient(115deg,#517ba333,#6b97ba0b);box-shadow:inset 0 1px #d3e8ff13,0 12px 25px #030b1417}
.step-number{font-size:28px;color:#b6cfe5}
.step-note{padding-top:13px;border-top:1px solid #a6c7e423;margin-top:18px}

/* FIRST CONTACT: paper edges, a folded corner and tangible selection states. */
.first-contact{background-color:#dbe5eb;background-image:radial-gradient(ellipse at 85% 36%,#f8faf8b8,transparent 54%),radial-gradient(ellipse at 0% 100%,#9db8cc4f,transparent 65%)}
.contact-guide-heading h2{position:relative}
.situations legend{margin-bottom:24px}
.situation,.situation:last-of-type{padding-inline:19px;margin-bottom:10px;border:1px solid #5979923d;border-radius:9px;background:#f1f5f54d;box-shadow:inset 0 1px #fff6}
.situation input{border-radius:9px}
.situation:has(input:checked){background:linear-gradient(115deg,#bdcfdde6,#e2eaf0);border-color:#6789a5;box-shadow:inset 3px 0 #406e93,inset 0 1px #fff8,0 6px 14px #203e5712;color:#193f5d}
.situation:has(input:checked) .radio-indicator{border-color:#476b85;background:#f1f6f7}
.guide-note{padding:17px 0 0 18px;border-left:1px solid #708fa65c}
.contact-paper{border:1px solid #809eb64a;border-radius:12px 32px 12px 12px;background-color:#fafbf7;background-image:url("assets/material-grain.svg");background-size:192px;box-shadow:9px 11px 0 -1px #c5d3dc,9px 11px 0 0 #7290a52e,18px 27px 35px #1d3e581c;isolation:isolate}
.contact-paper::before{top:0;left:20px;right:45px;height:2px;background:linear-gradient(90deg,#668ca9,transparent)}
.contact-paper::after{content:"";position:absolute;right:0;top:0;width:29px;height:29px;border-bottom-left-radius:7px;border-top-right-radius:31px;background:linear-gradient(225deg,#c0d1dd 46%,#eef2f0 49%,#e0e8ed 70%);border-left:1px solid #9db1bf70;border-bottom:1px solid #9db1bf70;box-shadow:-3px 4px 6px #28465c12;pointer-events:none}
.paper-mark{color:#385f7c;border:1px solid #6d8ca442;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;padding-right:6px;font-size:35px}
.paper-top{padding-bottom:20px}
.message-preview{border:1px solid #7393ac3a;border-left:2px solid #567e9d;border-radius:7px;background:linear-gradient(120deg,#e5ecf1,#f1f4f3);box-shadow:inset 0 1px #fff}
.guide-contact{min-height:64px}

/* VOICES AND QUESTIONS: a quieter paper surface after the interaction peak. */
.testimonials,.faq{background-color:#edf0ee;background-image:radial-gradient(ellipse at 0% 50%,#b6cbdc30,transparent 60%)}
.review-quotes{display:grid;gap:20px;align-content:start}
.review-quotes figure,.review-quotes figure+figure{position:relative;padding:30px 30px 27px;border:1px solid #839bad42;border-radius:12px;background:linear-gradient(130deg,#ffffffe0,#f6f8f47a);box-shadow:inset 0 1px #fff,0 12px 25px #203e530b}
.review-quotes figure::before{content:"“";display:block;font:72px/.65 var(--sc-font-display);height:40px;color:#7a98b28c;margin-bottom:15px}
.review-quotes blockquote{font-size:31px;line-height:1.35}
.review-quotes figcaption{border-top:1px solid #7d9ab32e;padding-top:18px}
.review-quotes figcaption>span:last-child,.reviews-source{color:#4d6170}
.faq-layout{border-top-color:#7895aa38}
.faq-list{border:1px solid #7c99af42;border-radius:12px;background:#f9fbf68c;padding:0 24px;box-shadow:inset 0 1px #fff,0 12px 30px #1d3c5508}
.faq details:first-child{border-top:0}.faq details:last-child{border-bottom:0}
.faq .expand-icon{color:#3e6380}

/* CONTACT: a framed desk surface and a quiet blue pool of light. */
.contact{background-color:#0a1523;background-image:radial-gradient(ellipse at 8% 3%,#31597752,transparent 65%),radial-gradient(ellipse at 96% 85%,#2746613d,transparent 48%)}
.contact-heading{position:relative}
.contact-person{padding:14px 18px;border:1px solid #adcce134;border-radius:10px;background:linear-gradient(130deg,#cfebff0b,#c8e5ff02)}
.contact-person img{border-radius:6px;border:1px solid #b4d0e652}
.contact-columns{padding:36px;border:1px solid #99bed33b;border-radius:14px;background:linear-gradient(110deg,#b5d5ee08,#07111d4a);box-shadow:inset 0 1px #d9efff0e,0 18px 40px #02091426;gap:8%}
.contact-details h3{display:flex;align-items:center;gap:10px}.contact-details h3::before{content:"";width:14px;height:1px;background:#bad6eb88}
.site-footer{border-top-color:#bedbec30}

@media(max-width:1150px){
 .pillars-list article,.pillars-list article:first-child,.pillars-list article:last-child{padding:23px;gap:17px}
 .method-steps li{padding:23px 20px;gap:17px}.method-steps li:last-child{padding-bottom:23px}
 .contact-columns{padding:28px;gap:6%}.contact-main>.button{padding-inline:17px;font-size:11px}
 .review-quotes figure,.review-quotes figure+figure{padding:27px}
}
@media(max-width:960px){
 .pillars-layout{grid-template-columns:.8fr 1.2fr;gap:5%}.pillars-list article,.pillars-list article:first-child,.pillars-list article:last-child{padding:21px;gap:14px}
 .pillar-mark{width:33px;height:33px;min-width:33px;font-size:20px}
 .embossed-mark{width:155px;height:153px}.embossed-mark>span{font-size:101px}
 .service{padding-inline:19px}.service-content{padding-left:58px}.service summary{gap:20px}
 .portrait-composition{padding-right:20px}.portrait-composition figcaption{left:22px;padding:17px 15px;font-size:9px}
 .about-role{padding:12px 14px;gap:7px}.about-role>span{border:0;padding-left:0}
 .method-layout{gap:6%;grid-template-columns:.85fr 1.15fr}.method-steps{padding-left:22px}.method-steps li::before{left:-27px}
 .method-steps li{padding:22px 17px;gap:13px}.method-steps li:last-child{padding-bottom:22px}
 .method-steps p{font-size:15px}.contact-person{min-width:205px;padding:13px}
 .contact-columns{grid-template-columns:1fr 1fr;padding:26px;gap:7%}.contact-main>.button{font-size:10px;padding-inline:13px;gap:10px}
}
@media(max-width:700px){
 main>section:not(.hero)::before{opacity:.18}main>section.section-light::before,main>section.section-blue::before{opacity:.12}
 .header.header--pinned{border-radius:8px}
 .embossed-mark{position:absolute;right:0;top:-26px;width:112px;height:116px;margin:0;opacity:.3;z-index:-1;transform:rotate(-8deg)}.embossed-mark>span{font-size:80px}
 .pillars-layout{display:block}.pillars-list{gap:13px;margin-top:34px}
 .pillars-list article,.pillars-list article:first-child,.pillars-list article:last-child{padding:23px 19px;gap:15px}
 .pillars-list p{font-size:15px}.pillar-mark{width:31px;min-width:31px;height:34px}
 .pillars-list h3{font-size:17px}
 .service,.service:last-child{padding-inline:16px;border-radius:9px}
 .service summary{gap:13px;padding-block:22px}.service summary h3{font-size:16px;line-height:1.5}
 .service-index-symbol{min-width:28px;width:28px;height:30px;font-size:10px}
 .service .expand-icon{width:26px;height:26px}.service .expand-icon::before,.service .expand-icon::after{left:6px;top:12px;width:12px}
 .service-content{padding-left:0;padding-bottom:25px}.service-content>p{font-size:15px;margin-bottom:21px;padding-top:1px}
 .service-content ul{gap:10px}.service-content li{font-size:13px}
 .about-layout{padding-top:39px;gap:44px}.portrait-composition{padding:10px 22px 35px 10px}
 .portrait-window{border-radius:9px}.portrait-window::after{inset:9px}
 .portrait-composition figcaption{left:27px;right:4px;bottom:5px;padding:17px 15px;font-size:9px}
 .portrait-composition::after{width:55px;height:55px}
 .about-role{display:flex;padding:14px;font-size:11px;gap:7px 14px}.about-role>span{padding:0;border:0}
 .method-layout{display:block}.method-symbol{margin-bottom:27px}.method-steps{padding-left:22px;margin-top:34px}
 .method-steps li{padding:22px 18px;gap:15px;margin-bottom:14px}.method-steps li:last-child{padding-bottom:22px}
 .method-steps li::before{left:-27px;top:30px}.method-steps h3{font-size:20px}.step-number{font-size:23px}
 .method-steps p{font-size:15px}.step-note{font-size:11px;line-height:1.7}
 .contact-guide-heading{margin-bottom:34px}.situation,.situation:last-of-type{padding-inline:16px;margin-bottom:9px;min-height:74px}
 .guide-note{padding:9px 0 0 14px}.contact-paper{margin-right:8px;padding:25px 21px;box-shadow:7px 9px 0 -1px #c5d3dc,7px 9px 0 0 #7290a52e,12px 19px 25px #1d3e5817}
 .paper-mark{width:45px;height:45px;font-size:30px}.guide-contact{font-size:11px;padding-inline:12px;min-height:61px}
 .review-quotes{gap:15px}.review-quotes figure,.review-quotes figure+figure{padding:27px 22px 23px}
 .review-quotes blockquote{font-size:28px}.review-quotes figcaption{display:block}.review-quotes figcaption>span{display:block}.review-quotes figcaption>span:last-child{margin-top:7px}
 .review-quotes figure::before{font-size:64px;height:31px;margin-bottom:12px}
 .faq-list{padding-inline:18px}.faq summary{font-size:14px;gap:14px}.faq details>p{font-size:14px}
 .contact-person{width:fit-content;padding:13px 16px}.contact-heading{margin-bottom:32px}
 .contact-columns{display:block;padding:25px 21px;border-radius:12px}
 .contact-main>.button{font-size:11px;padding-inline:14px;gap:10px}.contact-main>.button svg{width:20px;height:20px}
 .contact-details{margin-top:32px;padding-top:29px;border-top:1px solid #c2dff228}
 .contact-details a,.contact-details address{font-size:13px}.contact-details .phone-link{font-size:25px}
 .site-footer{margin-top:45px}
}
@media(max-width:370px){
 .pillars-list article,.pillars-list article:first-child,.pillars-list article:last-child{padding:21px 15px;gap:12px}
 .pillars-list p{font-size:14px;line-height:1.85}.pillars-list h3{font-size:16px}
 .service,.service:last-child{padding-inline:13px}.service summary{gap:10px}.service summary h3{font-size:15px}
 .method-steps li{padding:20px 14px;gap:11px}.method-steps h3{font-size:18px}.method-steps p{font-size:14px}
 .contact-paper{padding-inline:17px}.guide-contact{font-size:10px;padding-inline:10px}
 .contact-columns{padding:23px 17px}.contact-main>.button{font-size:10px;padding-inline:11px;gap:7px}
 .contact-details a{font-size:12px}.contact-details .phone-link{font-size:23px}
 .portrait-composition figcaption{font-size:8px;padding:16px 12px}
}
@media(prefers-reduced-motion:reduce){.button,.text-link>span,.main-nav a::after{transition:none}.button:hover{transform:none}}
