/* Liteo CMS universal service theme. Self-hosted, no tracking or external fonts. */
body.universal{--ink:#182e28;--accent:#244f40;--soft:#e7eee8;--paper:#faf9f5;--line:#d8dfd8;--muted:#53675e;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
body.palette-blue{--ink:#172e47;--accent:#214f7b;--soft:#e6edf5;--line:#d0ddeb;--muted:#526980}
body.palette-clay{--ink:#402b25;--accent:#8b422c;--soft:#f2e7df;--line:#e4d6c9;--muted:#755b4e}
body.palette-plum{--ink:#362739;--accent:#66436c;--soft:#eee6ef;--line:#dfd0e1;--muted:#705c75}
body.palette-graphite{--ink:#252b30;--accent:#3b4650;--soft:#e8ecef;--line:#d5dce1;--muted:#5d6872}
.universal a{color:var(--accent)}.universal h1,.universal h2,.universal h3{line-height:1.12;letter-spacing:-.045em;text-wrap:balance}.universal h1{font-size:clamp(2.5rem,5.5vw,5rem);margin:.3em 0}.universal h2{font-size:clamp(2rem,3.8vw,3.25rem);margin:.3em 0 .7em}.universal h3{font-size:1.6rem}.universal p{overflow-wrap:anywhere}.universal img{display:block}.universal button,.universal input,.universal textarea{font:inherit}.universal .btn{background:var(--accent);color:white;border:1px solid var(--accent);padding:.9rem 1.3rem;border-radius:6px;font-weight:650;cursor:pointer}.universal a:focus-visible,.universal button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:2000;background:white;padding:.5rem 1rem}.skip-link:focus{top:1rem}
.universal .site-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.universal .site-nav{max-width:1240px;gap:1.5rem;padding:1.3rem 2rem}.universal .brand{color:var(--ink);font-size:1.15rem;letter-spacing:-.035em;display:flex;gap:.6rem;align-items:center}.brand-logo{max-height:44px;max-width:160px;width:auto;object-fit:contain}.site-links{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.universal .site-links>a{color:var(--ink);font-size:.95rem}.universal .site-links>a:hover{text-decoration:underline;text-underline-offset:.4rem}.nav-toggle{display:none}.universal .site-links .nav-cta{color:white;background:var(--accent);border-radius:4px;padding:.65rem .85rem}.header-phone{font-size:.85rem}
.section-wrap{max-width:1240px;margin-inline:auto;padding-inline:2rem}.universal main{max-width:1160px;padding:3rem 2rem 5rem;min-height:60vh}.universal main.home-layout{max-width:none;padding:0}.section-space{padding-top:5rem;padding-bottom:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:750;color:var(--muted);margin:0 0 1.2rem}.home-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:4rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}.hero-intro{font-size:1.1rem;color:var(--muted);max-width:38rem;margin:1.5rem 0 2rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.text-link{font-weight:650;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.3rem}.hero-visual{position:relative;border-radius:100px 10px 10px 10px;background:var(--soft);padding-bottom:4rem;overflow:hidden;min-width:0}.hero-visual>img{width:100%;height:440px;object-fit:cover}.hero-caption{display:flex;align-items:center;gap:1.2rem;padding:1rem 1.5rem;background:var(--accent);color:white;position:absolute;bottom:0;left:0;right:0;font-size:.85rem}.hero-caption>span{font-size:2rem}.hero-art{position:relative;height:440px;overflow:hidden;background:var(--soft)}.art-circle{position:absolute;width:230px;height:230px;border-radius:50%;background:var(--accent);left:12%;top:13%}.art-column{position:absolute;width:42%;height:70%;background:var(--paper);right:8%;bottom:-8%;border-radius:120px 120px 0 0;box-shadow:-18px 0 40px #0001}.art-small{position:absolute;width:100px;height:100px;border:1px solid var(--accent);border-radius:50%;left:16%;bottom:12%}.hero-art>span{position:absolute;bottom:1rem;right:1.5rem;max-width:50%;font-size:.85rem;font-weight:650}
.benefit-strip{border-block:1px solid var(--line);background:var(--soft)}.benefit-strip>div{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.benefit-strip p{font-size:.9rem;font-weight:550;margin:1.2rem 0}.benefit-strip span{margin-right:.6rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service-card{background:white;border:1px solid var(--line);border-radius:8px;padding:2rem;display:flex;flex-direction:column}.service-number{font-size:.8rem;font-weight:650;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:1.5rem}.service-card h3{margin:1.5rem 0 .5rem}.service-card p{font-size:.95rem;color:var(--muted)}.service-card a{margin-top:auto;padding-top:1rem;text-decoration:none;font-weight:650}.service-card a span{float:right}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;border-top:1px solid var(--line)}.about-visual{background:var(--soft);border-radius:8px;overflow:hidden}.about-visual img{width:100%;aspect-ratio:1;object-fit:cover}.about-monogram{min-height:340px;display:grid;place-items:center;font-size:12rem;font-family:Georgia,serif;color:var(--accent)}.about-section p:not(.eyebrow){color:var(--muted)}.project-card{margin:0}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.project-card figcaption{padding:1rem 0;font-weight:650}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.review{margin:0;padding:2rem;background:var(--soft);border-radius:8px}.review p{font-size:1.2rem}.review cite{font-size:.85rem;font-style:normal;font-weight:650}.contact-band{background:var(--accent);color:white;border-radius:12px;padding:3.5rem;margin-block:2rem 5rem;width:calc(100% - 4rem)}.contact-band .eyebrow{color:inherit;opacity:.8}.contact-band .btn{background:white;color:var(--accent)}.home-original{border-top:1px solid var(--line)}
.universal .site-footer{background:var(--ink);color:white}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;padding-block:3rem}.footer-grid h2{font-size:1.3rem;letter-spacing:-.02em}.footer-grid a{color:white}.footer-links{display:flex;flex-direction:column;align-items:start;gap:.4rem}.footer-bottom{border-top:1px solid #ffffff30;padding-block:1.2rem;font-size:.8rem;display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap}.universal .field{background:white;border-color:var(--line);padding:.9rem}.universal textarea.field{min-height:180px}.universal [data-contact-form]{max-width:760px}.universal .crumbs{margin-bottom:2rem}.universal .blog-card{border-color:var(--line)}.universal .blog-card h2{font-size:1.4rem}.universal .cookie-box{color:var(--ink)}.universal .cookie-actions button{color:var(--ink)}
@media(max-width:900px){.home-hero{gap:2rem}.hero-visual>img,.hero-art{height:360px}.service-card{padding:1.4rem}.about-section{gap:2rem}.site-nav{position:relative}.universal .site-links{width:100%;gap:1rem}.header-phone{display:none}.footer-grid{gap:2rem}}
@media(max-width:640px){.section-wrap{padding-inline:1.25rem}.universal .site-nav{padding:1rem 1.25rem;gap:1rem}.universal .brand{font-size:1rem;max-width:72%;overflow-wrap:anywhere}.nav-toggle{display:block;margin-left:auto;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:5px;padding:.4rem .8rem}.js .site-links:not(.is-open){display:none}.site-links{flex-direction:column;align-items:stretch;padding:.5rem 0}.site-links a{padding:.4rem 0}.home-hero{grid-template-columns:1fr;padding-block:2.5rem;gap:2.5rem}.hero-visual{border-top-left-radius:70px}.hero-art,.hero-visual>img{height:320px}.section-space{padding-block:3rem}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-bottom:1rem}.service-grid,.about-section,.review-grid,.footer-grid{grid-template-columns:1fr}.about-section{gap:2rem}.benefit-strip>div{gap:0;flex-direction:column;padding-block:.7rem}.benefit-strip p{margin:.35rem 0}.about-monogram{min-height:240px;font-size:9rem}.contact-band{width:calc(100% - 2.5rem);padding:2rem;margin-bottom:3rem}.universal main{padding:2rem 1.25rem 3rem}.footer-grid{padding-block:2rem}.hero-actions{gap:1rem}.universal .home-original h1{font-size:2rem}}
@media(prefers-reduced-motion:no-preference){.universal a,.universal button{transition:background-color .18s,color .18s}.service-card:hover{border-color:var(--accent)}}
