/* Homepage-only visual revision. Existing content and opening poster stay intact. */
.home-page { background:#f5f4f8; }
.home-page .shell { width:min(1240px,calc(100% - 64px)); }
.home-page .poster-content.shell { width:100%; }
.home-page .language-bar { background:#180b2d; }
.home-page .language-inner { min-height:32px; }
.home-page .site-header { border-bottom:0; background:#ffffffed; box-shadow:0 1px 0 #2100470c; }
.home-page .nav { height:90px; }
.home-page .brand img { width:230px; }
.home-page .nav-links { gap:24px; font-size:.84rem; }
.home-page .nav-links .button { min-height:46px; padding:0 22px; border-radius:30px; }
.home-page main > .hero { margin:20px 20px 0; border-radius:24px; background:radial-gradient(ellipse at 15% 10%,#3a185d 0%,#1d0a35 48%,#130825 100%); }
.home-page .hero-inner { padding:54px 0 0; }
.home-page .hero-layout { grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.home-page .hero-message { padding:0 0 12px; }
.home-page .hero .eyebrow { color:#c1b2db; font-size:.7rem; letter-spacing:.16em; line-height:1.8; }
.home-page .hero h1 { color:#fff; font-size:clamp(2.65rem,4.15vw,4.25rem); line-height:1.07; letter-spacing:-.045em; margin-top:24px; text-wrap:balance; }
.home-page .hero-copy { color:#cfc6de; font-size:1rem; line-height:1.8; margin:26px 0 30px; }
.home-page .button { border-radius:30px; min-height:50px; font-size:.85rem; }
.home-page .hero .button { border-radius:30px; }
.home-page .hero .button-primary { box-shadow:0 8px 28px #ff5b3d26; }
.home-page .hero .button-ghost { border-color:#ffffff40; color:white; background:#ffffff06; }
.home-page .hero .button-ghost:hover { background:#ffffff14; }
.home-page .hero-discover { color:#ddd4e8; margin-top:26px; font-size:.75rem; }
.home-page .hero-discover > span:first-child { border-color:#ffffff30; }
.home-page .hero-portfolio { gap:12px; }
.home-page .hero-portfolio .hero-media { min-height:305px; border-radius:16px; box-shadow:none; border:1px solid #ffffff28; }
.home-page .hero-portfolio-details { gap:12px; }
.home-page .hero-portfolio-details figure { height:160px; border-radius:14px; border:1px solid #ffffff28; }
.home-page .hero-media-tag { font-size:1.25rem; left:24px; bottom:53px; }
.home-page .hero-media figcaption { left:24px; bottom:22px; font-size:.65rem; }
.home-page .hero-footer { border-top:1px solid #ffffff20; border-bottom:0; margin-top:44px; padding:26px 0; gap:24px; }
.home-page .hero-footer > div { gap:16px; }
.home-page .hero-footer > div + div { border-left-color:#ffffff20; padding-left:24px; }
.home-page .hero-footer strong { color:#fff; font-size:.87rem; }
.home-page .hero-footer span { color:#bdb0ce; font-size:.76rem; }
.home-page .hero-footer b { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:#ffffff08; color:#ff886f; }
.home-page .section { padding:92px 0; }
.home-page .section-head { grid-template-columns:1.1fr .9fr; gap:70px; align-items:end; margin-bottom:40px; }
.home-page .section-head h2 { font-size:clamp(2.1rem,3.3vw,3.35rem); line-height:1.13; letter-spacing:-.04em; max-width:680px; margin-top:18px; text-wrap:balance; }
.home-page .section-head .eyebrow { font-size:.7rem; letter-spacing:.17em; }
.home-page .section-head p { font-size:.98rem; line-height:1.8; }
.home-page .intro-grid { grid-template-columns:1.25fr .75fr; gap:22px; align-items:stretch; }
.home-page .intro-panel { border-radius:18px; box-shadow:none; border:1px solid #e9e5ee; padding:40px; }
.home-page .intro-title { font-size:clamp(1.65rem,2.4vw,2rem); line-height:1.16; }
.home-page .intro-panel p { font-size:.96rem; line-height:1.8; margin-top:22px; }
.home-page .placeholder-label { font-size:.67rem; letter-spacing:.13em; }
.home-page .principles { border-radius:18px; padding:34px; background:linear-gradient(145deg,#2f1747,#1b0b30); gap:22px; align-content:center; }
.home-page .principle { grid-template-columns:36px 1fr; gap:12px; padding-bottom:22px; }
.home-page .principle b { font-size:.82rem; padding-top:3px; color:#ff947e; }
.home-page .principle strong { font-size:1.05rem; margin-bottom:6px; }
.home-page .principle span { font-size:.88rem; line-height:1.7; }
.home-page .purpose-grid { margin-top:22px; gap:22px; }
.home-page .purpose-card { padding:34px 38px; border:1px solid #e4deee; border-radius:18px; background:#eeebf5; }
.home-page .purpose-card:last-child { background:#fcf0eb; border-color:#f1e0d8; }
.home-page .purpose-number { margin-bottom:20px; }
.home-page .purpose-card h3 { font-size:1.65rem; }
.home-page .purpose-card p { font-size:.94rem; line-height:1.8; }
.home-page .services { margin:0 20px; border-radius:24px; background:#1a0b2d; color:white; }
.home-page .services h2 { color:white; }
.home-page .services .eyebrow { color:#b6a4d5; }
.home-page .services .section-head p { color:#b8abc9; }
.home-page .service-grid { border:0; grid-template-columns:repeat(3,1fr); gap:16px; }
.home-page .service-card { border:1px solid #ffffff20; border-radius:16px; min-height:250px; padding:30px; background:#ffffff04; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.home-page .service-card h3 { color:white; font-size:1.25rem; margin:40px 0 14px; line-height:1.2; }
.home-page .service-card p { color:#c4b8d3; font-size:.9rem; line-height:1.75; }
.home-page .service-number { color:#ff917b; font-size:.7rem; }
.home-page .service-card:hover { background:#ffffff0d; border-color:#ff917b90; transform:translateY(-3px); }
.home-page .quality-grid { gap:20px; margin-top:36px; counter-reset:quality; }
.home-page .quality-card { border:1px solid #e4dfeb; padding:32px; border-radius:18px; background:#fff; counter-increment:quality; }
.home-page .quality-card::before { content:"0" counter(quality); display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--blue); background:#efedf6; font-size:.8rem; font-weight:800; margin-bottom:28px; }
.home-page .quality-card:nth-child(2)::before { color:#cd4b32; background:#fff0e9; }
.home-page .quality-card h3 { font-size:1.23rem; line-height:1.25; }
.home-page .quality-card p { line-height:1.75; font-size:.92rem; }
.home-page .cta { background:transparent; padding:0 20px 28px; }
.home-page .cta-inner { border-radius:22px; padding:46px 48px; width:min(1240px,100%); background:linear-gradient(120deg,#5268bd,#3b4383); }
.home-page .cta h2 { font-size:clamp(1.9rem,3vw,3rem); max-width:720px; }
.home-page .cta p { font-size:.95rem; max-width:650px; }
.home-page .cta .button { flex-shrink:0; }
.home-page .site-footer { background:#180b2d; padding-top:60px; }
.home-page .footer-grid { gap:38px; }
.home-page .footer-brand img { width:230px; }
.home-page .footer-brand p { font-size:.88rem; line-height:1.8; color:#b8accb; }
.home-page .footer-links { font-size:.84rem; color:#c4b8d4; }
.home-page .footer-bottom { color:#a79aba; font-size:.75rem; }

@media(min-width:1021px) and (max-width:1200px) { .home-page .nav-links { gap:16px; font-size:.77rem; } .home-page .brand img { width:210px; } }
@media(max-width:1020px) {
  .home-page .nav-links { top:90px; border-radius:0 0 18px 18px; }
  .home-page .hero-layout { gap:28px; }
  .home-page .hero h1 { font-size:clamp(2.25rem,4.6vw,3.4rem); }
  .home-page .hero-portfolio .hero-media { min-height:285px; }
  .home-page .hero-portfolio-details figure { height:145px; }
  .home-page .section-head { grid-template-columns:1fr; gap:24px; }
  .home-page .intro-grid { grid-template-columns:1fr; }
  .home-page .principles { grid-template-columns:repeat(3,1fr); padding:28px; }
  .home-page .principle { display:block; border-bottom:0; padding:0; }
  .home-page .principle b { display:block; margin-bottom:16px; }
  .home-page .principle + .principle { padding-left:22px; border-left:1px solid #ffffff20; }
  .home-page .service-grid { grid-template-columns:repeat(2,1fr); }
  .home-page .cta-inner { padding:40px 32px; }
}
@media(max-width:760px) {
  .home-page .shell { width:calc(100% - 40px); }
  .home-page .nav { height:78px; }
  .home-page .nav-links { top:78px; }
  .home-page .brand img { width:190px; }
  .home-page main > .hero { margin:12px 10px 0; border-radius:18px; }
  .home-page .hero-inner { padding-top:34px; }
  .home-page .hero-layout { grid-template-columns:1fr; gap:30px; }
  .home-page .hero h1 { font-size:clamp(2.35rem,7.2vw,3.4rem); }
  .home-page .hero-copy { font-size:.94rem; margin:22px 0 26px; }
  .home-page .hero .eyebrow { font-size:.62rem; }
  .home-page .hero-actions { gap:10px; }
  .home-page .hero .button { font-size:.77rem; padding:0 18px; }
  .home-page .hero-portfolio .hero-media { min-height:265px; }
  .home-page .hero-portfolio-details figure { height:145px; }
  .home-page .hero-portfolio-details figcaption { font-size:.78rem; left:12px; }
  .home-page .hero-footer { grid-template-columns:1fr; margin-top:28px; gap:18px; }
  .home-page .hero-footer > div + div { padding-left:0; border:0; }
  .home-page .section { padding:64px 0; }
  .home-page .section-head h2 { font-size:2.1rem; }
  .home-page .intro-panel { padding:28px; }
  .home-page .principles { grid-template-columns:1fr; padding:28px; }
  .home-page .principle { display:grid; }
  .home-page .principle b { margin:0; }
  .home-page .principle + .principle { border-left:0; border-top:1px solid #ffffff20; padding:20px 0 0; }
  .home-page .purpose-grid { grid-template-columns:1fr; }
  .home-page .purpose-card { padding:28px; }
  .home-page .services { margin:0 10px; border-radius:18px; }
  .home-page .service-grid, .home-page .quality-grid { grid-template-columns:1fr; }
  .home-page .service-card { min-height:220px; padding:28px; }
  .home-page .service-card h3 { margin-top:28px; }
  .home-page .cta { padding:0 10px 20px; }
  .home-page .cta-inner { flex-direction:column; align-items:flex-start; padding:32px 24px; gap:26px; }
  .home-page .footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .home-page .footer-brand { grid-column:1 / -1; }
  .home-page .footer-bottom { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .home-page .service-card, .home-page .button { transition:none; } .home-page .service-card:hover, .home-page .button:hover { transform:none; } }
