/* Anymus Lab: the same family as System, with a quieter, bench-led identity. */
.repair-site { --ease-out: cubic-bezier(.23,1,.32,1); --accent: #69e3dc; }
.repair-site .site-header nav { gap: 23px; }
.repair-site .btn { transition: transform 160ms var(--ease-out), box-shadow 160ms ease; }
.repair-site .btn:hover { transform: none; }
.repair-site .btn:active, .repair-service-controls button:active, .repair-site .menu-button:active { transform: scale(.97); }
.repair-site .text-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; }
.repair-site .primary { background: linear-gradient(110deg,#7aeee5,#28d7d5 52%,#18b7cc); }
.repair-hero { display: grid; grid-template-columns: 1.04fr 1fr; gap: 50px; align-items: center; padding-block: 76px 68px; }
.repair-hero h1 { font-size: clamp(43px,4.6vw,68px); font-weight: 620; letter-spacing: -.052em; line-height: 1.08; }
.repair-hero .eyebrow { font-size: 9px; letter-spacing: .15em; margin-bottom: 25px; }
.repair-lead { color: #a2b6c4; font-size: 16px; line-height: 1.85; max-width: 450px; margin-top: 26px; }
.repair-hero .actions { margin-top: 28px; gap: 12px; }
.repair-hero-note { margin-top: 20px; font-size: 11px; color: #8ca7b6; }
.repair-visual { min-width: 0; margin: 0; border: 1px solid #59888d3b; border-radius: 18px; background: radial-gradient(ellipse at 48% 45%,#2dbcc718,transparent 64%),linear-gradient(145deg,#112631a8,#091520); overflow: hidden; }
.repair-visual-top { display: flex; justify-content: space-between; gap: 20px; padding: 24px 25px 0; color: #8eb5be; font: 9px/1.5 Consolas,monospace; letter-spacing: .09em; }
.repair-visual-top span:last-child { color: #567785; }
.repair-board-stage { position: relative; height: 365px; display: grid; place-items: center; isolation: isolate; }
.repair-board-grid { position: absolute; inset: 20px 0; z-index: -1; background-image: linear-gradient(#88c4c609 1px,transparent 1px),linear-gradient(90deg,#88c4c609 1px,transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(ellipse,#000 25%,transparent 70%); }
.repair-board { width: 107%; max-width: none; transform: perspective(1000px) rotateX(14deg) rotateY(-10deg) rotateZ(-10deg); filter: drop-shadow(0 22px 15px #0007); }
.repair-board-note { position: absolute; bottom: 22px; left: 25px; display: flex; gap: 9px; align-items: center; padding: 9px 13px; background: #11252fdf; border: 1px solid #6eb7bd38; border-radius: 7px; color: #b8d6d8; font-size: 10px; }
.repair-board-note>span { width: 5px; height: 5px; border-radius: 50%; background: #68ddd4; }
.repair-visual figcaption { padding: 18px 25px; border-top: 1px solid #8bc8c51a; display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 12px; color: #c1d8dc; }
.repair-visual figcaption small { color: #6e8e9d; font-size: 9px; }
.repair-principles { border-block: 1px solid var(--border); }
.repair-principles>.wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; }
.repair-principles span { font-size: 8px; letter-spacing: .14em; color: #6f8c9a; }
.repair-principles p { font-size: 11px; color: #adc6ce; }
.repair-principles p::before { content: ''; display: inline-block; width: 4px; height: 4px; background: #51aaa9; border-radius: 50%; vertical-align: middle; margin-right: 10px; }
.repair-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 34px; }
.repair-section-heading h2 { font-size: clamp(32px,3.3vw,46px); font-weight: 600; letter-spacing: -.045em; }
.repair-section-heading .eyebrow { margin-bottom: 17px; font-size: 9px; }
.repair-section-heading>p { color: #8fa8b7; font-size: 12px; line-height: 1.8; text-align: right; max-width: 300px; padding-bottom: 4px; }
.repair-services { padding-block: 86px; }
.repair-service-controls { display: flex; align-items: stretch; gap: 8px; padding: 6px; margin-bottom: 18px; border: 1px solid #70929f2a; background: #101f2a; border-radius: 12px; }
.repair-service-controls[hidden] { display: none; }
.repair-service-controls button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 54px; padding: 13px 17px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #a8bfcb; font-size: 13px; cursor: pointer; transition: background-color 160ms ease,color 160ms ease,transform 140ms var(--ease-out); }
.repair-service-controls button>span { color: #5b8794; font: 10px Consolas,monospace; }
.repair-service-controls button[aria-pressed="true"] { color: #dcf7f3; background: #23515466; border-color: #70c7c22b; }
.repair-service-controls button[aria-pressed="true"]>span { color: #70d8ce; }
.repair-service-panels { display: grid; gap: 18px; }
.repair-service-panel { display: grid; grid-template-columns: .92fr 1.08fr; gap: 52px; align-items: center; min-height: 400px; padding: 36px 46px 36px 24px; background: linear-gradient(115deg,#122a368c,#0c1b28b3); border: 1px solid #739daa36; border-radius: 16px; }
.repair-service-panel[hidden] { display: none; }
.repair-device-art { min-width: 0; display: flex; flex-direction: column; align-items: center; }
.repair-device-art svg { width: 100%; max-width: 410px; filter: drop-shadow(0 22px 12px #0005); }
.repair-device-art>span { color: #6e93a2; font: 9px Consolas,monospace; letter-spacing: .09em; margin-top: 6px; }
.repair-device-photo { position: relative; padding-block: 4px; }
.repair-device-photo-stage { position: relative; width: 100%; height: 300px; background: radial-gradient(ellipse at 50% 55%,#1e51573b,transparent 68%); }
.repair-device-photo-stage>img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
/* Crop only the generous transparent canvas, never the equipment silhouette. */
.repair-device-video .repair-device-photo-stage,.repair-device-notebook .repair-device-photo-stage { height: auto; aspect-ratio: 1.45; overflow: hidden; }
.repair-device-video .repair-device-photo-stage>img { object-fit: cover; object-position: 50% 70%; }
.repair-device-notebook .repair-device-photo-stage>img { object-fit: cover; object-position: 50% 55%; }
.repair-device-photo>span { margin-top: 14px; color: #b3ccd4; text-align: center; font: 10px/1.5 'Segoe UI',sans-serif; letter-spacing: .01em; }
.repair-device-photo>small { margin-top: 5px; color: #7895a3; font-size: 9px; line-height: 1.6; text-align: center; }
.repair-service-copy { min-width: 0; }
.repair-service-copy .eyebrow { margin-bottom: 14px; font-size: 9px; }
.repair-service-copy h3 { font-size: clamp(25px,2.6vw,34px); max-width: 380px; line-height: 1.17; letter-spacing: -.04em; }
.repair-service-copy>p:not(.eyebrow) { color: #a1b7c5; line-height: 1.85; font-size: 13px; margin-top: 17px; max-width: 480px; }
.repair-service-copy ul { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.repair-service-copy li { padding: 6px 10px; border: 1px solid #82aaa32b; border-radius: 5px; color: #afcbd0; font-size: 10px; }
.repair-service-copy>p.repair-service-note { font-size: 11px; color: #809ead; }
.repair-service-copy .text-link { margin-top: 13px; }
.repair-process-section { padding-block: 78px; border-block: 1px solid var(--border); background: linear-gradient(120deg,#10263266,#0a172080); }
.repair-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; list-style: none; padding: 0; margin: 44px 0 35px; }
.repair-steps li { padding-top: 18px; border-top: 1px solid #74989e38; }
.repair-steps li>span { display: block; font: 11px Consolas,monospace; color: #62bcb6; margin-bottom: 20px; }
.repair-steps h3 { font-size: 18px; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 12px; }
.repair-steps p { color: #90a9b9; font-size: 12px; line-height: 1.85; max-width: 260px; }
.repair-conditions { display: flex; align-items: center; gap: 20px; max-width: 930px; padding-top: 28px; border-top: 1px solid #709da026; }
.repair-conditions img { flex: 0 0 36px; }
.repair-conditions p { color: #819eaf; font-size: 11px; line-height: 1.9; }
.repair-conditions strong { font-weight: 600; color: #b8cdd5; }
.repair-about { display: grid; grid-template-columns: .55fr 1fr; align-items: center; gap: 74px; padding-block: 86px; border-bottom: 1px solid var(--border); }
.repair-about-mark { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 20px; min-height: 250px; background: radial-gradient(ellipse,#1f636a1a,transparent 67%); }
.repair-about-mark>span { color: #608791; font: 9px Consolas,monospace; letter-spacing: .2em; }
.repair-about h2 { font-size: clamp(28px,3.1vw,42px); }
.repair-about .eyebrow { font-size: 9px; margin-bottom: 18px; }
.repair-about p:not(.eyebrow) { font-size: 13px; color: #92acbc; line-height: 1.9; max-width: 610px; margin-top: 19px; }
.repair-reballing .repair-about-mark svg { width: 290px; max-width: 100%; filter: drop-shadow(0 18px 16px #0005); }
.repair-reballing .text-link { margin-top: 14px; }
.repair-instagram { padding-top: 76px; }
.repair-instagram .repair-section-heading { align-items: center; }
.repair-instagram .repair-section-heading>.text-link { flex-shrink: 0; }
.repair-instagram-intro { display: flex; align-items: center; gap: 24px; padding: 28px; background: #10222e; border: 1px solid #739daa36; border-radius: 14px; }
.repair-instagram-intro>svg { color: #69d9d4; flex-shrink: 0; }
.repair-instagram-intro h3 { font-size: 18px; letter-spacing: -.025em; }
.repair-instagram-intro p { font-size: 12px; color: #91aebd; margin-top: 8px; max-width: 470px; }
.repair-instagram-intro .btn { margin-left: auto; border: 0; flex-shrink: 0; cursor: pointer; }
.repair-instagram-posts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.repair-instagram-post { min-width: 0; scroll-snap-align: start; }
.repair-instagram-frame { background: #fff; height: 590px; border: 1px solid #668f9b55; border-radius: 12px; overflow: hidden; }
.repair-instagram-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.repair-instagram-post>.text-link { min-height: 48px; font-size: 11px; }
.repair-instagram-status { margin-top: 16px; font-size: 12px; color: #a5bdc9; }
.repair-instagram-status:empty { display: none; }
.repair-instagram-note { margin-top: 12px; color: #7897a8; font-size: 11px; }
.repair-instagram-intro[hidden], .repair-instagram-posts[hidden], [data-instagram-load][hidden] { display: none; }
.repair-faq { padding-block: 78px; gap: 60px; }
.repair-faq h2 { font-size: clamp(30px,3.3vw,44px); }
.repair-faq .eyebrow { font-size: 9px; margin-bottom: 17px; }
.repair-faq summary { min-height: 64px; }
.repair-contact { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 48px; padding: 48px 50px; border: 1px solid #5daba65e; border-radius: 16px; background: radial-gradient(ellipse at 0 0,#277c703b,transparent 68%),#102630; }
.repair-contact .eyebrow { font-size: 9px; margin-bottom: 20px; }
.repair-contact h2 { font-size: clamp(30px,3.2vw,43px); }
.repair-contact p { margin-top: 20px; color: #a2bcc8; font-size: 13px; line-height: 1.8; max-width: 420px; }
.repair-contact-info { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 0; padding-top: 28px; border-top: 1px solid #709da038; }
.repair-contact-info>div { min-width: 0; }
.repair-contact-info dt { color: #94b1be; font-size: 11px; margin-bottom: 10px; }
.repair-contact-info dd { margin: 0; color: #dcf0ee; font-size: 16px; font-weight: 600; line-height: 1.5; }
.repair-contact-info small { display: block; margin-top: 7px; color: #a2bcc8; font-size: 11px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
.repair-contact-action { justify-self: end; }
.repair-contact-action small { display: block; margin-top: 12px; color: #a2bcc8; font-size: 11px; }
.repair-contact-action .contact-pending { color: #cde6e6; font-size: 14px; }
.repair-contact-action>p { max-width: 260px; font-size: 12px; margin-top: 12px; }
.repair-contact-action>.text-link { margin-top: 13px; font-size: 11px; }
.repair-contact-note { display: block; margin-top: 23px; color: #799baa; font-size: 10px; }
.repair-software { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding-block: 58px; }
.repair-software .eyebrow { font-size: 8px; margin-bottom: 10px; color: #7da7af; }
.repair-software h2 { font-size: 23px; }
.repair-software p:not(.eyebrow) { max-width: 550px; font-size: 12px; color: #8ba6b6; margin-top: 10px; }
.repair-software .text-link { flex-shrink: 0; }
@media(hover:hover) and (pointer:fine) {
    .repair-site .btn:hover { transform: translateY(-2px); }
    .repair-site .btn:active { transform: scale(.97); }
    .repair-service-controls button:hover { color: #def6f2; background-color: #21404a66; }
    .repair-faq summary:hover { color: var(--accent); }
}
@media(max-width:1100px) {
    .repair-site .site-header nav { gap: 16px; font-size: 11px; }
    .repair-site .login-link { padding-inline: 12px; }
    .repair-site .login-link span { margin-left: 5px; }
    .repair-hero { gap: 28px; padding-block: 58px; }
    .repair-hero h1 { font-size: 52px; }
    .repair-lead { font-size: 14px; }
    .repair-hero .btn { padding-inline: 15px; gap: 15px; }
    .repair-board-stage { height: 330px; }
    .repair-service-panel { gap: 30px; padding: 30px; }
    .repair-steps { gap: 20px; }
    .repair-steps h3 { font-size: 16px; }
    .repair-about { gap: 45px; }
    .repair-instagram-posts { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(360px,100%); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding-bottom: 12px; }
    .repair-instagram-intro { flex-wrap: wrap; gap: 20px; }
    .repair-instagram-intro .btn { margin-left: 60px; }
}
@media(max-width:850px) {
    .repair-site .site-header nav { font-size: 13px; gap: 4px; }
    .repair-site .site-header nav a { min-height: 44px; }
    .repair-hero { grid-template-columns: 1fr 1fr; gap: 22px; }
    .repair-hero h1 { font-size: 43px; }
    .repair-hero .actions { flex-direction: column; align-items: start; }
    .repair-visual-top { padding: 20px 18px 0; font-size: 8px; }
    .repair-board-stage { height: 290px; }
    .repair-board-note { left: 15px; bottom: 16px; font-size: 8px; padding: 8px; }
    .repair-visual figcaption { padding: 16px 18px; font-size: 10px; flex-wrap: wrap; gap: 5px; }
    .repair-principles>.wrap { gap: 16px; flex-wrap: wrap; padding-block: 18px; justify-content: center; }
    .repair-principles span { flex-basis: 100%; text-align: center; }
    .repair-services { padding-block: 64px; }
    .repair-service-panel { grid-template-columns: .8fr 1.2fr; gap: 20px; padding: 27px; }
    .repair-service-controls button { font-size: 12px; padding-inline: 12px; gap: 10px; }
    .repair-steps { grid-template-columns: 1fr 1fr; gap: 32px; }
    .repair-about { grid-template-columns: .4fr 1fr; gap: 32px; padding-block: 64px; }
    .repair-about-mark { min-height: 180px; }
    .repair-contact { gap: 30px; padding: 36px; }
    .repair-contact-info { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
    .repair-contact .btn { padding-inline: 16px; gap: 12px; }
}
@media(max-width:600px) {
    .repair-hero { grid-template-columns: 1fr; gap: 30px; padding: 42px 0 34px; }
    .repair-hero h1 { font-size: clamp(39px,10.3vw,58px); }
    .repair-hero .eyebrow { font-size: 8px; margin-bottom: 21px; }
    .repair-lead { margin-top: 21px; font-size: 14px; max-width: 430px; }
    .repair-hero .actions { align-items: stretch; margin-top: 25px; }
    .repair-hero .btn { justify-content: space-between; min-height: 50px; padding-inline: 19px; }
    .repair-hero-note { margin-top: 16px; font-size: 10px; }
    .repair-visual { border-radius: 13px; }
    .repair-visual-top { padding: 18px 20px 0; }
    .repair-board-stage { height: 275px; }
    .repair-board { width: 105%; max-width: 430px; }
    .repair-board-note { left: 20px; bottom: 13px; font-size: 9px; }
    .repair-visual figcaption { padding: 15px 20px; justify-content: space-between; }
    .repair-principles>.wrap { gap: 12px 18px; }
    .repair-principles p { font-size: 10px; }
    .repair-principles p::before { margin-right: 6px; }
    .repair-services { padding-block: 46px; }
    .repair-section-heading { flex-direction: column; align-items: start; gap: 18px; margin-bottom: 25px; }
    .repair-section-heading h2 { font-size: 33px; }
    .repair-section-heading>p { text-align: left; font-size: 12px; max-width: 100%; }
    .repair-section-heading>p br { display: none; }
    .repair-section-heading .eyebrow { font-size: 8px; margin-bottom: 14px; }
    .repair-service-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 4px; gap: 4px; border-radius: 10px; }
    .repair-service-controls button { padding: 10px 8px; min-width: 0; min-height: 48px; gap: 0; font-size: 11px; line-height: 1.35; }
    .repair-service-controls button>span { display: none; }
    .repair-service-panel { grid-template-columns: 1fr; gap: 23px; padding: 22px; min-height: 0; border-radius: 12px; }
    .repair-device-art svg { max-width: 290px; height: 170px; }
    .repair-device-photo-stage { height: 230px; }
    .repair-device-art>span { font-size: 8px; }
    .repair-service-copy h3 { font-size: 28px; }
    .repair-service-copy>p:not(.eyebrow) { font-size: 13px; margin-top: 15px; }
    .repair-service-copy .text-link { font-size: 11px; margin-top: 10px; }
    .repair-service-copy ul { margin-block: 18px; }
    .repair-service-copy>p.repair-service-note { font-size: 11px; }
    .repair-process-section { padding-block: 46px; }
    .repair-steps { grid-template-columns: 1fr; gap: 23px; margin-block: 27px; }
    .repair-steps li { display: grid; grid-template-columns: 26px 1fr; gap: 0 14px; padding-top: 20px; }
    .repair-steps li>span { grid-row: span 2; margin-top: 3px; margin-bottom: 0; }
    .repair-steps h3 { font-size: 18px; margin-bottom: 8px; }
    .repair-steps p { max-width: none; font-size: 12px; }
    .repair-conditions { align-items: start; gap: 14px; padding-top: 23px; }
    .repair-conditions img { width: 28px; height: 28px; flex-basis: 28px; margin-top: 4px; }
    .repair-conditions p { font-size: 11px; }
    .repair-about { grid-template-columns: 1fr; gap: 26px; padding-block: 44px; }
    .repair-about-mark { min-height: 0; flex-direction: row; justify-content: start; gap: 15px; background: none; }
    .repair-about-mark img { width: 46px; height: 46px; }
    .repair-about-mark>span { font-size: 9px; }
    .repair-about h2 { font-size: 30px; }
    .repair-about h2 br { display: none; }
    .repair-about .eyebrow { font-size: 8px; margin-bottom: 15px; }
    .repair-about p:not(.eyebrow) { margin-top: 15px; font-size: 13px; }
    .repair-reballing .repair-about-mark { flex-direction: column; align-items: start; gap: 10px; }
    .repair-reballing .repair-about-mark svg { width: 210px; height: 147px; }
    .repair-instagram { padding-top: 42px; }
    .repair-instagram .repair-section-heading { align-items: start; gap: 12px; }
    .repair-instagram-intro { padding: 22px; gap: 16px; }
    .repair-instagram-intro>svg { width: 30px; height: 30px; }
    .repair-instagram-intro>div { flex: 1; min-width: 170px; }
    .repair-instagram-intro h3 { font-size: 16px; line-height: 1.35; }
    .repair-instagram-intro p { font-size: 11px; line-height: 1.8; }
    .repair-instagram-intro .btn { margin-left: 0; width: 100%; justify-content: space-between; }
    .repair-instagram-posts { grid-auto-columns: 100%; gap: 16px; }
    .repair-instagram-frame { height: 570px; }
    .repair-instagram-status { font-size: 11px; }
    .repair-faq { padding-block: 44px; gap: 22px; }
    .repair-faq h2 { font-size: 32px; }
    .repair-faq .eyebrow { font-size: 8px; }
    .repair-faq summary { font-size: 13px; }
    .repair-contact { grid-template-columns: 1fr; gap: 26px; padding: 26px; border-radius: 12px; }
    .repair-contact .eyebrow { font-size: 8px; line-height: 1.7; margin-bottom: 15px; }
    .repair-contact h2 { font-size: 31px; }
    .repair-contact p { font-size: 12px; margin-top: 17px; }
    .repair-contact-action { justify-self: stretch; }
    .repair-contact-action .btn { width: 100%; justify-content: space-between; }
    .repair-contact-info { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; }
    .repair-contact-info dt { margin-bottom: 5px; }
    .repair-contact-info small { margin-top: 4px; }
    .repair-contact-note { margin-top: 18px; }
    .repair-software { flex-direction: column; align-items: start; gap: 13px; padding-block: 38px; }
    .repair-software .eyebrow { font-size: 8px; }
    .repair-site .site-footer { padding-block: 24px; }
}
@media(prefers-reduced-motion:reduce) {
    html:has(.repair-site) { scroll-behavior: auto; }
    .repair-site *, .repair-site *::before, .repair-site *::after { transition: none!important; animation: none!important; scroll-behavior: auto!important; }
    .repair-board { transform: none; }
}
