/* Site-wide colour mode, loaded after page-specific styles. */
.theme-toggle{
  display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;width:54px;height:30px;margin:9px 5px 0;padding:3px;
  border:1px solid rgba(38,80,115,.24);border-radius:999px;color:#265073;background:#E7EEF3;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);cursor:pointer;transition:background-color .2s ease,border-color .2s ease
}
.theme-toggle-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;transition:color .2s ease,background-color .2s ease,transform .2s ease}
.theme-toggle .icon-svg{width:14px;height:14px;vertical-align:0}.theme-toggle-sun{color:#142D40;background:#fff;box-shadow:0 2px 7px rgba(20,45,64,.18)}.theme-toggle-moon{color:#142D40}.theme-toggle-moon .icon-svg{width:16px;height:16px}
.theme-toggle:focus-visible{outline:3px solid #265073!important;outline-offset:3px}.theme-toggle:hover{border-color:#265073}

html[data-theme="dark"]{
  --surlinio-ink:#EAF2F7;--surlinio-paper:#0E1B25;--surlinio-cloud:#172A38;--surlinio-text:#C4D0D9;
  --bs-body-color:#C4D0D9;--bs-body-color-rgb:196,208,217;--bs-body-bg:#0E1B25;--bs-body-bg-rgb:14,27,37;
  --bs-secondary-color:#9FB0BD;--bs-tertiary-bg:#172A38;--bs-border-color:#355064;
  --bs-link-color:#BDE8DB;--bs-link-hover-color:#D8F2EA;--bs-link-color-rgb:189,232,219;
  --bs-primary-text-emphasis:#D8F2EA;--bs-primary-bg-subtle:#1C3B4A;--bs-primary-border-subtle:#3C6A70;
  --bs-focus-ring-color:rgba(189,232,219,.32)
}
html[data-theme="dark"] body{color:#C4D0D9;background:#0E1B25}
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){color:#F3F7FA}
html[data-theme="dark"] .home-top:not(:has(form)) td.align-middle,html[data-theme="dark"] .home-top:has(.app-detail-logo) .col-md-7{color:#C4D0D9;background:#172A38;border-bottom-color:#F4A261}
html[data-theme="dark"] .home-top:not(:has(form)) td.align-middle :is(h1,h2,h3,.h1,.h2,.h3,.lead,.client-primary-color),html[data-theme="dark"] .home-top:has(.app-detail-logo) .col-md-7 :is(h1,h2,h3,.h1,.h2,.h3,.lead){color:#F3F7FA}
html[data-theme="dark"] .home-top td.align-middle a:not(.btn),html[data-theme="dark"] .home-top:has(.app-detail-logo) .col-md-7 a:not(.btn){color:#D8F2EA!important}
html[data-theme="dark"] .home-top .btn-client-primary,html[data-theme="dark"] .appointment-form .btn-client-primary{color:#142D40!important;background:#F4A261!important;border-color:#F4A261!important}
html[data-theme="dark"] .home-top td.align-middle .btn+.btn{color:#142D40!important;background:#BDE8DB!important;border-color:#BDE8DB!important}
html[data-theme="dark"] a:link:not(.nav-link):not(.btn-client),html[data-theme="dark"] a:visited:not(.nav-link):not(.btn-client){color:#BDE8DB!important}
html[data-theme="dark"] .navbar,html[data-theme="dark"] .navbar.navbar-small{background-color:rgba(14,27,37,.94)}
html[data-theme="dark"] .navbar-collapse.show{background:#0E1B25}
html[data-theme="dark"] .navbar li .nav-link{color:#D8F2EA}html[data-theme="dark"] .navbar .nav-link.active{color:#F4A261!important}
html[data-theme="dark"] .icon-bar{background-color:#D8F2EA}
html[data-theme="dark"] .theme-toggle{border-color:rgba(189,232,219,.32);background:#142D40}
html[data-theme="dark"] .theme-toggle-sun{color:#93A7B5;background:transparent;box-shadow:none}
html[data-theme="dark"] .theme-toggle-moon{color:#142D40;background:#BDE8DB;box-shadow:0 2px 7px rgba(0,0,0,.28)}
html[data-theme="dark"] .client-secondary-bg,html[data-theme="dark"] section.home-top.client-secondary-bg{background-color:#0E1B25}
html[data-theme="dark"] .footer{color:#C4D0D9;background:#172A38}html[data-theme="dark"] .footer-quote{color:#F3F7FA}
html[data-theme="dark"] .copyright{color:#B5C4CE;background:#0A141C}html[data-theme="dark"] .copyright a:link,html[data-theme="dark"] .copyright a:visited{color:#D8F2EA!important}
html[data-theme="dark"] :is(.card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item,.accordion-button,.table,.form-control,.form-select,.input-group-text){color:#C4D0D9;border-color:#355064;background-color:#172A38}
html[data-theme="dark"] :is(.form-control,.form-select)::placeholder{color:#8FA2B0}
html[data-theme="dark"] .form-control:focus,html[data-theme="dark"] .form-select:focus{color:#F3F7FA;border-color:#BDE8DB;background:#172A38;box-shadow:0 0 0 .25rem rgba(189,232,219,.2)}
html[data-theme="dark"] .table{--bs-table-color:#C4D0D9;--bs-table-bg:#172A38;--bs-table-border-color:#355064;--bs-table-striped-bg:#1C3343;--bs-table-hover-bg:#203A4C}
html[data-theme="dark"] :is(.home-intro .row,.home-services,.home-closing-cta,.home-finder-panel,.home-service-card,.sprint-line>div,.compare-results span,.home-playground,.play-card,.project-pulse,.style-lab,.studio-live,.app-product-card,.app-compare,.value-calculator,.app-faq details,.website,.review,.quote){background:#172A38;border-color:#355064;color:#C4D0D9}
html[data-theme="dark"] :is(.home-services,.home-closing-cta,.home-playground){background:#0E1B25}
html[data-theme="dark"] .home-studio{background:#122431}
html[data-theme="dark"] :is(.home-service-card small,.sprint-line span,.compare-results small,.play-card>p,.project-pulse-head small,.pulse-item span,.review-source){color:#AFC0CB}
html[data-theme="dark"] :is(.home-service-card strong,.sprint-line strong,.compare-results strong,.play-card form label,.pulse-item strong,.website-text,.app-compare tbody th,.app-calculator form>label:not(.form-check),.value-calculator label,.app-faq summary){color:#EAF2F7}
html[data-theme="dark"] .home-now.client-secondary-bg{background:#173A3B}html[data-theme="dark"] .home-now .home-intro-label{color:#F3F7FA}
html[data-theme="dark"] .home-portfolio-hero .home-hero-actions .btn-client-secondary{color:#142D40!important}
html[data-theme="dark"] .app-calculator{color:#C4D0D9;border-color:#355064;background:#172A38}
html[data-theme="dark"] .app-compare tbody tr:nth-child(even) td{--bs-table-bg:#1C3343;background:#1C3343}
html[data-theme="dark"] .breadcrumb-row{color:#C4D0D9;background:#172A38}html[data-theme="dark"] .breadcrumb .active{color:#F3F7FA}
html[data-theme="dark"] .logo-section{background:#172A38}
html[data-theme="dark"] .review-control{color:#BDE8DB;background:#172A38;border-color:#55768B}
html[data-theme="dark"] .review-control:hover,html[data-theme="dark"] .review-control:focus-visible{color:#142D40;background:#BDE8DB}
html[data-theme="dark"] .review-filters button{color:#D8F2EA;border-color:#55768B;background:#172A38}
html[data-theme="dark"] .review-filters button.active,html[data-theme="dark"] .review-filters button:hover,html[data-theme="dark"] .review-filters button:focus-visible{color:#142D40;background:#BDE8DB;border-color:#BDE8DB}
html[data-theme="dark"] .captcha-box{color:#C4D0D9;border-color:#355064;background:#172A38}
@media(max-width:991.98px){.theme-toggle{margin:8px 5px 12px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-icon{transition:none}}

.developer-platforms{margin-top:40px}
.developer-platforms__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px}
.developer-platforms__logos a{display:inline-flex;align-items:center;justify-content:center;min-height:112px}
.developer-platforms__logos img{display:block;width:auto;height:60px}
.websites-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767.98px){.websites-hero__media img{height:auto}}
.apps-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767.98px){.apps-hero__media img{height:auto}}

/* Give the first content block on service pages the same card treatment as the homepage intro. */
.home-top:has(> .container > .row.g-0:first-child) {
    padding-top: clamp(48px, 7vw, 100px);
    padding-bottom: clamp(48px, 7vw, 100px);
}
.home-top > .container > .row.g-0:first-child {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-right: 0;
    margin-left: 0;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(20, 45, 64, .1);
}
.home-top > .container > .row.g-0:first-child > div:has(> .first-section-parallax-photo) {
    overflow: hidden;
}
.first-section-parallax-photo {
    display: block;
    width: 100%;
    height: 110% !important;
    margin-top: -5%;
    object-fit: cover;
    transform: translate3d(0, var(--first-section-parallax-y, 0), 0) scale(1.08);
    transform-origin: center;
    will-change: transform;
}
@media(max-width:767.98px){
    .home-top > .container > .row.g-0:first-child{border-radius:20px}
    .first-section-parallax-photo{height:106%!important;margin-top:-3%;transform:translate3d(0,var(--first-section-parallax-y,0),0) scale(1.05)}
}
@media(prefers-reduced-motion:reduce){
    .first-section-parallax-photo{height:100%!important;margin-top:0;transform:none;will-change:auto}
}
