/* The home is a deliberate composition, independent of legacy hero layouts. */
.home-hero { padding:158px 0 60px; position:relative; background:radial-gradient(ellipse at 88% 30%,var(--ambient-warm),transparent 52%); }
.home-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center; }
.home-intro { position:relative; z-index:2; padding:16px 0; }
.home-intro .eyebrow { font-size:9px; letter-spacing:.11em; margin-bottom:28px; }
.home-intro h1 { font-family:Inter,Arial,sans-serif; font-size:clamp(44px,4.5vw,64px); font-weight:500; line-height:1.06; letter-spacing:-.065em; text-transform:none; }
.home-intro h1 em { display:block; color:var(--orange); font-style:normal; }
.home-lede { max-width:445px; margin:28px 0 0; color:var(--muted); font-size:15px; line-height:1.85; }
.home-intro .hero-actions { align-items:start; flex-direction:column; gap:18px; margin-top:30px; }
.home-intro .btn { min-height:52px; font-size:10px; letter-spacing:.03em; padding:0 22px; }
.home-intro-note { display:flex; align-items:center; gap:9px; margin-top:32px; font-size:11px; color:var(--muted); }
.home-status { display:inline-block; width:6px; height:6px; background:var(--orange); border-radius:50%; box-shadow:0 0 0 4px var(--ambient-warm); }
.home-link { display:inline-flex; align-items:center; gap:20px; font-size:12px; font-weight:500; padding:6px 0; border-bottom:1px solid var(--line); transition:color .2s,border-color .2s; }
.home-link:hover { color:var(--orange); border-color:var(--orange); }
.home-link > span { font-size:18px; }
.home-visual { position:relative; display:grid; grid-template-columns:1.2fr .8fr; gap:16px; align-items:center; min-width:0; height:auto; }
.home-visual::before { content:""; position:absolute; inset:0 0 0 6%; border:1px solid var(--line); border-radius:50%; transform:rotate(-22deg); }
.home-visual a { display:block; position:relative; z-index:1; width:100%; border:1px solid var(--glass-border); border-radius:18px; overflow:hidden; background:var(--glass-strong); box-shadow:0 16px 40px rgba(0,0,0,.12); transition:translate .45s,box-shadow .45s; }
.home-visual a:hover { translate:0 -4px; box-shadow:0 24px 50px rgba(0,0,0,.18); }
.home-visual img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.home-visual-main { grid-column:1; grid-row:1 / 3; }
.home-visual-main > span,.home-visual-web > span { display:flex; justify-content:space-between; gap:10px; padding:14px; color:var(--text); font-size:10px; line-height:1.5; border-top:1px solid var(--line); }
.home-visual-web { grid-column:2; grid-row:1; }
.home-visual-brand { grid-column:2; grid-row:2; }
.home-glass-label { position:relative; grid-column:1 / -1; z-index:1; display:flex; align-items:center; gap:12px; padding:16px 20px; background:var(--glass-strong); border:1px solid var(--glass-border); color:var(--text); box-shadow:0 10px 40px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.2); -webkit-backdrop-filter:blur(26px) saturate(150%); backdrop-filter:blur(26px) saturate(150%); border-radius:14px; font-size:12px; line-height:1.5; }
.home-spark { font-size:32px; color:var(--orange); }
.home-visual-index { grid-column:1 / -1; text-align:right; color:var(--muted); font-size:8px; letter-spacing:.16em; }
.home-brands { padding:26px 0; border-block:1px solid var(--line); }
.home-brands-inner { display:flex; align-items:center; gap:48px; }
.home-brands-inner > p { font-size:11px; line-height:1.5; color:var(--muted); min-width:100px; margin:0; }
.home-brands-inner > p strong { color:var(--text); font-weight:500; }
.home-brands-inner > div { flex:1; display:flex; gap:28px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.home-brands-inner > div span { font-family:Raleway,sans-serif; font-size:17px; font-weight:600; letter-spacing:.03em; color:var(--muted); }
.home-section { padding:80px 0; }
.home-section + .home-section { border-top:1px solid var(--line); }
.home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:34px; }
.home-section h2,.home-contact h2 { font-family:Inter,Arial,sans-serif; font-size:clamp(30px,3.3vw,44px); font-weight:500; letter-spacing:-.055em; line-height:1.12; }
.home-section-heading > p { max-width:365px; color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
.home-section-heading .home-link { flex-shrink:0; margin-bottom:6px; }
.home-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 26px; }
.home-work-card { display:block; min-width:0; }
.home-work-image { position:relative; width:100%; aspect-ratio:1.25; border-radius:18px; overflow:hidden; background:#f2f0ec; border:1px solid var(--line); }
.home-work-image img { position:absolute; inset:0; width:100%; height:100%; padding:18px; object-fit:contain; object-position:center; }
.home-work-card .home-work-image { transition:box-shadow .45s,border-color .45s; }
.home-work-card:hover .home-work-image { border-color:var(--orange); box-shadow:0 16px 35px rgba(0,0,0,.1); }
.home-work-open { position:absolute; right:16px; top:16px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#171921; background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.85); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px); font-size:19px; }
.home-work-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 2px 0; }
.home-work-meta span { font-size:9px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.home-work-meta h3 { font-family:Inter,Arial,sans-serif; font-size:19px; font-weight:500; line-height:1.25; letter-spacing:-.025em; margin-top:6px; }
.home-work-meta small { padding:7px 10px; border:1px solid var(--line); border-radius:50px; font-size:9px; color:var(--muted); flex-shrink:0; }
.home-services { background:radial-gradient(ellipse at 20% 80%,var(--ambient-cool),transparent 60%); }
.home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-service { position:relative; padding:28px; border-radius:20px; border:1px solid var(--glass-border); background:var(--glass); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 30px rgba(0,0,0,.025); display:flex; flex-direction:column; }
.home-service-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--line); border-radius:13px; color:var(--orange); background:var(--glass); }
.home-service-icon svg { width:27px; height:27px; }
.home-service-number { position:absolute; right:26px; top:30px; font-size:11px; color:var(--muted); }
.home-service h3 { font-family:Inter,Arial,sans-serif; font-size:25px; font-weight:500; line-height:1.2; letter-spacing:-.04em; margin:32px 0 16px; }
.home-service p { font-size:13px; color:var(--muted); line-height:1.8; margin:0 0 24px; }
.home-service-tags { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:24px; }
.home-service-tags span { font-size:9px; padding:5px 8px; background:var(--glass); border:1px solid var(--line); border-radius:6px; color:var(--muted); }
.home-service .home-link { margin-top:auto; justify-content:space-between; font-size:11px; gap:8px; }
.home-all-services { margin-top:28px; }
.home-approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.home-approach-visual { position:relative; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; }
.home-approach-visual > img { display:block; width:100%; height:auto; object-fit:contain; }
.home-approach-label { position:relative; display:flex; align-items:center; gap:16px; padding:16px 20px; color:var(--text); background:var(--glass-strong); border-top:1px solid var(--line); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.home-approach-label > span { font-size:32px; color:#b7470d; }
.home-approach-label p { margin:0; font-size:11px; }
.home-approach-copy > p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; margin:24px 0; }
.home-principle { display:flex; gap:18px; padding:17px 0; border-top:1px solid var(--line); }
.home-principle > span { font-size:10px; color:var(--orange); margin-top:2px; }
.home-principle h3 { font-family:Inter,Arial,sans-serif; font-size:15px; line-height:1.4; font-weight:500; }
.home-principle p { font-size:12px; color:var(--muted); margin:5px 0 0; }
.home-approach-copy .home-link { margin-top:12px; }
.home-method { background:var(--glass); }
.home-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.home-method-step { border-top:1px solid var(--line); padding-top:24px; }
.home-method-step > span { font-size:10px; color:var(--orange); }
.home-method-step h3 { font-family:Inter,Arial,sans-serif; font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-.035em; margin-top:20px; }
.home-method-step p { font-size:13px; color:var(--muted); line-height:1.8; margin-bottom:0; }
.home-contact { display:grid; grid-template-columns:.8fr 1.2fr; margin:36px; border:1px solid var(--glass-border); border-radius:22px; overflow:hidden; background:radial-gradient(ellipse at 100% 0%,var(--ambient-warm),transparent 65%),var(--glass); }
.home-contact-image { min-height:0; display:grid; place-items:center; padding:18px; background:var(--glass); }
.home-contact-image img { display:block; width:100%; height:auto; object-fit:contain; }
.home-contact-copy { padding:50px 46px; align-self:center; }
.home-contact-copy > p:not(.eyebrow) { font-size:14px; color:var(--muted); line-height:1.8; max-width:380px; margin:22px 0 0; }
.home-contact-copy .btn { font-size:10px; margin-top:26px; letter-spacing:.02em; }
.home-contact-email { display:block; font-size:11px; color:var(--muted); margin-top:18px; text-decoration:underline; text-underline-offset:4px; }
@media (min-width:901px) and (max-width:1150px) {
 .home-hero-grid { gap:28px; }
 .home-intro h1 { font-size:49px; }
 .home-service { padding:24px 20px; }
 .home-service h3 { font-size:23px; }
 .home-approach-grid { gap:38px; }
}
@media (max-width:900px) {
 .home-hero { padding:138px 0 45px; }
 .home-hero-grid { grid-template-columns:1fr 1fr; gap:20px; }
 .home-intro h1 { font-size:clamp(35px,5.6vw,48px); }
 .home-lede { font-size:13px; margin-top:22px; }
 .home-visual { gap:12px; }
 .home-glass-label { padding:12px; font-size:10px; gap:8px; }
 .home-spark { font-size:23px; }
 .home-brands-inner { gap:22px; }
 .home-brands-inner > div { gap:18px; }
 .home-brands-inner > div span { font-size:13px; }
 .home-section { padding:60px 0; }
 .home-service-grid { grid-template-columns:1fr; gap:14px; }
 .home-service { padding:26px; }
 .home-service h3 { margin-top:24px; }
 .home-service h3 br { display:none; }
 .home-service p { max-width:540px; }
 .home-service .home-link { align-self:start; min-width:220px; }
 .home-approach-grid { gap:30px; }
 .home-work-meta { align-items:start; }
 .home-work-meta h3 { font-size:16px; }
 .home-work-meta small { display:none; }
 .home-contact { margin:24px; grid-template-columns:.75fr 1.25fr; }
 .home-contact-copy { padding:34px 26px; }
 .home-contact h2 { font-size:31px; }
 .home-contact-copy .btn { padding:12px 18px; }
}
@media (max-width:650px) {
 .home-hero { padding:112px 0 28px; }
 .home-hero-grid { grid-template-columns:1fr; gap:30px; }
 .home-intro { padding-top:16px; }
 .home-intro h1 { font-size:clamp(36px,9.6vw,58px); line-height:1.08; }
 .home-intro .eyebrow { font-size:8px; margin-bottom:22px; }
 .home-lede { font-size:14px; max-width:460px; }
 .home-intro .hero-actions { gap:16px; margin-top:24px; }
 .home-intro-note { margin-top:24px; font-size:10px; }
 .home-visual { max-width:460px; width:100%; margin:0 auto; }
 .home-glass-label { font-size:10px; padding:12px; }
 .home-visual-index { display:none; }
 .home-visual-main > span { font-size:8px; padding-inline:12px; }
 .home-brands { padding:20px 0; }
 .home-brands-inner { flex-direction:column; align-items:start; gap:16px; }
 .home-brands-inner > p br { display:none; }
 .home-brands-inner > p strong { margin-left:4px; }
 .home-brands-inner > div { width:100%; gap:14px 20px; justify-content:flex-start; }
 .home-brands-inner > div span { font-size:12px; }
 .home-section { padding:46px 0; }
 .home-section-heading { flex-direction:column; align-items:start; gap:20px; margin-bottom:26px; }
 .home-section h2,.home-contact h2 { font-size:30px; }
 .home-section-heading > p { max-width:none; font-size:13px; }
 .home-work-grid { grid-template-columns:1fr; gap:26px; }
 .home-work-image { aspect-ratio:1.15; }
 .home-work-meta h3 { font-size:18px; }
 .home-work-meta small { display:block; }
 .home-approach-grid { grid-template-columns:1fr; gap:32px; }
 .home-method-grid { grid-template-columns:1fr; gap:26px; }
 .home-method-step h3 { margin-top:12px; }
 .home-method-step { padding-top:18px; }
 .home-contact { margin:18px; grid-template-columns:1fr; }
 .home-contact-image { padding:16px; }
 .home-contact-copy { padding:32px 22px; }
 .home-contact-copy .eyebrow { font-size:8px; }
 .home-contact-copy .btn { font-size:9px; padding-inline:16px; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 .home-visual a,.home-work-image { transition:none; }
 .home-visual a:hover { translate:none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .home-glass-label,.home-service { background:var(--panel); }
}
