/* ============================================================
   franco-media.com - service page (Website creation, FR and EN),
   Brain's ruling of 25-10-2026, brief of 24-10-2026.

   Loaded only by page-templates/gpcf-service-page.php. Every rule is
   scoped under .svcpage. Token names only: no hex value, no
   !important. Layout from the design reference (Website creation page
   - design reference, 24-10-2026): hero band, positioning strip,
   recent builds, what we build, method, not for everyone, promise,
   form. Montserrat 800 headings, PT Sans body, pill buttons, Lucide
   outline icons drawn from assets/icons/ as masks.

   Contrast: text on the band is white; golden orange carries only the
   primary button (ink text) and the labels on the ink band.

   Breakpoints: 900px stacks every grid to one column; 600px makes the
   buttons full width and the form one column.
   ============================================================ */

.svcpage{font-family:var(--font-body);font-size:var(--size-body);line-height:var(--lh-body);color:var(--os-text);background:var(--os-bg);width:100%;box-sizing:border-box;overflow-x:clip}
.svcpage *,.svcpage *::before,.svcpage *::after{box-sizing:border-box}
.svcpage :where(h1,h2,h3,h4,p,ul,ol,figure){margin:0;padding:0}
.svcpage :where(h1,h2,h3,h4){font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:-.01em}
.svcpage .wrap{max-width:var(--content-max);margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.svcpage .sp-sec{padding:72px 0}
.svcpage .sp-stack{display:flex;flex-direction:column;gap:14px}
.svcpage .sp-eyebrow{font-family:var(--font-body);font-weight:var(--weight-bold);font-size:var(--size-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--os-link)}
.svcpage .sp-h2{font-size:var(--size-section-h2);line-height:var(--lh-h2);color:var(--os-heading)}
.svcpage .sp-h3{font-size:var(--size-h3);line-height:var(--lh-h3);color:var(--os-heading-2)}
.svcpage .sp-lead{font-size:var(--size-lead);line-height:1.55}
.svcpage .sp-muted{color:var(--os-muted)}
.svcpage .sp-small{font-size:var(--size-small);line-height:1.55;color:var(--os-muted)}
.svcpage .sp-measure{max-width:760px}
.svcpage a{color:var(--os-link)}
.svcpage a:hover{color:var(--os-link-hover)}
.svcpage a:focus-visible{outline:3px solid var(--os-link);outline-offset:3px}

/* ---------- buttons (pill) ---------- */
.svcpage .sp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--weight-display);font-size:15px;line-height:1.2;text-decoration:none;border:2px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.svcpage .sp-btn-cta{background:var(--os-cta);color:var(--os-cta-ink);border-color:var(--os-cta)}
.svcpage .sp-btn-cta:hover{background:var(--os-cta-hover);border-color:var(--os-cta-hover);color:var(--os-cta-ink)}
.svcpage .sp-btn-ghost{background:transparent;color:var(--on-dark);border-color:var(--on-dark-muted)}
.svcpage .sp-btn-ghost:hover{background:var(--on-dark-fill);color:var(--on-dark);border-color:var(--on-dark)}
.svcpage .sp-btn:focus-visible{outline:3px solid var(--on-dark);outline-offset:3px;box-shadow:0 0 0 6px var(--os-link)}
.svcpage .sp-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.svcpage .sp-more{font-weight:var(--weight-bold);font-size:15px;text-decoration:none;color:var(--os-link);margin-top:4px}
.svcpage .sp-more::after{content:"";display:inline-block;width:15px;height:15px;margin-left:6px;vertical-align:-2px;background:currentColor;-webkit-mask:url(../icons/arrow-right.svg) center/contain no-repeat;mask:url(../icons/arrow-right.svg) center/contain no-repeat}

/* ---------- hero band ---------- */
.svcpage .sp-hero{background:var(--os-band);color:var(--on-dark);padding:96px 0 88px;border-radius:var(--radius-band)}
.svcpage .sp-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:center}
.svcpage .sp-hero-main{grid-column:span 7;display:flex;flex-direction:column;gap:24px}
.svcpage .sp-hero-side{grid-column:span 5}
.svcpage .sp-hero .sp-eyebrow{color:var(--on-dark)}
.svcpage .sp-hero h1{font-size:var(--size-hero-h1);line-height:var(--lh-hero-h1);letter-spacing:var(--ls-hero-h1);color:var(--on-dark)}
.svcpage .sp-hero-sub{font-size:var(--size-hero-sub);line-height:1.5;color:var(--on-dark-hero-sub);max-width:560px}
.svcpage .sp-get{background:var(--on-dark-fill);border:1px solid var(--on-dark-border);border-radius:16px;padding:24px 28px;display:flex;flex-direction:column;gap:14px}
.svcpage .sp-get p.sp-get-label{font-family:var(--font-display);font-weight:var(--weight-display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark)}
.svcpage .sp-get p{font-size:17px;line-height:1.5;color:var(--on-dark)}
.svcpage .sp-get p.sp-get-terms{font-size:15px;color:var(--on-dark-muted)}

/* ---------- cards and grids ---------- */
.svcpage .sp-grid{display:grid;gap:24px}
.svcpage .sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.svcpage .sp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.svcpage .sp-card{background:var(--os-card);border:1px solid var(--os-line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.svcpage .sp-card p{font-size:16px;line-height:1.55}
.svcpage .sp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.svcpage .sp-head p.sp-aside{max-width:420px;color:var(--os-muted)}
.svcpage .sp-intro{margin-bottom:40px}

/* icon tiles (Lucide outline, as masks) */
.svcpage .sp-tile{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--os-tint)}
.svcpage .sp-tile::before{content:"";width:22px;height:22px;background:var(--os-accent);-webkit-mask:var(--sp-ico) center/contain no-repeat;mask:var(--sp-ico) center/contain no-repeat}
.svcpage .sp-tile-return{--sp-ico:url(../icons/trending-up.svg)}
.svcpage .sp-tile-search{--sp-ico:url(../icons/search.svg);background:var(--os-tint-warm)}
.svcpage .sp-tile-search::before{background:var(--os-cta-hover)}
.svcpage .sp-tile-craft{--sp-ico:url(../icons/sparkles.svg);background:var(--pkg-ultimate-tint)}
.svcpage .sp-tile-craft::before{background:var(--pkg-ultimate)}

/* recent builds */
.svcpage .sp-build{padding:0;overflow:hidden;gap:0;text-decoration:none;color:inherit;transition:box-shadow .15s ease,border-color .15s ease}
.svcpage .sp-build:hover{box-shadow:var(--shadow-floating);border-color:var(--os-accent);color:inherit}
.svcpage .sp-build img{display:block;width:100%;height:220px;object-fit:cover;object-position:top;border-bottom:1px solid var(--os-line)}
.svcpage .sp-build-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.svcpage .sp-build-kind{font-weight:var(--weight-bold);font-size:var(--size-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--os-link)}
.svcpage .sp-build h3{font-size:var(--size-card-title);line-height:var(--lh-card-title);color:var(--os-heading)}
.svcpage .sp-build .sp-build-text{font-size:15px;line-height:1.5;color:var(--os-text)}
.svcpage .sp-build .sp-more{margin-top:6px;font-size:14.5px}

/* what we build */
.svcpage .sp-band{background:var(--os-card);border-top:1px solid var(--os-line);border-bottom:1px solid var(--os-line)}
.svcpage .sp-band .sp-card{background:var(--os-bg);padding:28px 30px}
.svcpage .sp-band .sp-h3{font-size:21px}

/* method */
.svcpage .sp-method{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px}
.svcpage .sp-method-text{grid-column:span 5;display:flex;flex-direction:column;gap:14px}
.svcpage .sp-steps{grid-column:span 7;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.svcpage .sp-steps li{display:flex;gap:18px;align-items:flex-start;background:var(--os-card);border:1px solid var(--os-line);border-radius:var(--radius-card);padding:18px 22px;margin:0}
.svcpage .sp-num{flex:none;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--os-dark-teal);color:var(--on-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-display);font-size:15px}
.svcpage .sp-num-last{background:var(--os-cta);color:var(--os-cta-ink)}
.svcpage .sp-steps p.sp-step-title{font-weight:var(--weight-bold);font-size:17px;color:var(--os-heading-2);margin:0 0 4px}
.svcpage .sp-steps p{font-size:15px;line-height:1.5}

/* not for everyone (ink band) */
.svcpage .sp-ink{background:var(--os-heading);color:var(--on-dark)}
.svcpage .sp-ink .sp-eyebrow{color:var(--os-cta)}
.svcpage .sp-ink .sp-h2{color:var(--on-dark)}
.svcpage .sp-ink p{color:var(--on-dark-muted)}
.svcpage .sp-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start}
.svcpage .sp-fit-lists{display:flex;flex-direction:column;gap:16px}
.svcpage .sp-box{background:var(--on-dark-fill);border:1px solid var(--on-dark-border);border-radius:var(--radius-card);padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.svcpage .sp-ink p.sp-box-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:15px;color:var(--os-cta)}
.svcpage .sp-box ul{margin:0;padding-left:20px;list-style:disc}
.svcpage .sp-box li{font-size:16px;line-height:1.6;color:var(--on-dark);margin:0 0 4px}

/* promise */
.svcpage .sp-promise{padding:80px 0 64px;text-align:center}
.svcpage .sp-promise .sp-stack{max-width:820px;margin:0 auto;align-items:center;gap:18px}
.svcpage .sp-promise .sp-h2{font-size:40px;line-height:1.15}
.svcpage .sp-promise p{font-size:18px;line-height:1.55}

/* form */
.svcpage .sp-form{padding:40px 0 96px;scroll-margin-top:24px}
.svcpage .sp-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:start}
.svcpage .sp-form-text{grid-column:span 5;display:flex;flex-direction:column;gap:14px}
.svcpage .sp-form-card{grid-column:span 7;background:var(--os-card);border:1px solid var(--os-line);border-radius:18px;padding:32px}
.svcpage .sp-form-note{margin-top:14px;font-size:var(--size-small);color:var(--os-muted)}
.svcpage .sp-form-card .forminator-ui.forminator-custom-form{margin:0}
.svcpage #work{scroll-margin-top:24px}

/* ---------- tablet: grids stack ---------- */
@media (max-width:900px){
  .svcpage .sp-hero-grid,.svcpage .sp-method,.svcpage .sp-form-grid,.svcpage .sp-fit,.svcpage .sp-grid-3,.svcpage .sp-grid-2{grid-template-columns:1fr}
  .svcpage .sp-hero-main,.svcpage .sp-hero-side,.svcpage .sp-method-text,.svcpage .sp-steps,.svcpage .sp-form-text,.svcpage .sp-form-card{grid-column:auto}
  .svcpage .sp-hero{padding:64px 0 56px}
  .svcpage .sp-sec{padding:56px 0}
}

/* ---------- phone ---------- */
@media (max-width:600px){
  .svcpage .wrap{padding-left:var(--page-gutter-mobile);padding-right:var(--page-gutter-mobile)}
  .svcpage .sp-hero{border-radius:0 0 40px 40px}
  .svcpage .sp-hero h1{font-size:var(--m-size-hero-h1);letter-spacing:var(--m-ls-hero-h1)}
  .svcpage .sp-hero-sub{font-size:17px}
  .svcpage .sp-h2,.svcpage .sp-promise .sp-h2{font-size:var(--m-size-h2)}
  .svcpage .sp-h3{font-size:var(--m-size-h3)}
  .svcpage .sp-actions{flex-direction:column}
  .svcpage .sp-btn{width:100%}
  .svcpage .sp-card:not(.sp-build),.svcpage .sp-band .sp-card{padding:22px}
  .svcpage .sp-steps li{padding:16px}
  .svcpage .sp-form-card{padding:20px 16px}
  .svcpage .sp-form-card .forminator-row{flex-direction:column}
  .svcpage .sp-form-card .forminator-col{width:100%;max-width:100%;flex:1 1 100%}
  .svcpage .sp-form-card .forminator-button-submit{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .svcpage .sp-btn,.svcpage .sp-build{transition:none}
}
