/* Sorlavit: people-first, mobile-first IT portfolio. */
:root{--smile-ink:#17365d;--smile-muted:#60758e;--smile-sky:#dceeff;--smile-line:#dce6f1;--smile-paper:#fbfdff}
body.smile-site{background:var(--smile-paper);color:var(--smile-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
.smile-site *{box-sizing:border-box}.smile-site a{transition:background .18s,color .18s,box-shadow .18s}.smile-site a:focus-visible,.smile-site button:focus-visible,.smile-site input:focus-visible{outline:3px solid #246db3;outline-offset:4px}.smile-site main{min-height:55vh}.smile-site input,.smile-site textarea,.smile-site select{font-size:16px}.smile-site h1,.smile-site h2,.smile-site h3{color:var(--smile-ink)}
.smile-skip{position:fixed;top:-100px;left:16px;z-index:1100;background:var(--smile-ink);color:#fff;padding:12px 20px;border-radius:8px}.smile-skip:focus{top:12px}
.smile-header{background:rgba(251,253,255,.97);border-bottom:1px solid var(--smile-line);position:sticky;top:0;z-index:100}.smile-header-inner,.smile-footer-inner{max-width:1160px;margin:auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.smile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--smile-ink);font-size:15px;letter-spacing:1px;font-weight:800;line-height:1.3}.smile-brand:hover{color:#246db3}.smile-brand small{display:block;font-size:9px;font-weight:500;letter-spacing:0;margin-top:5px;color:var(--smile-muted)}.smile-brand-icon{height:42px;width:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--smile-ink);color:var(--smile-sky);font-size:21px;letter-spacing:-2px}.smile-brand-icon>span{color:white}.smile-desktop-nav{display:none}.smile-header-contact{display:flex;gap:6px;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;color:var(--smile-ink);background:var(--smile-sky);padding:8px 12px;border-radius:12px;font-size:13px;font-weight:700}.smile-header-contact span{display:none}.smile-header-contact:hover{background:#a2c3e9;color:var(--smile-ink)}
.smile-wrap{max-width:1120px;margin:auto;padding:0 20px}.smile-hero{padding:38px 0 28px;display:grid;gap:32px}.smile-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.45px;font-weight:700;color:#526071;line-height:1.6}.smile-dot{width:7px;height:7px;border-radius:50%;background:#246db3;flex-shrink:0}.smile-hero h1{font-size:clamp(32px,8.7vw,42px);font-weight:800;letter-spacing:-1.9px;line-height:1.13;margin:20px 0}.smile-hero h1>span:first-of-type{color:#246db3}.smile-face{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;width:39px;height:39px;background:#e0efff;border-radius:50%;font-size:23px;letter-spacing:-3px;transform:rotate(15deg);margin-left:9px;color:var(--smile-ink);padding-right:3px}.smile-intro{font-size:21px;line-height:1.5;font-weight:500;margin-bottom:14px;color:var(--smile-ink)}.smile-description{font-size:14px;line-height:1.8;max-width:490px;color:var(--smile-muted);margin-bottom:22px}.smile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}.smile-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--smile-ink);border:1px solid var(--smile-ink);border-radius:12px;color:white!important;text-decoration:none;font-size:14px;font-weight:600;min-height:48px;padding:12px 20px;cursor:pointer}.smile-button:hover{background:#244b79;box-shadow:0 4px 12px #17365d15}.smile-button i{color:var(--smile-sky)}.smile-text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--smile-ink);text-decoration:none;min-height:44px}.smile-text-link:hover{color:#246db3}.smile-hero-note{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:10px;color:var(--smile-muted);margin-top:25px}.smile-hero-note>span{margin:0 3px}
.smile-profile{padding:18px;background:#e9ecf0;border:1px solid #dce1e7;border-radius:24px;max-width:420px;width:100%;margin:auto;transform:none}.smile-profile-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.8px;font-weight:700;margin-bottom:14px}.smile-profile-top>i{font-size:24px;line-height:1}.smile-profile-name{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.smile-profile-name h2{font-size:22px;letter-spacing:-.6px;font-weight:700;margin-bottom:4px}.smile-profile-name h2 span{font-weight:400}.smile-profile-name p{font-size:12px;color:var(--smile-muted);margin:0}.smile-profile-name>a{width:44px;height:44px;display:grid;place-items:center;color:var(--smile-ink);background:#fff;border-radius:50%;text-decoration:none}.smile-profile-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #d3d9df;font-size:11px;color:#445365}.smile-profile-tags span{display:flex;align-items:center;gap:4px}.smile-profile-tags span+span{margin-left:8px}
.smile-principles{display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid var(--smile-line);border-bottom:1px solid var(--smile-line);padding:20px 0;color:var(--smile-muted);font-size:11px}.smile-principles>span{display:flex;align-items:center;gap:8px}.smile-principles i{font-size:17px;color:#246db3}
.smile-section{padding:44px 0}.smile-section-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.smile-section h2{font-size:29px;letter-spacing:-1px;font-weight:700;line-height:1.25;margin:12px 0 0}.smile-section-heading>p{font-size:13px;color:var(--smile-muted);max-width:340px;margin:0}.smile-services{display:grid;gap:12px}.smile-service{position:relative;border:1px solid var(--smile-line);border-radius:18px;padding:24px;background:white;min-width:0}.smile-service-icon{display:grid;place-items:center;width:44px;height:44px;background:#eef1f5;border-radius:13px;font-size:22px;color:#284d77;margin-bottom:24px}.smile-number{position:absolute;top:26px;right:24px;color:#939ba4;font-size:11px;font-family:monospace}.smile-service h3{font-size:17px;font-weight:700;letter-spacing:-.3px;margin:0 0 10px}.smile-service p{color:var(--smile-muted);font-size:13px;line-height:1.8;margin-bottom:20px}.smile-service-caption{font-size:11px;color:#425b77}.smile-service-mint{background:var(--smile-sky);border-color:var(--smile-sky)}.smile-service-mint .smile-service-icon{background:#ffffff80}.smile-service-mint p{color:#36485d}
.smile-work-list{border-top:1px solid var(--smile-line)}.smile-work{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid var(--smile-line);padding:23px 0;min-width:0}.smile-work>div{flex:1;min-width:0}.smile-work-index{font-size:11px;color:#808994;padding-top:5px}.smile-work-date{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#6a7480}.smile-work h3{font-size:17px;font-weight:600;letter-spacing:-.4px;line-height:1.45;margin:6px 0}.smile-work p{font-size:12px;color:var(--smile-muted);margin:0 0 10px}.smile-work-tags{display:flex;flex-wrap:wrap;gap:6px}.smile-work-tags span{font-size:10px;background:#eaedf0;border-radius:5px;padding:3px 7px;color:#525f6e}.smile-work-arrow{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--smile-line);border-radius:50%;text-decoration:none;color:var(--smile-ink)}.smile-work-arrow:hover{background:var(--smile-sky)}
.smile-approach{display:grid;gap:26px;border-bottom:1px solid var(--smile-line);border-top:1px solid var(--smile-line)}.smile-approach>div>p,.smile-knowledge>div>p{font-size:13px;color:var(--smile-muted);margin-top:16px}.smile-steps{margin:0;padding:0;list-style:none;display:grid;gap:24px}.smile-steps li{display:flex;gap:16px}.smile-steps li>span{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid #cbd4de;border-radius:50%;font-size:10px;color:#284d77}.smile-steps h3{font-size:16px;font-weight:600;margin:3px 0 6px}.smile-steps p{font-size:12px;color:var(--smile-muted);margin:0}
.smile-knowledge{display:grid;gap:18px}.smile-knowledge h2{font-size:25px}.smile-search-panel{min-width:0;background:white;border:1px solid var(--smile-line);border-radius:18px;padding:20px}.smile-search-form>label{font-size:12px;font-weight:600;margin-bottom:8px;display:block}.smile-search-form>div{display:flex;gap:8px}.smile-search-form input{min-width:0;width:100%;border:1px solid #d5dbe2;border-radius:10px;background:#fbfdff;color:var(--smile-ink);padding:12px;font-size:16px}.smile-search-form .smile-button{padding:10px 16px}.smile-site .home-ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.smile-site .home-ai-suggestions button{background:#edf1f5;border:1px solid #d9e0e7;color:#35485e;border-radius:8px;min-height:44px;padding:8px 10px;font-size:11px}.smile-site .home-ai-status{color:var(--smile-muted);font-size:11px;line-height:1.7;margin:12px 0 0}.smile-site .home-ai-result-card{background:#fbfdff;color:var(--smile-ink);border:1px solid var(--smile-line);border-radius:12px;padding:16px;margin-top:12px}.smile-site .home-ai-result-card h3{font-size:16px;margin:6px 0}.smile-site .home-ai-result-card p,.smile-site .home-ai-empty{color:var(--smile-muted);font-size:12px}.smile-site .home-ai-result-type{color:#284d77;font-size:10px}.smile-site .home-ai-result-action a{color:#284d77;font-size:12px;display:inline-flex;align-items:center;min-height:44px}
.smile-cta{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--smile-sky);border-radius:24px;padding:35px 20px;margin:10px 0 44px}.smile-cta>i{font-size:40px;margin-bottom:18px}.smile-cta h2{font-size:30px;line-height:1.25;letter-spacing:-1px;font-weight:700;margin:12px 0}.smile-cta>p{color:#42556a;font-size:13px;margin-bottom:22px}.smile-cta .smile-eyebrow{font-size:9px}.smile-email{font-size:11px;color:#36485d;text-underline-offset:4px;display:flex;align-items:center;min-height:44px;margin-top:8px}
.smile-footer{background:#edeff2;border-top:1px solid var(--smile-line)}.smile-footer-inner{align-items:flex-start;flex-wrap:wrap;gap:28px;padding-top:32px;padding-bottom:32px}.smile-footer-brand{font-size:17px;letter-spacing:1px;font-weight:800;color:var(--smile-ink);text-decoration:none}.smile-footer-brand i{color:#246db3;margin-left:5px}.smile-footer p{font-size:12px;margin:8px 0;color:var(--smile-muted)}.smile-footer span{font-size:10px;color:#6d7680}.smile-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.smile-footer-links a{display:flex;align-items:center;min-height:44px;font-size:12px;color:#525c67;text-decoration:none}.smile-footer-social{display:flex;gap:8px}.smile-footer-social a{display:grid;place-items:center;width:44px;height:44px;background:white;border-radius:50%;color:var(--smile-ink)}
.smile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid var(--smile-line);box-shadow:0 -4px 24px #17365d06}.smile-bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:52px;gap:2px;border-radius:12px;text-decoration:none;color:#717982;font-size:10px}.smile-bottom-nav i{font-size:19px;line-height:1.4}.smile-bottom-nav a[aria-current=page]{background:#e0eaf5;color:#143c6a;font-weight:700}
/* Keep existing inner pages comfortable on small screens. */
.smile-site:not(.smile-home) .container{max-width:1120px}.smile-site:not(.smile-home) main .hero-tech,.smile-site .project-hero{background:#eaeef3;color:var(--smile-ink)}.smile-site .project-grid{grid-template-columns:minmax(0,1fr)}.smile-site .project-toolbar{flex-wrap:wrap}.smile-site .project-search{min-width:0;flex:1 1 160px}.smile-site .project-card{min-width:0}.smile-site .project-card h2{overflow-wrap:anywhere}.smile-site .contact-modern .form-control,.smile-site .contact-modern .form-select{min-height:48px;font-size:16px}.smile-site .contact-modern .form-label{font-size:13px}.smile-site:not(.smile-home) main .text-white{color:var(--smile-ink)!important}
@media(prefers-reduced-motion:reduce){.smile-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the same phone layout at every viewport width. */
html{background:#e6eaee}
body.smile-site{width:100%;max-width:480px;min-height:100vh;margin:0 auto;box-shadow:0 0 48px #17365d0a}
.smile-wrap,.smile-header-inner,.smile-footer-inner{width:100%;max-width:480px}
.smile-site main .container,.smile-site:not(.smile-home) .container{width:100%;max-width:480px;padding-right:20px;padding-left:20px}
.smile-site main .row>*{flex:0 0 100%;width:100%;max-width:100%;min-width:0}
.smile-site main .text-lg-end{text-align:left!important}
.smile-site .smile-services,.smile-site .smile-hero,.smile-site .smile-approach,.smile-site .smile-knowledge,.smile-site .project-grid,.smile-site .home-k8s__grid,.smile-site .home-check-grid{grid-template-columns:minmax(0,1fr)}
.smile-site .smile-section-heading{flex-direction:column;align-items:flex-start}
.smile-site .project-toolbar,.smile-site .link-toolbar{grid-template-columns:minmax(0,1fr)}
.smile-site .link-row{grid-template-columns:auto minmax(0,1fr);gap:12px}
.smile-site .link-row__title{flex-wrap:wrap}
.smile-site .link-row__action{display:none}
.smile-site .smile-bottom-nav{display:grid;max-width:480px;width:100%;margin:0 auto}
.smile-site .smile-desktop-nav{display:none}
.smile-profile{max-width:none}
.smile-profile-name{padding-top:0}
.smile-profile-top{margin-bottom:10px}
.smile-site main .p-lg-5{padding:24px!important}
.smile-site main .py-5{padding-top:32px!important;padding-bottom:32px!important}

/* Direct contact channels, sized for mobile taps. */
.smile-contact-channels{display:grid;gap:12px;scroll-margin-top:100px}.smile-channel{padding:18px;border:1px solid #cfe0f2;border-radius:16px;background:#fff;color:var(--smile-ink)}.smile-channel-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#3d668d;margin:0 0 5px}.smile-channel-title i{font-size:19px}.smile-channel-number{font-size:23px;font-weight:700;letter-spacing:-.5px;color:var(--smile-ink);text-decoration:none}.smile-channel>a.smile-channel-number{display:flex;align-items:center;min-height:44px;gap:12px}.smile-channel p{font-size:12px;line-height:1.7;color:var(--smile-muted);margin:6px 0 0}.smile-channel-line{background:#edf6ff}.smile-copy-contact{margin-top:12px;min-height:44px;padding:8px 14px;border:1px solid #b9d5ef;border-radius:10px;color:#205b95;background:#fff;font-size:12px;font-weight:600}.smile-channel [role=status]{font-size:11px}.smile-channel-email{display:flex;align-items:center;gap:8px;padding:12px 16px;background:white;border:1px solid #dce6f1;border-radius:12px;min-height:48px;font-size:12px;color:#285b8b;text-decoration:none}.smile-footer-contact{display:grid;gap:0;margin:6px 0 12px}.smile-footer-contact a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:#355a80;text-decoration:none}.smile-quick-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px}.smile-quick-contact>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;background:#ffffffb3;color:#224f7d;border-radius:10px;font-size:12px;font-weight:600;text-decoration:none}#contact-channels{scroll-margin-top:100px}
