.aesthetic-landing { background:#fff; }
.af-main { --af-ink:#193f4b; --af-muted:#526e77; --af-teal:#246d69; color:var(--af-ink); }
.af-main * { box-sizing:border-box; }
.af-main [hidden] { display:none !important; }
.af-main section[id], .af-main article[id], .af-automation-point { scroll-margin-top:110px; }
.af-container { width:calc(100% - 64px); max-width:1240px; margin-inline:auto; }
.af-main h1,.af-main h2,.af-main h3 { color:var(--af-ink); }
.af-main p { color:var(--af-muted); font-size:18px; line-height:1.8; }
.af-main a:focus-visible,.af-main button:focus-visible { outline:3px solid #459d9b; outline-offset:5px; }
.af-section { padding:90px 0; }
.af-soft { background:#f3f7f4; }
.af-eyebrow { font-size:14px !important; line-height:1.6 !important; color:#38786f !important; letter-spacing:1.4px; font-weight:700; text-transform:uppercase; margin-bottom:22px; }
.af-heading { max-width:810px; margin-bottom:38px; }
.af-heading h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.16; letter-spacing:-1.4px; margin-bottom:22px; }
.af-heading > p:last-child { margin-bottom:0; }
.af-heading-split { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:end; }
.af-heading-split > p { max-width:530px; padding-bottom:20px; }
.af-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.af-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:50px; padding:15px 23px; border-radius:9px; background:#235d68; color:#fff; border:1px solid #235d68; font-size:16px; line-height:1.5; font-weight:700; box-shadow:0 8px 20px #21545c15; }
.af-button:hover { background:#173f4b; }
.af-link { display:inline-flex; align-items:center; gap:14px; font-size:16px; font-weight:700; color:#2f6967; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.af-hero { padding:75px 0 85px; background:radial-gradient(ellipse at 90% 30%,#d7ebe3,transparent 60%),#f5f8f3; overflow:hidden; }
.af-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:50px; align-items:center; }
.af-hero h1 { font-size:clamp(38px,4.1vw,58px); line-height:1.12; letter-spacing:-2px; }
.af-hero h1 em { font-style:normal; color:#3c7b6b; }
.af-lead { margin:26px 0; }
.af-hero-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.af-hero-points span,.af-tags span { font-size:14px; color:#466a61; border:1px solid #c8dcd1; border-radius:24px; padding:7px 12px; background:#ffffff80; }
.af-hero-art { position:relative; padding:25px 0 35px; }
.af-hero-photo { position:relative; width:100%; height:530px; object-fit:cover; object-position:78% center; border-radius:140px 25px 25px 25px; box-shadow:0 24px 65px #244b3b20; }
.af-photo-label { position:absolute; bottom:55px; left:20px; right:20px; padding:12px; font-size:14px; text-align:center; background:#ffffffd9; color:#335e53; border-radius:8px; }
.af-floating { position:absolute; display:flex; align-items:center; gap:12px; background:#fffffff5; border:1px solid #d0e3d9; padding:17px; border-radius:14px; box-shadow:0 12px 32px #2e594620; z-index:1; }
.af-floating svg { width:30px; height:30px; color:#397d6c; flex-shrink:0; }
.af-floating strong { display:block; font-size:16px; }
.af-floating span { display:block; font-size:14px; color:#547367; margin-top:4px; }
.af-float-search { left:-28px; top:55px; }
.af-float-lead { right:-10px; bottom:0; }
.af-orbit { position:absolute; width:95px; height:95px; border:1px dashed #71a792; border-radius:50%; right:-28px; top:-10px; pointer-events:none; }
.af-jump { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding-block:32px; border-bottom:1px solid #dce7e2; }
.af-jump a { font-size:16px; border-right:1px solid #dce7e2; padding:8px 18px 8px 0; }
.af-jump a:last-child { border:0; }
.af-jump span { display:block; font-size:14px; text-transform:uppercase; letter-spacing:1px; color:#618577; margin-bottom:7px; }
.af-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.af-card { background:linear-gradient(140deg,#fff,#f3f8f5); padding:30px; border:1px solid #d5e4dc; border-radius:19px; }
.af-card:nth-child(3n+2) { background:linear-gradient(140deg,#fff,#eef3fc); }
.af-card:nth-child(3n) { background:linear-gradient(140deg,#fff,#f7f0e7); }
.af-icon { display:grid; place-items:center; width:56px; height:56px; background:#e3f0e9; color:#397d6c; border:1px solid #c8dfd4; border-radius:17px; margin-bottom:24px; }
.af-icon svg { width:29px; height:29px; }
.af-card h3 { font-size:23px; line-height:1.3; margin-bottom:14px; }
.af-card p { font-size:16px; margin:0; }
.af-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.af-service { background:#fff; border:1px solid #d3e3dc; border-radius:21px; overflow:hidden; }
.af-service-art { --art:#3d8175; position:relative; display:grid; place-items:center; height:220px; overflow:hidden; background:linear-gradient(135deg,#e1efe7,#f4f8f2); }
.af-art-1,.af-art-4 { --art:#657bab; background:linear-gradient(135deg,#e3ebf8,#f2f5fc); }
.af-art-2,.af-art-5 { --art:#9a7b4c; background:linear-gradient(135deg,#f2e9d8,#f9f6ef); }
.af-art-icon { position:relative; display:grid; place-items:center; width:84px; height:84px; border:1px solid #ffffffee; border-radius:26px; color:var(--art); background:#ffffffb0; box-shadow:0 12px 25px #214e3e12; }
.af-art-icon svg { width:44px; height:44px; }
.af-art-ring { position:absolute; width:200px; height:200px; border:1px solid #ffffffdd; border-radius:50%; box-shadow:0 0 0 24px #ffffff24,0 0 0 48px #ffffff17; }
.af-art-chip { position:absolute; bottom:19px; background:#ffffffe0; border:1px solid #ffffff; border-radius:20px; color:var(--art); font-size:14px; padding:7px 12px; }
.af-art-dot { position:absolute; width:16px; height:16px; border:4px solid #ffffffc0; border-radius:50%; background:var(--art); top:40px; right:65px; }
.af-service-copy { display:flex; flex-direction:column; padding:27px; }
.af-service-copy .af-eyebrow { font-size:14px; margin-bottom:12px; letter-spacing:.7px; }
.af-service h3 { font-size:24px; line-height:1.3; margin-bottom:15px; }
.af-service-copy > p:not(.af-eyebrow) { font-size:16px; }
.af-service .af-link { font-size:16px; }
.af-dark { background:radial-gradient(ellipse at 100% 0,#2d706a,transparent 70%),#163e50; }
.af-dark h2,.af-dark h3 { color:#fff; }
.af-dark p { color:#d2e5e6; }
.af-dark .af-eyebrow { color:#b3dfcd !important; }
.af-automation-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:center; }
.af-automation-point { display:flex; gap:20px; margin-bottom:28px; }
.af-automation-point > svg { width:36px; height:36px; color:#a9d8c7; flex-shrink:0; }
.af-automation-point h3 { font-size:25px; margin-bottom:12px; }
.af-automation-point p { font-size:16px; }
.af-human-note { font-size:14px !important; border-top:1px solid #5c8891; padding-top:20px; }
.af-button-light { background:#d8eee1; border-color:#d8eee1; color:#234d43; }
.af-button-light:hover { background:#fff; }
.af-demo { border:1px solid #83a9aa; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 24px 60px #06233135; color:#193f4b; }
.af-demo-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; background:#f0f5f2; padding:20px; border-bottom:1px solid #d8e4df; }
.af-demo-bar strong { font-size:16px; }
.af-demo-bar > span { font-size:14px; color:#52766b; }
.af-demo-controls { display:flex; padding:16px 20px; gap:8px; border-bottom:1px solid #e0e9e3; }
.af-demo-controls button { flex:1; font:inherit; font-size:16px; border:1px solid #ccded4; border-radius:8px; padding:10px; background:#f7faf8; color:#3b6358; cursor:pointer; }
.af-demo-controls button[aria-pressed=true] { color:#fff; background:#286c67; border-color:#286c67; }
.af-demo-panel { min-height:340px; padding:25px; }
.af-demo-panel h3 { color:#224d49; font-size:24px; margin:14px 0 18px; }
.af-demo-icon svg { width:30px; height:30px; color:#428575; }
.af-bubble { font-size:16px; line-height:1.7; padding:14px; background:#e8f3ef; border-radius:12px 12px 12px 2px; margin:12px 0; max-width:95%; }
.af-bubble-user { margin-left:auto; background:#eef0fa; border-radius:12px 12px 2px 12px; }
.af-demo-panel .af-demo-note { font-size:14px; color:#607c70; margin:18px 0 0; }
.af-demo-panel dl { margin:20px 0; }
.af-demo-panel dl > div { display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid #dae6de; padding:12px 0; font-size:16px; }
.af-demo-panel dd { margin:0; font-weight:700; text-align:right; }
.af-demo-tasks { list-style:none; padding:0; }
.af-demo-tasks li { padding:15px; border:1px solid #cde0d5; border-radius:10px; margin:10px 0; background:#eff6f1; font-size:16px; }
.af-demo-tasks li::before { content:'✓'; color:#398167; padding-right:12px; }
.af-demo-footer { padding:15px 25px; background:#f1f6f2; font-size:14px; color:#577164; }
.af-case { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; }
.af-case-art { padding:20px; background:#e6f0e8; border:1px solid #cbded1; border-radius:22px; }
.af-case-art a { display:block; border-radius:12px; overflow:hidden; background:#fff; }
.af-case-art img { width:100%; }
.af-browser-bar,.af-case-caption { display:flex; justify-content:space-between; padding:15px; font-size:14px; color:#447363; }
.af-case-caption { font-weight:700; }
.af-case .af-heading { margin:0; }
.af-tags { display:flex; flex-wrap:wrap; gap:8px; margin:25px 0; }
.af-process { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.af-process .af-card { padding:24px 20px; }
.af-process h3 { font-size:22px; }
.af-audit { background:radial-gradient(ellipse at 0 100%,#2d6d6e,transparent 75%),#153e52; }
.af-audit-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; align-items:start; }
.af-audit .af-heading { position:sticky; top:120px; }
.af-audit h2 { color:#fff; }
.af-audit p { color:#cfe4e5; }
.af-audit .af-eyebrow { color:#b1d8c7 !important; }
.af-audit-list { list-style:none; padding:0; margin:28px 0; color:#e2f1ea; }
.af-audit-list li { padding:15px 0; border-bottom:1px solid #759ba060; font-size:18px; }
.af-audit-list li::before { content:'✓'; margin-right:12px; color:#b3e1ca; }
.landing-form { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:18px; background:#fff; border:1px solid #cadcdd; border-radius:20px; padding:32px; box-shadow:0 20px 50px #061f3325; }
.landing-form label { display:block; font-size:14px; font-weight:700; color:#31535f; }
.landing-form input,.landing-form select { display:block; width:100%; min-width:0; min-height:48px; margin-top:8px; padding:12px; border:1px solid #b9ccd2; border-radius:8px; background:#fafcfb; color:#284c59; font:inherit; font-size:16px; font-weight:400; }
.landing-form label:has(select),.landing-form .captcha-field,.landing-form > p,.landing-form > button { grid-column:1/-1; }
.landing-form button { min-height:50px; background:#286b68; color:#fff; border:0; border-radius:9px; padding:16px; font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.af-audit .landing-form p { color:#56707a; font-size:14px; margin:0; }
.landing-form a { text-decoration:underline; }
.landing-form .bot-field { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.landing-form .captcha-question { display:block; margin-top:7px; }
.af-main .af-card,.af-main .af-service,.af-case-art { transition:transform 350ms ease,box-shadow 350ms ease,border-color 350ms ease; }
@keyframes af-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes af-ring { from { transform:scale(.94) rotate(0); } to { transform:scale(1.04) rotate(20deg); } }
@media (prefers-reduced-motion:no-preference) {
 .af-visible .af-floating { animation:af-float 4s ease-in-out 2; }
 .af-visible .af-float-lead { animation-delay:.5s; }
 .af-service.af-visible .af-art-icon { animation:af-float 3s ease-in-out 2; }
 .af-service.af-visible .af-art-ring { animation:af-ring 3s ease-in-out 2 alternate; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .af-card:hover,.af-service:hover,.af-case-art:hover { transform:translateY(-6px); border-color:#76aba0; box-shadow:0 18px 35px #2a5b4a17; }
 .af-service:hover .af-art-icon { animation:af-float 2s ease-in-out 2; }
 .af-icon svg,.af-hero-photo,.af-case-art img { transition:transform 700ms ease; }
 .af-card:hover .af-icon svg { transform:rotate(-8deg) scale(1.1); }
 .af-hero-art:hover .af-hero-photo { transform:scale(1.015); }
 .af-case-art:hover img { transform:scale(1.025); }
}
@media(max-width:1100px) {
 .af-hero-grid,.af-case,.af-automation-grid,.af-audit-grid { gap:35px; }
 .af-hero-photo { height:500px; }
 .af-floating { padding:12px; }
 .af-float-search { left:-10px; }
 .af-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .af-process { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .af-container { width:calc(100% - 40px); }
 .af-section { padding:60px 0; }
 .af-hero { padding:40px 0 50px; }
 .af-hero-grid,.af-heading-split,.af-automation-grid,.af-case,.af-audit-grid { grid-template-columns:1fr; gap:32px; }
 .af-hero-art { max-width:600px; width:100%; justify-self:center; }
 .af-hero-photo { height:470px; }
 .af-hero h1 { font-size:clamp(38px,6.5vw,52px); letter-spacing:-1.2px; }
 .af-jump { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .af-three { grid-template-columns:1fr; }
 .af-heading-split > p { padding:0; max-width:none; }
 .af-audit .af-heading { position:static; }
 .af-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
 .af-service-grid,.af-process { grid-template-columns:1fr; }
 .af-actions { align-items:stretch; flex-direction:column; }
 .af-actions .af-link { justify-content:center; }
 .af-hero-photo { height:430px; border-top-left-radius:100px; }
 .af-floating { max-width:95%; }
 .af-float-search { top:25px; left:-5px; }
 .af-float-lead { right:0; bottom:0; }
 .af-floating strong { font-size:14px; }
 .af-floating span { font-size:14px; }
 .af-jump { gap:14px; }
 .af-jump a { font-size:14px; padding-right:8px; }
 .af-demo-bar,.af-demo-controls { padding:15px; }
 .af-demo-controls button { font-size:14px; padding:10px 8px; }
 .af-demo-panel { padding:20px; min-height:380px; }
 .af-case-art { padding:12px; }
 .landing-form { grid-template-columns:1fr; padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) { .af-main *, .af-main *::before,.af-main *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
