/* Simon-only photography, logo placement and content-specific proportions.
   Typography, surfaces, controls, layout rhythm and navigation come from Aikonetic. */
.st-masthead { height:50vh; min-height:16rem; max-height:48rem; overflow:hidden; background:var(--q-surface); }
.st-masthead img { display:block; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.st-header { position:sticky; }
.st-header-inner { position:relative; }
.st-header .brand-link { width:9.75rem; height:9.75rem; flex-shrink:0; padding:var(--space-12); background:#fff; border-radius:50%; margin-top:-3rem; margin-bottom:-2rem; transition:width var(--duration-fast),height var(--duration-fast),margin var(--duration-fast); }
.st-header .brand-variant,.st-header .brand-link img { width:100%; height:100%; max-height:none; object-fit:contain; }
.st-header.stuck .brand-link { width:4.5rem; height:4.5rem; margin-block:0; padding:var(--space-4); }
.st-header-links { display:flex; gap:var(--space-16); margin-left:auto; }
.st-header-links a { display:grid; place-items:center; width:44px; height:44px; color:var(--q-header-text-color); text-decoration:none; }
.st-facebook { display:grid; place-items:center; width:1.5rem; height:1.5rem; background:var(--q-header-text-color); color:var(--q-header-background); border-radius:var(--radius-sm); font-weight:var(--weight-heading); }
.st-intro .container { max-width:var(--page-width); }
.st-service-top { display:flex; align-items:center; gap:var(--space-16); margin-bottom:var(--space-16); }
.st-service-top figure { flex:0 0 4rem; background:#fff; border-radius:var(--radius-sm); }
.st-service-top h3 { margin:0; }
.st-service p { color:var(--q-text-muted); }
.st-qualifications > figure { max-width:12rem; margin-inline:auto; padding:var(--space-16); background:var(--q-white); border-radius:var(--radius-sm); }
.st-nordic-promo > figure { max-width:22rem; margin-inline:auto; }
.st-norway-visual { max-width:22rem; margin-inline:auto; }
.st-partner-logos { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:var(--space-24); align-items:center; }
.st-partner-logos figure { display:grid; place-items:center; min-width:0; height:7rem; padding:var(--space-16); background:#fff; border-radius:var(--radius-sm); }
.st-partner-logos img { display:block; width:auto; height:auto; max-width:100%; max-height:4.5rem; object-fit:contain; }
.st-form-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.st-form-engine { min-width:0; }
.st-divider { display:none; } /* Decorative separators are replaced by the shared section spacing. */
.st-review-heading { display:flex; align-items:center; gap:var(--space-16); margin-bottom:var(--space-24); }
.st-review-avatar { display:grid; place-items:center; width:3rem; height:3rem; background:var(--q-surface); border-radius:50%; }
.st-stars { color:var(--q-link); letter-spacing:.12em; }
.st-back-top { position:fixed; right:var(--quick-edge); bottom:var(--quick-edge); z-index:45; width:44px; height:44px; display:grid; place-items:center; background:var(--q-primary-background); color:var(--q-white); border:0; border-radius:50%; box-shadow:var(--q-shadow-floating); cursor:pointer; }
.st-back-top .icon { transform:rotate(-45deg); }
@media(max-width:68.74rem) { .st-header-links { display:none; } .st-header .brand-link { width:5rem; height:5rem; margin-block:0; padding:var(--space-4); } }
@media(max-width:48rem) { .st-masthead { height:34vh; min-height:14rem; } .st-form-layout { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .st-header .brand-link { transition:none; } }
.st-header .brand-link { overflow:hidden; }
.st-form-engine .aikoniq-inquiry { display:block; width:100%; max-width:none; margin:0; padding:0; }
.st-form-engine .aikoniq-form-intro { display:none; }
