.homepage{--ink:#08080d;--paper:#f6f3fa;--muted:#bfb6cc}
.homepage .hero-inner{max-width:1600px;margin:auto;padding-top:150px;padding-bottom:28px}
.homepage .hero-grid{grid-template-columns:1.15fr 1fr;gap:6%;padding-bottom:46px}
.homepage .hero h1{font-size:clamp(3.5rem,6.8vw,7rem);line-height:1.04;max-width:12ch;margin-bottom:26px}
.homepage .hero-copy>p{max-width:36ch;font-size:1.125rem;line-height:1.6;color:#d1c7dc;margin:0 0 30px}
.homepage .intro{font-size:.875rem;letter-spacing:.16em;margin-bottom:20px}
.homepage .hero-actions{gap:12px}
.homepage .hero-actions .button{font-size:1rem;padding:17px 25px;min-height:55px;border-radius:3px}
.homepage-about-link{display:inline-block;margin-top:22px;font-size:.875rem;color:#cab9dd;border-bottom:1px solid #8c709e55;padding-bottom:5px}
.homepage-about-link:hover{color:#fff;border-color:#d1b4ec}
.homepage .hero-bottom{font-size:.75rem;letter-spacing:.08em;padding-top:23px}
.homepage .hero-bottom a{font-size:.875rem}
.homepage .hero-symbol--cinematic .logo-caption{font-size:.75rem;color:#c0accf}
.homepage .identity-banner{padding:76px 6% 45px;grid-template-columns:1fr 1fr;column-gap:8%;min-height:0}
.homepage .identity-kicker{margin-bottom:24px}
.homepage .identity-title{font-size:clamp(2.6rem,4.5vw,4.6rem);max-width:17ch}
.homepage .identity-copy{grid-column:2;grid-row:2;align-self:center;justify-self:end}
.homepage .identity-copy p{font-size:1.125rem;margin-bottom:15px;max-width:30ch}
.homepage .identity-cta{font-size:.9375rem;padding:14px 21px;min-height:48px;background:transparent;color:#f3eafa;border:1px solid #ab8bb97a;box-shadow:none}
.homepage .identity-cta:hover{background:#b58bd51c;border-color:#cfb3e6}
.home-service-grid{position:relative;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}
.home-service{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:230px;padding:24px;background:#17111f;border:1px solid #b196c43b;box-shadow:inset 0 1px 0 #fff1,0 12px 24px #0003;transition:transform .35s,border-color .35s,box-shadow .35s}
.home-service:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#110c19f5 10%,#110c19bf 55%,#110c1940),linear-gradient(0deg,#110c19cc,transparent 60%);pointer-events:none}
.home-service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.8;transition:transform .7s,opacity .7s}
.home-service-number{font-size:.75rem;letter-spacing:.12em;color:#ccb4de;margin-bottom:28px}
.home-service h3{font:400 clamp(1.5rem,2.1vw,2rem)/1.1 Georgia,serif;margin:0 0 12px;max-width:13ch;letter-spacing:-.02em;color:#fff}
.home-service p{font-size:.9375rem;line-height:1.5;color:#d5c9df;margin:0 0 22px;max-width:24ch}
.home-service-action{margin-top:auto;font-size:.8125rem;color:#e2c9f7;text-decoration:underline;text-decoration-color:#b68fcb70;text-underline-offset:5px;line-height:1.5}
.home-service:hover,.home-service:focus-visible{transform:translateY(-4px);border-color:#d2b4ec9c;box-shadow:0 16px 30px #0005,0 0 22px #8e57ba18}
.home-service:hover img,.home-service:focus-visible img{transform:scale(1.06);opacity:1}
.home-service-hint{grid-column:1/-1;font-size:.875rem;line-height:1.6;color:#c5b6d1;margin:18px 0 0}
.homepage .identity-values{margin-top:30px;padding-top:20px;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;letter-spacing:.13em;color:#bda9cd}
.homepage .reviews{padding:56px 6%}
.homepage .reviews-heading{margin-bottom:24px;gap:25px}
.homepage .reviews-kicker{font-size:.8125rem;margin-bottom:14px}
.homepage .reviews-title{font-size:clamp(2rem,3vw,3rem);line-height:1.1}
.homepage .reviews-intro{font-size:.9375rem;margin-top:15px}
.homepage .reviews-track{gap:14px;padding-bottom:18px}
.homepage .review-card{flex-basis:290px;padding:22px}
.homepage .review-card-top{margin-bottom:20px}
.homepage .review-placeholder{font-size:1.5rem;margin-bottom:22px}
.homepage .review-pending{display:none}
.homepage .review-partner{padding-top:15px}
.homepage .review-author{font-size:.9375rem}
.homepage .review-author-note{font-size:.8125rem}
.homepage .contact{padding:72px 6% 85px}
.homepage .contact h2{font-size:clamp(2.7rem,5vw,5rem);margin-bottom:22px}
.home-contact-copy{font-size:1.0625rem;line-height:1.6;color:#d0c2dd;margin:0 auto 27px;max-width:41ch}
.homepage .contact .button{font-size:1rem;border-radius:3px}
.homepage .direct-contacts{font-size:.9375rem;margin-top:25px}
.homepage .contact-note{font-size:.75rem}
@media(min-width:1600px){.homepage .identity-banner,.homepage .reviews,.homepage .contact{padding-inline:max(6%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage .hero h1{font-size:clamp(3.1rem,7vw,5rem)}.homepage .identity-title{font-size:clamp(2.5rem,5vw,4rem)}}
@media(max-width:640px){
.homepage .hero-inner{padding:115px 6% 25px;min-height:0}
.homepage .hero{min-height:0}
.homepage .hero-grid{display:flex;gap:30px;padding:0 0 22px}
.homepage .intro{font-size:.75rem;letter-spacing:.12em;margin-bottom:22px}
.homepage .hero h1{font-size:clamp(3rem,12vw,4.4rem);max-width:13ch;margin-bottom:23px}
.homepage .hero-copy>p{font-size:1rem;max-width:32ch;margin-bottom:25px}
.homepage .hero-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.homepage .hero-actions .button{font-size:.875rem;padding:15px 12px;min-height:52px}
.homepage .hero-symbol--cinematic{width:min(65vw,280px);margin:0 auto;gap:15px;opacity:1}
.homepage .hero-bottom{margin-top:4px;gap:20px;font-size:.75rem}
.homepage .hero-bottom>span{font-size:.75rem;max-width:140px}
.homepage .hero-bottom a{font-size:.8125rem;max-width:145px;text-align:right}
.homepage .identity-banner{padding:50px 6% 32px;grid-template-columns:1fr}
.homepage .identity-title{font-size:clamp(2.6rem,10vw,3.7rem);margin:0 0 22px}
.homepage .identity-copy{grid-column:1;justify-self:start;grid-row:3}
.homepage .identity-copy p{font-size:1rem;max-width:none}
.homepage .identity-cta{width:auto;min-height:46px;margin-top:0}
.home-service-grid{grid-row:4;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9877b3 #201529;padding:3px 2px 18px;margin-top:28px}
.home-service{scroll-snap-align:start;min-height:240px;padding:24px}
.home-service h3{font-size:1.875rem}.home-service p{font-size:1rem}
.home-service-hint{grid-row:5;margin-top:12px;max-width:34ch}
.homepage .identity-values{grid-row:6;font-size:.75rem;gap:12px 20px;line-height:1.5}
.homepage .reviews{padding:45px 6%}.homepage .reviews-title{font-size:2.125rem}
.homepage .review-card{flex-basis:85%}.homepage .reviews-hint{font-size:.8125rem}
.homepage .contact{padding:55px 6% 68px}.homepage .contact h2{font-size:clamp(2.5rem,10vw,3.5rem)}
.home-contact-copy{font-size:1rem}.homepage .contact .eyebrow{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.home-service,.home-service img{transition:none}.home-service:hover,.home-service:focus-visible{transform:none}.home-service:hover img,.home-service:focus-visible img{transform:none}}
