/* Subpages (services, realizations, about, contact): components of the page content, layered on
   awnet-home.css, awnet-light.css and awnet-light-map.css (shared header, footer, buttons, hero checks,
   steps, contact section and form). The markup lives in content/<slug>.html. */
.awnet-subpage { --aw-sp-tint:#ecf1e8; --aw-sp-line:#dce3db; --aw-sp-card-line:#e2e7df; }
.awnet-subpage main { display:block; }
.awnet-subpage .awnet-nowrap { white-space:nowrap; }
.awnet-subpage section[id] { scroll-margin-top:var(--aw-anchor-offset); }

/* Breadcrumbs share the hero background. */
.awnet-subpage .awnet-breadcrumbs { background:var(--aw-sp-tint); }
.awnet-subpage .awnet-breadcrumbs ol { width:min(100% - 48px,1200px); margin:0 auto; padding:18px 0 0; display:flex; flex-wrap:wrap; gap:4px 8px; list-style:none; color:var(--aw-muted); font-size:13px; line-height:1.5; }
.awnet-subpage .awnet-breadcrumbs li + li::before { content:"/"; margin-right:8px; color:#93a3a3; }
.awnet-subpage .awnet-breadcrumbs a { display:inline-flex; align-items:center; min-height:24px; color:var(--aw-aqua-dark); font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.awnet-subpage .awnet-breadcrumbs [aria-current] { color:var(--aw-ink); font-weight:650; }

/* Hero */
.awnet-sp-hero { background:var(--aw-sp-tint); }
.awnet-sp-hero-inner { width:min(100% - 48px,1200px); margin:0 auto; padding:30px 0 56px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.94fr); gap:56px; align-items:center; }
.awnet-sp-hero .awnet-kicker { margin-bottom:16px; }
.awnet-subpage .awnet-sp-hero h1 { max-width:620px; font-size:clamp(32px,3.4vw,46px); font-weight:760; line-height:1.1; text-wrap:balance; }
.awnet-sp-lead { max-width:560px; margin:20px 0 0; color:var(--aw-muted); font-size:17px; line-height:1.6; }
.awnet-sp-hero-photo { position:relative; margin:0; }
.awnet-sp-hero-photo img { display:block; width:100%; height:380px; object-fit:cover; border-radius:10px; box-shadow:0 20px 50px rgba(20,45,54,.14); }
.awnet-sp-hero-panel { padding:30px; background:#fff; border:1px solid var(--aw-sp-card-line); border-radius:10px; box-shadow:0 20px 50px rgba(20,45,54,.08); }
.awnet-sp-hero-panel > p { margin:0 0 6px; color:var(--aw-ink); font-size:19px; font-weight:750; line-height:1.3; }
.awnet-sp-hero-panel .awnet-sp-checklist li { padding:14px 0; font-size:15px; }
.awnet-sp-hero-panel .awnet-sp-checklist li:last-child { border-bottom:0; padding-bottom:0; }

/* Section shells */
.awnet-sp-section { padding:64px 0; }
.awnet-sp-section.is-white { background:#fff; }
.awnet-sp-section.is-tint { background:var(--aw-sp-tint); }
.awnet-sp-inner { width:min(100% - 48px,1200px); margin:0 auto; }
.awnet-sp-inner > h2,
.awnet-sp-head h2,
.awnet-sp-split h2 { max-width:860px; color:var(--aw-ink); }
.awnet-sp-inner > h2 { margin-bottom:28px; }
.awnet-sp-head { margin-bottom:30px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:18px 56px; align-items:end; }
.awnet-sp-head > p,
.awnet-sp-split > div > p:not(.awnet-kicker) { margin:0; color:var(--aw-muted); font-size:16px; line-height:1.65; }
.awnet-sp-split > div > p:not(.awnet-kicker) { margin-top:18px; }
.awnet-sp-inner p a:not(.awnet-button) { color:var(--aw-aqua-dark); font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.awnet-sp-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:start; }

/* Cards */
.awnet-sp-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.awnet-sp-cards article { padding:24px; background:#fff; border:1px solid var(--aw-sp-card-line); border-radius:8px; }
.awnet-sp-section.is-white .awnet-sp-cards article { background:var(--aw-paper); }
.awnet-sp-tag { display:block; color:var(--aw-aqua-dark); font-size:12px; font-weight:750; letter-spacing:.02em; }
.awnet-sp-cards h3 { margin:12px 0 10px; color:var(--aw-ink); font-size:20px; }
.awnet-sp-cards p { margin:0; color:var(--aw-muted); font-size:15px; line-height:1.6; }

/* Checklist */
.awnet-sp-checklist { margin:0; padding:0; list-style:none; border-top:1px solid var(--aw-sp-line); }
.awnet-sp-checklist li { position:relative; padding:16px 0 16px 32px; color:var(--aw-muted); font-size:16px; line-height:1.6; border-bottom:1px solid var(--aw-sp-line); }
.awnet-sp-checklist li::before { content:""; position:absolute; left:0; top:19px; width:18px; height:18px; border-radius:50%; background:var(--aw-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-5' fill='none' stroke='%23142d36' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat; }
.awnet-sp-checklist strong { color:var(--aw-ink); }

/* Steps reuse .awnet-steps from the homepage; a note can follow them. */
.awnet-subpage .awnet-sp-inner > .awnet-steps { margin-top:6px; }
.awnet-sp-note { margin:32px 0 0; padding:20px 24px; color:var(--aw-muted); font-size:15px; line-height:1.6; background:#fff; border:1px solid var(--aw-sp-line); border-left:4px solid var(--aw-aqua-dark); border-radius:8px; }
.awnet-sp-section.is-white .awnet-sp-note { background:var(--aw-paper); }
.awnet-sp-note strong { display:block; margin-bottom:4px; color:var(--aw-ink); font-size:16px; }

/* Photos */
.awnet-sp-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.awnet-sp-photos figure { position:relative; margin:0; }
.awnet-sp-photos img { display:block; width:100%; height:230px; object-fit:cover; border-radius:8px; background:#dfe6dd; }
.awnet-sp-photos img.is-top { object-position:50% 18%; }
.awnet-sp-photos figcaption { margin-top:12px; color:var(--aw-muted); font-size:14px; line-height:1.55; }
.awnet-sp-photos figcaption strong { display:block; margin-bottom:2px; color:var(--aw-ink); font-size:17px; }
.awnet-sp-photo-group + .awnet-sp-photo-group { margin-top:44px; }
.awnet-sp-photo-group > h3 { margin:0 0 18px; color:var(--aw-ink); font-size:22px; }

/* FAQ */
.awnet-sp-faq { border-top:1px solid var(--aw-sp-line); }
.awnet-sp-faq details { border-bottom:1px solid var(--aw-sp-line); }
.awnet-light .awnet-sp-faq summary { position:relative; display:flex; align-items:center; min-height:58px; padding:16px 44px 16px 0; color:var(--aw-ink); font-size:17px; font-weight:700; line-height:1.4; list-style:none; }
.awnet-sp-faq summary::-webkit-details-marker { display:none; }
.awnet-sp-faq summary::after { content:""; position:absolute; right:4px; top:50%; width:24px; height:24px; margin-top:-12px; border-radius:50%; background:var(--aw-sp-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 2.5v7M2.5 6h7' fill='none' stroke='%23142d36' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.awnet-sp-faq details[open] summary::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6h7' fill='none' stroke='%23142d36' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.awnet-sp-section.is-tint .awnet-sp-faq summary::after { background-color:#fff; }
.awnet-sp-faq summary:hover { color:var(--aw-aqua-dark); }
.awnet-sp-faq details p { max-width:720px; margin:0 0 20px; color:var(--aw-muted); font-size:16px; line-height:1.65; }

/* Related pages ([awnetpro_related]) */
.awnet-sp-related { margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; list-style:none; }
.awnet-sp-related a { position:relative; height:100%; min-height:132px; padding:20px 20px 48px; display:flex; flex-direction:column; gap:8px; color:var(--aw-ink); background:var(--aw-paper); border:1px solid var(--aw-sp-card-line); border-radius:8px; transition:border-color .18s ease, transform .18s ease; }
.awnet-sp-related a:hover { border-color:var(--aw-aqua-dark); transform:translateY(-2px); }
.awnet-sp-related strong { font-size:18px; line-height:1.3; }
.awnet-sp-related span { color:var(--aw-muted); font-size:14px; line-height:1.5; }
.awnet-sp-related b { position:absolute; left:20px; bottom:16px; color:var(--aw-aqua-dark); font-size:18px; }

/* Realization map ([awnetpro_map]) in the hero and the city list ([awnetpro_cities]) */
.awnet-sp-map { min-width:0; }
.awnet-sp-cities { margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; }
.awnet-sp-cities li { padding:18px 20px; display:grid; gap:4px; background:#fff; border:1px solid var(--aw-sp-card-line); border-radius:8px; }
.awnet-sp-section.is-white .awnet-sp-cities li { background:var(--aw-paper); }
.awnet-sp-cities b { color:var(--aw-ink); font-size:18px; }
.awnet-sp-cities span { color:var(--aw-muted); font-size:14px; }
.awnet-sp-cities span:first-of-type { color:var(--aw-aqua-dark); font-weight:700; }
.awnet-sp-cities-total { margin:18px 0 0; color:var(--aw-ink); font-size:15px; font-weight:700; }

/* Contact section (homepage component) closing the page, or opening the contact page. */
.awnet-subpage main > .awnet-contact { margin-top:56px; scroll-margin-top:var(--aw-anchor-offset); }
.awnet-sp-contact-hero { padding:30px 0 56px; background:var(--aw-sp-tint); }
.awnet-subpage .awnet-sp-contact-hero > .awnet-contact { margin-top:0; margin-bottom:0; }
.awnet-sp-contact-hero h1 { color:#fff; font-size:clamp(32px,3.4vw,44px); font-weight:760; line-height:1.1; }

@media (max-width:900px) {
  .awnet-sp-hero-inner,
  .awnet-sp-head,
  .awnet-sp-split { grid-template-columns:1fr; gap:28px; }
  .awnet-sp-head { gap:14px; }
  .awnet-sp-cards,
  .awnet-sp-photos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .awnet-sp-hero-photo img { height:320px; }
  .awnet-sp-cities { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .awnet-subpage .awnet-breadcrumbs ol,
  .awnet-sp-hero-inner,
  .awnet-sp-inner { width:calc(100% - 40px); }
  .awnet-subpage .awnet-breadcrumbs ol { padding-top:14px; font-size:12.5px; }
  .awnet-sp-hero-inner { padding:22px 0 36px; gap:26px; }
  .awnet-subpage .awnet-sp-hero h1 { font-size:31px; }
  .awnet-sp-lead { margin-top:16px; font-size:16px; }
  .awnet-sp-hero-photo img { height:210px; }
  .awnet-sp-hero-panel { padding:22px; }
  .awnet-sp-section { padding:40px 0; }
  .awnet-sp-cards,
  .awnet-sp-photos { grid-template-columns:1fr; gap:14px; }
  .awnet-sp-cities { gap:10px; }
  .awnet-sp-cities li { padding:14px 16px; }
  .awnet-sp-cities b { font-size:16px; }
  .awnet-sp-cities span { font-size:13px; }
  .awnet-sp-related a { min-height:0; padding:16px 48px 16px 18px; }
  .awnet-sp-related b { left:auto; right:18px; top:50%; bottom:auto; transform:translateY(-50%); }
  .awnet-sp-photos { gap:24px; }
  .awnet-sp-photos img { height:210px; }
  .awnet-sp-cards article { padding:20px; }
  .awnet-sp-checklist li { font-size:15px; }
  .awnet-sp-faq summary { font-size:16px; }
  .awnet-subpage main > .awnet-contact { margin-top:40px; }
  .awnet-sp-contact-hero { padding:20px 0 0; }
  .awnet-sp-contact-hero h1 { font-size:30px; }
}
@media (max-width:359px) {
  .awnet-sp-cities { grid-template-columns:1fr; }
}
