/* PTPL service pages — shared body design (first used on Facade & Glazing, Oct 2026).
   Classes: fc-* . Link from each service page's $page_styles. */
.fc{font-family:'DM Sans',sans-serif}
.fc-sec{padding:100px 0}
.fc-eyebrow{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#F2783F;margin:0 0 14px}
.fc-h2{font-size:clamp(1.9rem,3vw,2.75rem);font-weight:800;line-height:1.15;margin:0 0 18px;letter-spacing:-.01em;color:#0D2D4F}
.fc-dark{background:#0A1F35;color:#fff;position:relative;overflow:hidden}
.fc-dark .fc-h2{color:#fff}
.fc-dark p{color:#b3c6d8}
/* intro */
.fc-light{background:#f4f7fa;position:relative;overflow:hidden}
.fc-light p{color:#4f5d6e}
.fc-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;position:relative}
.fc-answer{font-size:17px !important;line-height:1.7 !important;color:#0D2D4F !important;font-weight:500;border-left:3px solid #E04E1F;padding-left:18px;margin:0 0 18px !important}
.fc-intro p{font-size:16px;line-height:1.8;margin:0 0 14px}
.fc-big{display:flex;gap:0;margin-top:30px;border-top:1px solid #d6e0ea}
.fc-big div{flex:1;padding:20px 22px 0 0}
.fc-big div+div{padding-left:22px;border-left:1px solid #d6e0ea}
.fc-big div b{display:block;font-size:28px;font-weight:800;line-height:1.1;color:#0D2D4F}
.fc-big div b em{font-style:normal;color:#E04E1F}
.fc-big div span{display:block;margin-top:8px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#6c7a8d;font-weight:700}
.fc-map{background:#fff;border:1px solid #dde5ee;padding:34px 34px 26px;box-shadow:0 24px 50px rgba(13,45,79,.08);border-top:4px solid #E04E1F}
.fc-map h3{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#F2783F;margin:0 0 6px;font-weight:700}
.fc-map > p{font-size:14px !important;margin:0 0 18px !important;color:#6c7a8d !important}
.fc-state{display:grid;grid-template-columns:34px 1fr;gap:4px 12px;padding:14px 0;border-top:1px solid #edf1f5}
.fc-state i{grid-row:span 2;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#eef4fa;color:#1C6090;font-size:17px}
.fc-state b{font-size:15.5px;color:#0D2D4F;font-weight:700}
.fc-state span{font-size:13.5px;color:#6c7a8d}
.fc-map .fc-more{display:block;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f5;font-size:13.5px;color:#1C6090;font-weight:700;text-decoration:none}
/* carousel */
.fc-car-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
.fc-arrows{display:flex;gap:10px}
.fc-arrows button{width:52px;height:52px;border:1px solid #c8d4e0;background:#fff;color:#0D2D4F;font-size:22px;cursor:pointer;transition:.2s}
.fc-arrows button:hover{background:#0D2D4F;color:#fff;border-color:#0D2D4F}
.fc-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:calc((100vw - min(1328px,100vw - 24px))/2 + 12px);padding:0 calc((100vw - min(1328px,100vw - 24px))/2 + 12px) 18px;scrollbar-width:thin}
.fc-card{flex:0 0 min(420px,82vw);scroll-snap-align:start;position:relative;height:520px;overflow:hidden;margin:0;background:#dfe6ee}
.fc-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.fc-card:hover img{transform:scale(1.05)}
.fc-card figcaption{position:absolute;inset:auto 0 0 0;padding:90px 26px 26px;background:linear-gradient(0deg,rgba(6,18,33,.95) 10%,rgba(6,18,33,0));color:#fff}
.fc-card small{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F2783F}
.fc-card b{display:block;font-size:21px;line-height:1.25;margin:8px 0 8px}
.fc-card span{display:block;font-size:14px;color:#c5d6e6}
.fc-card em{display:inline-block;margin-top:12px;font-style:normal;font-size:12.5px;font-weight:700;border:1px solid rgba(255,255,255,.3);padding:5px 10px}
.fc-num{position:absolute;top:18px;right:20px;font-size:14px;font-weight:800;color:#fff;background:rgba(10,31,53,.6);padding:6px 10px}
/* scope */
.fc-scope{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.fc-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 200px;gap:12px}
.fc-collage img{width:100%;height:100%;object-fit:cover}
.fc-collage img:first-child{grid-row:span 2}
.fc-ol{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;counter-reset:n}
.fc-ol li{counter-increment:n;padding:16px 0;border-bottom:1px solid #e3e9f0;display:flex;gap:14px;align-items:baseline}
.fc-ol li::before{content:counter(n,decimal-leading-zero);font-size:12.5px;font-weight:800;color:#E04E1F}
.fc-ol b{font-size:16px;color:#0D2D4F;font-weight:700}
/* process timeline */
.fc-time{position:relative;margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.fc-time::before{content:'';position:absolute;top:21px;left:0;right:0;height:2px;background:rgba(255,255,255,.15)}
.fc-time div{position:relative}
.fc-time div b{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#E04E1F;color:#fff;font-weight:800;margin-bottom:22px;position:relative}
.fc-time h3{font-size:18px;color:#fff;margin:0 0 10px;font-weight:700}
.fc-time p{font-size:14.5px;line-height:1.7;margin:0}
/* faq */
.fc-faq{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.fc-q{border-bottom:1px solid #e3e9f0}
.fc-q summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:17px;font-weight:700;color:#0D2D4F;position:relative}
.fc-q summary::-webkit-details-marker{display:none}
.fc-q summary::after{content:'';position:absolute;right:6px;top:28px;width:10px;height:10px;border-right:2px solid #E04E1F;border-bottom:2px solid #E04E1F;transform:rotate(45deg);transition:.25s}
.fc-q[open] summary::after{transform:rotate(-135deg);top:32px}
.fc-q p{margin:0 0 22px;font-size:15px;line-height:1.75;color:#5b6878}
.fc-panel{background:#0D2D4F;color:#fff;padding:36px 32px;position:sticky;top:110px}
.fc-panel h3{font-size:24px;font-weight:800;margin:0 0 12px;color:#fff}
.fc-panel p{color:#b3c6d8;font-size:15px;line-height:1.7;margin:0 0 22px}
.fc-panel a{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:700;padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}
.fc-panel a i{color:#F2783F;font-size:20px}
.fc-panel a.btn{justify-content:center;background:#E04E1F;border:0;margin-top:14px}
@media(max-width:991px){.fc-intro,.fc-scope,.fc-faq{grid-template-columns:1fr;gap:40px}.fc-time{grid-template-columns:1fr 1fr}.fc-time::before{display:none}.fc-panel{position:static}}
@media(max-width:767px){.fc-big{flex-wrap:wrap}.fc-big div{flex:1 1 100%;padding:16px 0 0!important;border-left:0!important}.fc-sec{padding:60px 0}.fc-card{height:420px}.fc-ol{grid-template-columns:1fr}.fc-time{grid-template-columns:1fr}.fc-big{gap:24px}.fc-big div b{font-size:44px}.fc-car-head{flex-direction:column;align-items:start}}
/* helper classes (instead of inline styles) */
.fc-eyebrow--accent,.fc-light .fc-eyebrow--accent{color:#E04E1F}
.fc-text{font-size:16px;line-height:1.8;margin:0 0 14px}
.fc-text--flush{font-size:15.5px;line-height:1.75;color:#5b6878;margin:0}
.fc-sec--showcase{padding-bottom:80px}
.fc-sec--tint{background:#f4f7fa}
.fc-h2--flush{margin:0}
.fc-rel{position:relative}
.fc-panel a.btn i{color:#fff}

/* project data cards (shown when projects have 'stats' / 'specs', e.g. piling) */
.fc-specs-sec{background:#fff;padding-top:0}
.fc-data{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;align-items:start}
.fc-data-card{background:#fff;border:1px solid #e3e9f0;overflow:hidden}
.fc-data-top{position:relative;height:180px;background:#dfe6ee}
.fc-data-top img{width:100%;height:100%;object-fit:cover}
.fc-data-top div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 22px;background:linear-gradient(0deg,rgba(6,18,33,.9),rgba(6,18,33,.08));color:#fff}
.fc-data-top h3{margin:0;font-size:19px;font-weight:700;line-height:1.25;color:#fff}
.fc-data-top span{margin-top:3px;font-size:13px;color:#c5d6e6}
.fc-data-stats{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-bottom:1px solid #edf1f5;background:#fff}
.fc-data-stats div{padding:18px 18px 16px;box-shadow:1px 0 0 #edf1f5,0 1px 0 #edf1f5}
.fc-data-stats b{display:block;font-size:21px;font-weight:800;line-height:1.15;color:#1C6090}
.fc-data-stats span{display:block;margin-top:6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6c7a8d}
.fc-data-meta{margin:0;padding:8px 22px 18px}
.fc-data-meta div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:9px 0;border-top:1px solid #f0f3f7}
.fc-data-meta div:first-child{border-top:0}
.fc-data-meta dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6c7a8d;padding-top:2px}
.fc-data-meta dd{margin:0;font-size:14.5px;line-height:1.55;color:#0D2D4F;font-weight:500}
@media(max-width:1199px){.fc-data-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.fc-data{grid-template-columns:1fr}.fc-data-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:575px){.fc-data-stats{grid-template-columns:repeat(2,1fr)}.fc-data-meta div{grid-template-columns:1fr;gap:2px}.fc-data-top{height:160px}}

/* long project-data lists: first 6 visible, rest behind "Show all projects" (still in HTML for search engines) */
.fc-data.is-collapsible:not(.is-open) .fc-data-card:nth-child(n+7){display:none}
.fc-data-more-wrap{text-align:center;margin-top:30px}
.fc-data-more{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border:1px solid #0D2D4F;background:#fff;color:#0D2D4F;font:700 14px 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer;transition:.25s}
.fc-data-more:hover{background:#0D2D4F;color:#fff}
.fc-data-more[aria-expanded="true"] i{transform:rotate(180deg)}
.fc-data-more i{transition:transform .25s;font-size:18px}

/* optional related-guide link under the scope intro (e.g. blog article) */
.fc-guide{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:#fff;border:1px solid #dde5ee;border-left:3px solid #E04E1F;color:#0D2D4F;font-size:14px;font-weight:700;text-decoration:none;line-height:1.4;transition:.2s}
.fc-guide:hover{border-color:#1C6090;color:#1C6090}
.fc-guide i{color:#E04E1F;font-size:16px}
