/* Giardino's existing blue, navy, gold and typefaces; presentation only. */
:root { --primary-mist:#f7f5ef; --primary-soft:#eef0f7; --border:#e0dfd8; --muted:#596170; --shadow-xl:0 18px 50px rgba(26,29,49,.10); }
body { background:#fffefa; }
.container { max-width:1360px; }
.hero { min-height:0; padding:160px 0 64px; background:linear-gradient(125deg,#fbf9f2 0%,#fffefa 52%,#edf0f8 100%); border-bottom:1px solid var(--border); }
.hero__grid-bg { opacity:.08; }
.hero__inner { grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.hero__content { max-width:650px; }
.hero__badge { margin-bottom:24px; padding:8px 17px; box-shadow:none; }
.hero h1 { font-size:clamp(48px,4.5vw,72px); line-height:1.04; letter-spacing:-.035em; margin-bottom:24px; }
.hero h1 em { display:block; }
.hero__sub { max-width:590px; font-size:18px; line-height:1.65; margin-bottom:24px; }
.hero__actions { gap:10px; margin-bottom:28px; }
.hero__actions .btn { min-height:48px; padding:13px 20px; }
.hero__actions .btn--ghost { color:var(--primary); border-color:transparent; }
.hero__proof { gap:18px; padding-top:20px; }
.hero__stat { text-align:left; padding:0; }
.hero__stat-num { font-size:25px; }
.hero__stat-label { font-size:10px; letter-spacing:.07em; }
.hero__divider { height:43px; }
.hero__portrait,.hero__card-stack { max-width:none; }
.hero__portrait-img { border:1px solid #fff; border-radius:18px 18px 3px 3px; box-shadow:0 14px 44px rgba(27,29,49,.13); }
.hero__portrait-img img { aspect-ratio:4/3; object-fit:cover; border-radius:0!important; }
.hero__portrait-accent,.hero__portrait-accent2 { display:none; }
.hero__card-stack { margin-top:0; }
.hero__float-card { display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; border-radius:0 0 14px 14px; padding:24px; border-top:3px solid var(--accent-gold); box-shadow:0 14px 44px rgba(27,29,49,.08); }
.hero__float-card h4 { grid-column:1/-1; margin:0 0 5px; color:var(--dark); font-size:19px; }
.step-mini { align-items:flex-start; padding:3px 0; gap:10px; }
.step-mini__text { font-size:13px; line-height:1.45; }
.step-mini__text span { display:block; margin-top:3px; font-size:11px; }
.step-mini__num { width:28px; height:28px; }
.trust-bar { background:#1b1d31; border:0; padding:23px 24px; }
.trust-item { color:#f5f3e9; }
.trust-bar__inner { gap:24px 48px; }
.section { padding:86px 0; }
.section-header { max-width:800px; margin-bottom:42px; }
.section-header h2 { font-size:clamp(34px,3.3vw,48px); }
.card,.step-card,.addl-card,.team-card,.testimonial-card { border:1px solid var(--border); border-radius:14px; box-shadow:0 7px 22px rgba(27,29,49,.035); }
.service-card { text-align:left; padding:30px; }
.service-card__icon { margin:0 0 22px; background:#eef0f7; border-radius:12px; }
.service-card h3 { font-size:23px; }
.service-card p { font-size:15px; }
.card:hover,.step-card:hover,.team-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(27,29,49,.08); }
.section--dark { background:linear-gradient(125deg,#171c35,#152d63); }
.faq-item { border:1px solid var(--border); border-radius:10px; margin-bottom:12px; overflow:hidden; }
.contact-info-item { border-bottom:1px solid var(--border); padding-bottom:20px; }
#contactForm input:not([type=hidden]),#contactForm select { min-height:50px; font-size:16px; }
#contactForm textarea { font-size:16px; line-height:1.6; }
#contactForm label { font-size:13px; }
#contactForm button { min-height:50px; }
:focus-visible { outline:3px solid #c59a38; outline-offset:4px; }
@media(max-width:1100px) { .hero__inner{gap:35px} .hero__float-card{padding:20px;gap:8px} .hero__sub{font-size:17px} .hero__proof{gap:12px} .hero__stat-num{font-size:22px} }
@media(max-width:900px) {
 .hero{padding:135px 0 45px}.hero__inner{grid-template-columns:1fr;gap:32px}.hero__content{max-width:none}.hero h1{font-size:clamp(43px,7vw,64px)}
 .hero__visual{max-width:620px;width:100%;margin:auto}.hero__portrait,.hero__card-stack{max-width:none}.hero__sub{max-width:none}.hero__float-card{padding:22px}
 .section{padding:58px 0}.container{padding-left:24px;padding-right:24px}.section-header{margin-bottom:30px}
}
@media(max-width:600px) {
 .hero{padding:116px 0 36px}.hero__badge{font-size:12px;padding:7px 13px;margin-bottom:19px}.hero h1{font-size:44px;line-height:1.04;margin-bottom:20px}.hero__sub{font-size:16px;line-height:1.65;margin-bottom:22px}
 .hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:24px}.hero__actions .btn{padding:12px 9px;font-size:11px;min-height:48px;letter-spacing:.02em}
 .hero__proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:17px}.hero__divider{display:none}.hero__stat-num{font-size:19px;line-height:1.25;letter-spacing:-.025em}.hero__stat-label{font-size:9px;line-height:1.5;letter-spacing:.03em}
 .hero__portrait-img img{aspect-ratio:4/3}.hero__float-card{padding:20px 17px;gap:13px 10px}.step-mini__num{width:25px;height:25px}.step-mini__text{font-size:12px}.step-mini__text span{font-size:10px}
 .trust-bar__inner{justify-content:flex-start;gap:14px}.trust-item{width:calc(50% - 7px);font-size:11px;line-height:1.5;gap:8px}.service-card{padding:25px}.section-header h2{font-size:34px}.section-header p{font-size:16px}
 .grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.contact-info-item{padding-bottom:14px}
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important} }

/* Keep the two fixed mobile bars and their content clear of one another. */
html{scroll-padding-top:145px}
.utility-bar__inner{height:42px}
.nav{top:42px}
@media(max-width:1080px) {
 .nav__inner{min-height:68px;padding:12px 20px}
 .nav__toggle{width:44px;min-height:44px;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:5px}
 .nav__toggle span{margin:0;flex:none}
 .nav__links{position:absolute;top:100%;max-height:calc(100dvh - 126px);overflow-y:auto;overscroll-behavior:contain;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .2s ease,visibility .2s ease}
 .nav__links.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
}
@media(max-width:768px) {
 html{scroll-padding-top:145px}
 .utility-bar__inner{height:56px;padding:6px 12px}
 .utility-bar__right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:44px}
 .utility-bar__right a{min-width:0;min-height:44px;padding:4px 6px;justify-content:center;font-size:10px;line-height:1.3;gap:5px}
 .utility-bar__right a svg{flex-shrink:0;width:12px;height:12px}
 .nav{top:56px}
 .hero{padding-top:156px}
}
@media(max-width:380px) {
 .rights-list,.rights-list+div,.testimonials-grid{grid-template-columns:minmax(0,1fr)!important}
 #remote .checklist li{display:block;position:relative;padding-left:36px}
 #remote .checklist li::before{position:absolute;left:0;top:16px;margin-top:0}
 .pi-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .pi-value{min-width:0;padding:20px 10px}.pi-value h4{overflow-wrap:anywhere}
}