.tefa-page { min-height:100vh; background:radial-gradient(circle at 82% 12%,rgba(98,182,154,.09),transparent 28rem),#0b1720; color:#f3f6f7; }
.tefa-page main { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.tefa-hero { min-height:420px; padding:70px 0 56px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:center; gap:44px; }
.tefa-hero-copy { max-width:650px; }
.tefa-eyebrow,.tefa-section-heading>span,.tefa-contact-copy>span { display:inline-flex; align-items:center; gap:8px; color:#8ccfbc; font-size:12px; font-weight:700; letter-spacing:.12em; }
.tefa-hero h1 { margin:18px 0 16px; font-size:clamp(38px,5vw,62px); line-height:1.04; letter-spacing:-.045em; }
.tefa-hero h1 em,.tefa-section-heading h2 em { color:#8ccfbc; font-style:normal; }
.tefa-hero-copy>p { max-width:590px; color:#b5c1c8; font-size:15px; line-height:1.8; }
.tefa-hero-link { margin-top:26px; display:inline-flex; align-items:center; gap:10px; color:#a4d8c8; font-size:13px; font-weight:650; }
.tefa-hero-art { position:relative; width:min(100%,360px); aspect-ratio:1; justify-self:center; display:grid; place-items:center; }
.tefa-art-orbit { position:absolute; border:1px solid rgba(140,207,188,.18); border-radius:50%; }
.orbit-one { inset:7%; transform:rotate(-22deg) scaleY(.72); }
.orbit-two { inset:16%; transform:rotate(40deg) scaleY(.75); border-color:rgba(140,184,204,.19); }
.tefa-art-core { width:138px; height:138px; display:grid; place-content:center; justify-items:center; gap:8px; border:1px solid rgba(140,207,188,.35); border-radius:36px; background:linear-gradient(145deg,rgba(98,182,154,.16),rgba(255,255,255,.03)); box-shadow:0 0 70px rgba(98,182,154,.12); transform:rotate(-5deg); }
.tefa-art-core i { color:#8ccfbc; font-size:38px; }
.tefa-art-core span { color:#eef6f3; font-size:14px; font-weight:800; letter-spacing:.18em; }
.tefa-art-tag { position:absolute; width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:14px; color:#9bcabd; background:#142631; font-size:17px; }
.tag-camera { top:17%; left:17%; }.tag-code { top:22%; right:14%; }.tag-network { right:19%; bottom:15%; }
.tefa-services { padding:20px 0 64px; }
.tefa-section-heading { max-width:670px; margin:0 auto 32px; text-align:center; }
.tefa-section-heading h2 { margin:12px 0 12px; font-size:clamp(30px,4vw,44px); line-height:1.12; letter-spacing:-.035em; }
.tefa-section-heading p { color:#9cabb2; font-size:13px; line-height:1.75; }
.tefa-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.tefa-card { position:relative; min-height:215px; padding:22px; overflow:hidden; border:1px solid rgba(255,255,255,.085); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); transition:transform .25s,border-color .25s,background .25s; }
.tefa-card:hover { transform:translateY(-4px); border-color:rgba(140,207,188,.35); background:linear-gradient(145deg,rgba(98,182,154,.09),rgba(255,255,255,.025)); }
.tefa-card-number { position:absolute; top:18px; right:19px; color:rgba(207,222,226,.36); font-size:11px; font-weight:700; letter-spacing:.08em; }
.tefa-card-icon { width:40px; height:40px; margin-bottom:18px; display:grid; place-items:center; border:1px solid rgba(98,182,154,.2); border-radius:12px; color:#8ccfbc; background:rgba(98,182,154,.08); font-size:18px; }
.tefa-card h3 { margin:0 0 8px; color:#edf3f4; font-size:15px; line-height:1.35; }
.tefa-card p { margin:0; color:#aebdc4; font-size:12px; line-height:1.7; }
.tefa-card-type { display:inline-block; margin-top:15px; color:#82c8b4; font-size:10px; letter-spacing:.04em; }
.tefa-contact { margin:8px 0 76px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid rgba(140,207,188,.2); border-radius:18px; background:linear-gradient(110deg,rgba(98,182,154,.11),rgba(140,184,204,.055)); }
.tefa-contact-copy>span { font-size:10px; text-transform:uppercase; }
.tefa-contact-copy h2 { margin:7px 0; font-size:22px; }
.tefa-contact-copy p { max-width:610px; margin:0; color:#aebdc4; font-size:12px; line-height:1.65; }
.tefa-contact-button { flex:none; min-height:44px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; color:#092019; background:linear-gradient(100deg,#75c4ab,#9ac7d2); font-size:12px; font-weight:700; }
.tefa-contact-button:hover { filter:brightness(1.06); }
@media(max-width:900px) { .tefa-hero { min-height:auto; grid-template-columns:1fr .65fr; gap:20px; padding:56px 0 42px; }.tefa-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .tefa-page main { width:calc(100% - 36px); }.tefa-hero { grid-template-columns:1fr; padding:42px 0 34px; gap:10px; }.tefa-hero h1 { font-size:40px; }.tefa-hero-copy>p { font-size:13px; }.tefa-hero-link { margin-top:18px; }.tefa-hero-art { width:200px; margin:0 auto; }.tefa-art-core { width:98px;height:98px;border-radius:28px; }.tefa-art-core i { font-size:28px; }.tefa-art-tag { width:36px;height:36px;border-radius:11px; }.tefa-services { padding:12px 0 42px; }.tefa-section-heading { margin-bottom:24px; text-align:left; }.tefa-section-heading h2 { font-size:32px; }.tefa-grid { grid-template-columns:1fr; gap:11px; }.tefa-card { min-height:0; padding:18px; }.tefa-card-icon { margin-bottom:13px; }.tefa-contact { margin:4px 0 48px; padding:22px 18px; align-items:stretch; flex-direction:column; gap:18px; }.tefa-contact-button { width:100%; } }


.tefa-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:26px; }
.tefa-hero-actions .tefa-hero-link { margin-top:0; }
.tefa-hero-order-link { padding:10px 15px; border:1px solid rgba(140,207,188,.27); border-radius:999px; background:rgba(98,182,154,.07); }
.tefa-order { margin:12px 0 46px; padding:clamp(22px,4vw,38px); display:grid; grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr); gap:34px; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:linear-gradient(145deg,rgba(22,41,51,.98),rgba(16,32,41,.98)); box-shadow:0 24px 60px rgba(0,0,0,.16); scroll-margin-top:28px; }
.tefa-order-intro h2 { margin:13px 0 12px; font-size:clamp(27px,3vw,36px); line-height:1.1; letter-spacing:-.035em; }
.tefa-order-intro>p { color:#aebdc4; font-size:12px; line-height:1.75; }
.tefa-order-note { display:flex; align-items:flex-start; gap:9px; margin-top:18px; padding:12px; border:1px solid rgba(140,184,204,.13); border-radius:12px; color:#aebdc4; background:rgba(255,255,255,.025); font-size:10px; line-height:1.65; }
.tefa-order-note i { color:#8ccfbc; }
.tefa-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.tefa-form-grid label { display:grid; align-content:start; gap:7px; color:#dce5e8; font-size:11px; font-weight:650; }
.tefa-form-grid label>span { color:#8ccfbc; }
.tefa-form-grid label small { color:#94a5ad; font-size:10px; font-weight:400; }
.tefa-form-grid input,.tefa-form-grid select,.tefa-form-grid textarea { width:100%; min-height:42px; padding:10px 12px; border:1px solid rgba(255,255,255,.12); border-radius:9px; outline:0; color:#edf3f4; background:#0e1c25; font:400 12px var(--body); }
.tefa-form-grid textarea { min-height:100px; resize:vertical; line-height:1.6; }
.tefa-form-grid input::placeholder,.tefa-form-grid textarea::placeholder { color:#778992; }
.tefa-form-grid select:invalid { color:#778992; }
.tefa-form-grid option { color:#edf3f4; background:#0e1c25; }
.tefa-form-grid input:focus,.tefa-form-grid select:focus,.tefa-form-grid textarea:focus { border-color:#70bea8; box-shadow:0 0 0 3px rgba(98,182,154,.11); }
.tefa-field-wide { grid-column:1/-1; }
.tefa-order-consent { display:flex; align-items:flex-start; gap:9px; margin-top:18px; color:#aebdc4; font-size:10px; line-height:1.6; }
.tefa-order-consent input { flex:none; width:15px; height:15px; margin-top:1px; accent-color:#62b69a; }
.tefa-order-submit { min-height:43px; margin-top:15px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; border-radius:999px; color:#092019; background:linear-gradient(100deg,#75c4ab,#9ac7d2); font:700 11px var(--body); cursor:pointer; }
.tefa-order-submit:hover { filter:brightness(1.06); }
.tefa-order-privacy,.tefa-order-feedback { margin:10px 0 0; color:#8597a0; font-size:10px; line-height:1.6; }
.tefa-order-privacy { display:flex; align-items:flex-start; gap:6px; }
.tefa-order-privacy i { color:#83c5b3; }
.tefa-order-feedback { color:#8ccfbc; }
@media(max-width:900px) { .tefa-order { grid-template-columns:1fr; gap:22px; } }
@media(max-width:640px) { .tefa-hero-actions { gap:10px 16px; margin-top:18px; }.tefa-hero-order-link { padding:9px 12px; }.tefa-order { margin:8px 0 32px; padding:20px 16px; border-radius:16px; }.tefa-form-grid { grid-template-columns:1fr; gap:13px; }.tefa-field-wide { grid-column:auto; }.tefa-order-submit { width:100%; } }


/* Mobile service cards: compact two-column layout. */
@media (max-width: 640px) {
    .tefa-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .tefa-card {
        min-height: 220px;
        padding: 15px 13px;
        border-radius: 15px;
    }

    .tefa-card-number {
        top: 13px;
        right: 13px;
        font-size: 10px;
    }

    .tefa-card-icon {
        width: 35px;
        height: 35px;
        margin-bottom: 13px;
        border-radius: 11px;
        font-size: 16px;
    }

    .tefa-card h3 {
        margin-bottom: 7px;
        font-size: 13px;
        line-height: 1.35;
    }

    .tefa-card p {
        font-size: 11px;
        line-height: 1.6;
    }

    .tefa-card-type {
        margin-top: 11px;
        font-size: 9px;
        line-height: 1.4;
    }
}

@media (max-width: 360px) {
    .tefa-grid { gap: 8px; }
    .tefa-card { min-height: 230px; padding: 13px 11px; }
    .tefa-card h3 { font-size: 12px; }
    .tefa-card p { font-size: 10px; }
}
