/* FLYING CONNECT M4 · public-site refinement, stage 16.
   Calm neutral palette, mobile-first cards, one clear action per request step.
   Works alongside the established brand/internal styles. */
html{scroll-padding-top:92px}
body{overflow-x:clip}
a,button,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,select:focus-visible,
input:focus-visible{outline:3px solid #668874;outline-offset:3px}
.site-header{isolation:isolate}
.main-nav{font-size:12px}
.main-nav a{display:inline-flex;min-height:40px;align-items:center}
.hero-copy p{max-width:580px}
.hero-actions .btn-primary{font-weight:700}
.fc-start-price{
 display:inline-flex;align-items:center;gap:13px;align-self:flex-start;
 padding:11px 14px;margin-top:25px;border-radius:9px;
 background:#e9eee7;border:1px solid #d6e0d4;
 color:#40584a;box-shadow:0 5px 18px rgba(40,50,45,.04);
}
.fc-start-price span{font:750 10px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.09em}
.fc-start-price strong{font:750 27px/1 Montserrat,Arial,sans-serif;white-space:nowrap;color:#2d4233}
.hero-points{margin-top:20px}
.expertise .expertise-copy h2{max-width:420px}
.expertise .expertise-copy p{max-width:450px}
.expertise .tile-grid{gap:14px}
.expertise .tile-grid>a.fc-service-card{
 display:grid;min-width:0;overflow:hidden;
 grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(105px,1fr);
 border:1px solid #dce2d9;border-radius:12px;background:#f8f9f6;
 box-shadow:0 3px 11px rgba(28,39,31,.045);
 color:#243c2e;text-decoration:none;
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.expertise .tile-grid>a.fc-service-card:hover{
 transform:translateY(-2px);border-color:#879d8b;
 box-shadow:0 11px 27px rgba(30,52,37,.10)
}
.expertise .tile-grid>a.fc-service-card:focus-visible{outline:3px solid #587d65;outline-offset:3px}
.expertise .fc-service-card .tile-head{
 display:flex;align-items:center;min-height:56px;padding:10px 12px;
 font-size:12px;font-weight:700;gap:8px;
 white-space:normal;overflow:visible;text-overflow:clip;
 line-height:1.4;background:#f6f8f3
}
.expertise .fc-service-card .tile-head>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}
.expertise .fc-service-card .tile-icon{flex:0 0 28px;width:28px;height:28px}
.expertise .fc-service-card img{
 height:118px!important;min-height:118px;width:100%;object-fit:cover;
 border-radius:0;filter:saturate(.88);transition:filter .2s ease
}
.expertise .fc-service-card:hover img{filter:saturate(1)}
.expertise .fc-service-card .fc-tile-arrow{
 flex:0 0 auto;color:#486c55;font-size:15px;font-weight:800;line-height:1
}
.fc-request-panel{
 width:100%;padding:30px 32px;border:1px solid #d6dfd4;border-radius:16px;
 background:linear-gradient(135deg,#f4f7f0,#fff 70%);
 box-shadow:0 10px 28px rgba(28,40,31,.045)
}
.fc-request-head{display:flex;justify-content:space-between;gap:22px;align-items:start;margin-bottom:26px}
.fc-request-head h2{font-size:clamp(24px,3vw,31px);line-height:1.23;margin:10px 0 12px}
.fc-request-head p{max-width:580px;font-size:13px;line-height:1.65;color:#58655b}
.fc-request-steps{display:flex;gap:8px;flex:0 0 auto;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.fc-request-steps span{border-radius:100px;background:#e7ede6;color:#526557;border:1px solid #d5dfd3;font-size:10px;font-weight:700;padding:7px 11px;white-space:nowrap}
.fc-request-steps span.is-current{background:#d8e5d7;color:#2d5137;border-color:#b9cdb9}
.fc-request-form{display:grid;gap:13px;max-width:790px}
.fc-request-form>label,.fc-request-packages legend{
 display:block;font:700 13px/1.6 Montserrat,Arial,sans-serif;color:#263c2f;margin-bottom:2px
}
.fc-request-form select{
 width:100%;max-width:100%;min-height:51px;padding:12px 15px;appearance:auto;
 background:white;color:#293a2e;border-radius:8px;border:1px solid #b9cab9;
 font:600 14px/1.4 Montserrat,Arial,sans-serif
}
.fc-request-packages{margin:6px 0 0;padding:0;border:0;min-width:0}
.fc-request-packages legend{margin-bottom:12px}
.fc-request-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.fc-request-option{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;
 border:1px solid #d6dfd4;border-radius:9px;background:#fff;
 cursor:pointer;transition:background .16s,border-color .16s}
.fc-request-option:has(input:checked){border-color:#699374;background:#edf5eb}
.fc-request-option input{width:18px;height:18px;accent-color:#376649;flex:0 0 auto}
.fc-request-option span{display:grid;gap:4px;min-width:0}
.fc-request-option strong{color:#28392e;font-size:12px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}
.fc-request-option small{color:#516f58;font-size:18px;font-weight:750;line-height:1.25}
.fc-request-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:10px}
.fc-request-actions .btn-primary{font-size:13px;font-weight:750;min-height:50px}
.fc-request-actions .text-link{font-size:12px}
.fc-request-note{max-width:850px;font-size:11px!important;line-height:1.6!important;margin-top:21px;color:#627267!important}
.fc-main-content .fc-prose{margin-bottom:24px}
.fc-page-hero .fc-lead{max-width:780px}
.footer-links a{min-height:26px;display:inline-flex;align-items:center}
@media(max-width:1120px){
 .fc-request-head{flex-direction:column;gap:16px}
 .fc-request-steps{justify-content:flex-start}
}
@media(max-width:920px){
 .site-header .header-grid{min-width:0}
 .header-cta{display:none!important}
 .main-nav.is-open{z-index:100}
 .expertise .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .expertise .fc-service-card .tile-head{font-size:11px;min-height:61px}
}
@media(max-width:690px){
 .wrap{max-width:calc(100% - 32px)}
 .main-nav.is-open a{min-height:45px}
 .fc-start-price{max-width:100%;gap:10px;padding:10px 12px}
 .fc-start-price strong{font-size:25px}
 .expertise .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .expertise .fc-service-card .tile-head{padding:9px;font-size:11px;gap:6px;min-height:65px}
 .expertise .fc-service-card .tile-icon{width:23px;height:23px;flex-basis:23px}
 .expertise .fc-service-card img{height:112px!important;min-height:112px}
 .fc-request-panel{padding:22px 18px;border-radius:11px}
 .fc-request-options{grid-template-columns:1fr;gap:9px}
 .fc-request-option{min-height:66px}
 .fc-request-option span{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px}
 .fc-request-actions{display:grid;gap:17px;justify-items:start}
 .fc-request-actions .btn-primary{min-height:49px;width:100%}
 .fc-request-head{gap:16px;margin-bottom:23px}
 .fc-request-steps{gap:5px}
 .fc-request-steps span{font-size:9px;padding:6px 8px}
}
@media(max-width:390px){
 .expertise .tile-grid{grid-template-columns:1fr}
 .expertise .fc-service-card .tile-head{font-size:12px;min-height:50px}
 .expertise .fc-service-card img{height:136px!important;min-height:136px}
 .fc-start-price span{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .expertise .tile-grid>a.fc-service-card{transition:none}
 .expertise .tile-grid>a.fc-service-card:hover{transform:none}
}


/* Stage 24: fixed visual proportions and below-the-fold rendering optimizations. */
.fc-service-card img{display:block;width:100%;aspect-ratio:48/25;object-fit:cover}
.fc-mark img{width:100%;height:100%;object-fit:contain}
@supports(content-visibility:auto){
 .benefits,.cta,.footer{content-visibility:auto;contain-intrinsic-size:auto 360px}
}
@media(max-width:690px){
 .fc-service-card img{aspect-ratio:16/9}
 .fc-page-hero h1,.hero-copy h1{overflow-wrap:break-word}
}

/* Managed service categories: compact descriptions and responsive tile layout. */
.fc-service-summary{display:block;padding:0 12px 13px;font-size:11px;line-height:1.5;color:#6c7770}.fc-service-card{min-width:0}
