.home-hero { padding:40px 0 133px; background:#fff url('../img/design/hero-backdrop.webp') center top / 100% 100% no-repeat; overflow:hidden; }
.home-hero__grid { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:8px; }
.home-hero__copy { position:relative; z-index:1; padding-bottom:0; }
.home-hero__eyebrow { display:block; color:#488ec5; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; margin-bottom:30px; }
.home-hero h1 { font-size:clamp(38px,5vw,72px); line-height:1.08; font-weight:750; letter-spacing:-.055em; margin:0 0 34px; }
.home-hero h1 span { color:var(--primary); }
.home-hero__copy > p { color:var(--muted-foreground); font-size:24px; line-height:1.55; max-width:510px; margin:0 0 46px; }
.home-hero .hero__actions { flex-wrap:nowrap; gap:28px; align-items:center; }
.home-hero .btn { padding:23px 30px; font-size:17px; white-space:nowrap; }
.home-hero .text-link { white-space:nowrap; }
.home-hero__visual { margin-block:0; margin-inline:-110px -55px; min-width:0; }
.home-hero__visual > img { width:100%; height:auto; object-fit:contain; }
.home-hero__note { font:500 27px/1.1 Caveat,cursive; color:#028ee2; max-width:300px; margin:0 auto 0; transform:rotate(-5deg); display:flex; align-items:center; gap:10px; }
.home-hero__note img { width:40px; height:40px; filter:invert(38%) sepia(98%) saturate(1868%) hue-rotate(177deg) brightness(93%) contrast(102%); flex-shrink:0; align-self:start; }
.platform-strip { padding:40px 0 66px; }
.platform-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.platform-item { display:flex; gap:22px; align-items:center; padding:0 30px; border-inline-start:1px solid #e3ebf3; }
.platform-item > div { min-width:0; overflow-wrap:anywhere; }
.platform-item:first-child { border:0; padding-inline-start:0; }
.platform-item img { width:48px; height:48px; }
.platform-item h2 { margin:0 0 3px; font-size:20px; font-weight:650; }
.platform-item p { margin:0; color:var(--muted-foreground); font-size:16px; }
.home-page .section__title { font-size:58px; }
.featured-section { padding:65px 0 62px; background:#f3fbfd; }
.section-heading-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:35px; }
.section-heading-row .section__title { margin-bottom:0; }
.featured-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-inline:-12px; }
.featured-project { min-width:0; }
.featured-project__visual { border-radius:18px; background:#e2f6f8; height:450px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.featured-project:nth-child(2) .featured-project__visual { background:#eaf5f0; }
.featured-project__visual img { width:100%; height:100%; object-fit:contain; padding:14px; }
.featured-project__body { padding:26px 15px 0; }
.featured-project h3 { font-size:32px; letter-spacing:-.04em; line-height:1.25; margin:0 0 10px; }
.featured-project p { color:var(--muted-foreground); font-size:21px; line-height:1.6; margin:0 0 22px; }
.method-section { padding:65px 0 75px; }
.method-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; margin-bottom:35px; }
.method-heading .section__title { margin:0; }
.method-heading > p { margin:20px 0 0; color:var(--muted-foreground); font-size:21px; line-height:1.6; }
.method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; list-style:none; padding:0; margin:0; }
.method-step { display:grid; grid-template-columns:58px 1fr; gap:22px; align-items:start; }
.method-step__number { border-radius:50%; width:58px; height:58px; display:flex; align-items:center; justify-content:center; background:#ddf1ff; color:#008ee4; font-weight:650; font-size:23px; }
.method-step h3 { font-size:23px; margin:10px 0 15px; letter-spacing:-.025em; }
.method-step p { color:var(--muted-foreground); font-size:20px; line-height:1.6; margin:0; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.portfolio-grid .card { display:flex; flex-direction:column; padding:26px; border:1px solid #e3ebf2; background:#fff; box-shadow:none; border-radius:16px; transform:none; }
.portfolio-grid .card__thumb { background:transparent; height:80px; width:80px; border:0; box-shadow:none; margin-bottom:24px; }
.portfolio-grid .card__thumb img { width:80px; height:80px; object-fit:contain; }
.portfolio-grid .card__title { font-size:22px; margin:0 0 12px; }
.portfolio-grid .card__text { font-size:15px; line-height:1.7; }
.portfolio-grid .card__button { align-self:start; margin-top:auto; color:#0073bf; background:transparent; padding:16px 0 0; box-shadow:none; border:0; }
.portfolio-grid .card__content { flex:1; }
.portfolio-grid .card:has(a:hover) { border-color:#8fc9ec; }
.home-page .faq-section { background:#fff; }
@media(min-width:1700px) { .home-hero h1 { font-size:72px; } }
@media(max-width:1150px) {
 .home-page .section__title { font-size:44px; }
 .home-hero { padding:65px 0 55px; }
 .home-hero__visual { margin-inline:-20px; }
 .home-hero .hero__actions { flex-wrap:wrap; gap:22px; }
 .home-hero__copy > p { font-size:18px; }
 .home-hero__note { font-size:24px; }
 .featured-project__visual { height:370px; }
 .platform-item { gap:16px; padding:0 20px; }
 .platform-item img { width:40px; height:40px; }
}
@media(max-width:900px) {
 .home-hero { padding:64px 0 30px; }
 .home-hero__grid { grid-template-columns:1fr; gap:24px; }
 .home-hero__copy { max-width:650px; }
 .home-hero h1 { font-size:58px; }
 .home-hero__visual { max-width:680px; margin:auto; }
 .home-hero__note { margin-top:-5px; }
 .platform-grid { grid-template-columns:repeat(2,1fr); gap:30px; }
 .platform-item { border:0; padding:0; }
 .featured-project__visual { height:300px; }
 .method-heading { gap:30px; }
 .method-grid { gap:25px; }
 .method-step { grid-template-columns:42px 1fr; gap:15px; }
 .method-step__number { width:42px; height:42px; font-size:18px; }
 .method-step h3 { margin-top:5px; font-size:18px; }
 .method-step p { font-size:16px; }
 .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .home-hero { padding:50px 0 25px; }
 .home-page .section__title { font-size:32px; }
 .home-hero__eyebrow { font-size:10px; margin-bottom:22px; }
 .home-hero h1 { font-size:40px; letter-spacing:-.05em; margin-bottom:24px; }
 .home-hero__copy > p { font-size:17px; margin-bottom:30px; }
 .home-hero .hero__actions { gap:22px; }
 .home-hero .btn { padding:16px 22px; white-space:normal; max-width:100%; }
 .home-hero .text-link { white-space:normal; max-width:100%; }
 .home-hero__visual { margin:0 -10px; }
 .home-hero__note { font-size:23px; max-width:245px; }
 .platform-strip { padding:32px 0 48px; }
 .platform-item { gap:14px; }
 .platform-item img { width:32px; height:32px; }
 .platform-item h2 { font-size:15px; }
 .platform-item p { font-size:12px; }
 .featured-section,.method-section { padding:48px 0; }
 .section-heading-row { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:28px; }
 .featured-grid { grid-template-columns:1fr; gap:40px; }
 .featured-grid { margin-inline:0; }
 .featured-project__visual { height:auto; aspect-ratio:1.4; }
 .featured-project__body { padding:22px 0 0; }
 .featured-project h3 { font-size:25px; }
 .featured-project p { font-size:16px; }
 .method-heading { grid-template-columns:1fr; gap:0; margin-bottom:28px; }
 .method-heading > p { font-size:16px; margin-top:20px; }
 .method-grid { grid-template-columns:1fr; gap:28px; }
 .method-step { grid-template-columns:48px 1fr; gap:18px; }
 .method-step__number { width:48px; height:48px; }
 .method-step h3 { margin-bottom:8px; }
 .portfolio-grid { grid-template-columns:1fr; }
}
