/* Hotel WiFi: scoped, static, no external dependencies. */
.nw-page { --nw-blue:#19384a; }
.nw-page .nw-section { padding-block:clamp(3.5rem,7vw,6.5rem); }
.nw-page h1 { font-size:clamp(2.3rem,4.5vw,4.15rem); line-height:1.06; letter-spacing:-.045em; max-width:17ch; }
.nw-page h2 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.15; letter-spacing:-.025em; }
.nw-page h3 { font-size:1.15rem; line-height:1.35; }
.nw-page p { color:var(--muted); }
.nw-page figure { margin:0; min-width:0; }
.nw-page figcaption { font-size:.75rem; color:var(--muted); padding-top:.75rem; }
.nw-page .nw-hero { padding-block:clamp(2.5rem,6vw,5rem); background:linear-gradient(135deg,#f2f6f4,white); }
.nw-page .nw-hero-grid,.nw-page .nw-split,.nw-page .nw-expertise-grid,.nw-page .nw-faq-grid { display:grid; gap:clamp(2rem,5vw,5rem); align-items:center; }
.nw-page .nw-hero-grid { gap:2rem; }
.nw-page .nw-lead { color:var(--ink); font-size:clamp(1.2rem,1.7vw,1.45rem); line-height:1.45; margin-top:1.5rem; }
.nw-page .nw-hero-image img { width:100%; height:auto; border-radius:1.25rem; }
.nw-page .nw-hero-note { font-size:.8rem; margin-top:1.75rem; }
.nw-page .nw-link { display:inline-flex; gap:.5rem; align-items:center; min-height:44px; font-weight:650; color:var(--green-dark); }
.nw-page .nw-expertise { padding-block:3.5rem; background:var(--ink); color:white; }
.nw-page .nw-expertise p { color:#cad5d9; }
.nw-page .nw-expertise .eyebrow,.nw-page .nw-infrastructure .eyebrow { color:var(--green); }
.nw-page .nw-years>span { font-size:clamp(5.5rem,12vw,10rem); line-height:1; letter-spacing:-.08em; font-weight:800; color:var(--green); }
.nw-page .nw-years>span>span { font-size:.45em; vertical-align:top; }
.nw-page .nw-years p { margin-top:.5rem; }
.nw-page .nw-credentials { display:grid; gap:1.5rem; margin-top:2rem; }
.nw-page .nw-credentials>div { padding-top:1.25rem; border-top:1px solid #4a5c64; display:grid; gap:.3rem; }
.nw-page .nw-credentials strong { font-size:1.75rem; letter-spacing:.06em; }
.nw-page .nw-credentials span { font-size:.85rem; }
.nw-page .nw-credentials a { font-size:.75rem; min-height:44px; display:inline-flex; align-items:center; color:#b6f3bf; }
.nw-page .nw-small { font-size:.75rem; margin-top:1.25rem; }
.nw-page .nw-section-head { display:grid; gap:1.5rem; margin-bottom:2.75rem; align-items:end; }
.nw-page .nw-section-head p { margin-bottom:0; }
.nw-page .nw-cards { display:grid; gap:1rem; }
.nw-page .nw-cards article { border:1px solid var(--line); border-radius:.85rem; padding:1.75rem; background:white; }
.nw-page .nw-number { display:block; color:var(--green-dark); font-size:.75rem; font-weight:750; margin-bottom:1.5rem; }
.nw-page .nw-cards p { font-size:.93rem; margin-bottom:0; }
.nw-page .nw-infrastructure { background:var(--nw-blue); padding-block:clamp(3.5rem,7vw,6rem); color:white; }
.nw-page .nw-infrastructure p { color:#d1dce1; }
.nw-page .nw-infrastructure .nw-link { color:#b6f3bf; }
.nw-page .nw-layer-list article { border-top:1px solid #526b77; padding-block:1.4rem; }
.nw-page .nw-layer-list span { font-size:.7rem; letter-spacing:.12em; color:#a4d9b3; }
.nw-page .nw-layer-list h3 { margin-top:.4rem; }
.nw-page .nw-layer-list p { margin-bottom:0; font-size:.93rem; }
.nw-page .nw-engineering img { border-radius:1rem; width:100%; height:auto; }
.nw-page .nw-checks { list-style:none; padding:0; }
.nw-page .nw-checks li { padding:.65rem 0 .65rem 1.25rem; position:relative; border-bottom:1px solid var(--line); }
.nw-page .nw-checks li::before { content:''; width:6px; height:6px; background:var(--green-dark); position:absolute; top:1.15rem; left:0; }
.nw-page .nw-process { padding-block:clamp(3.5rem,7vw,6rem); background:var(--soft); }
.nw-page .nw-steps { list-style:none; padding:0; display:grid; gap:1.5rem; counter-reset:step; }
.nw-page .nw-steps li { counter-increment:step; padding-top:1rem; border-top:2px solid #b8c8c0; }
.nw-page .nw-steps li::before { content:'0' counter(step); display:block; color:var(--green-dark); font-size:.8rem; margin-bottom:1rem; }
.nw-page .nw-steps strong { font-size:1.05rem; }
.nw-page .nw-steps p { font-size:.88rem; }
.nw-page .nw-problems { padding-left:1.2rem; }
.nw-page .nw-problems li { padding:.75rem 0; border-bottom:1px solid var(--line); }
.nw-page .nw-faq { background:#f7f9f8; }
.nw-page .nw-faq-grid { align-items:start; }
.nw-page details { border-top:1px solid #c7d2cd; padding-block:1.15rem; }
.nw-page summary { cursor:pointer; font-weight:650; padding-block:.25rem; min-height:44px; }
.nw-page details p { margin-top:.75rem; }
.nw-page .nw-final { background:var(--ink); color:white; padding-block:clamp(3.5rem,7vw,6rem); text-align:center; }
.nw-page .nw-final .eyebrow { color:var(--green); }
.nw-page .nw-final h2 { max-width:23ch; margin-inline:auto; }
.nw-page .nw-final p:not(.eyebrow) { color:#d1dce1; max-width:65ch; margin-inline:auto; }
.nw-page .nw-final .button { margin-top:1rem; }
.nw-page .nw-expertise :focus-visible,.nw-page .nw-infrastructure :focus-visible,.nw-page .nw-final :focus-visible { outline-color:var(--green); }
@media(min-width:40rem) { .nw-page .nw-cards,.nw-page .nw-credentials { grid-template-columns:repeat(2,minmax(0,1fr)); } .nw-page .nw-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:56.25rem) { .nw-page .nw-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } .nw-page .nw-split { grid-template-columns:repeat(2,minmax(0,1fr)); } .nw-page .nw-expertise-grid { grid-template-columns:minmax(0,.4fr) minmax(0,1fr); } .nw-page .nw-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } .nw-page .nw-section-head { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); } .nw-page .nw-faq-grid { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); } }
