/* Oplink Web Hosting landing page. All styles are PAGE-SCOPED.
   The existing .photo-hero, .photo-hero__grid, header and footer are untouched.
   The high-resolution hero image remains 1671x941 desktop and 862x800 mobile. */
.page--web-hosting .wh-section { padding-block: clamp(3.6rem, 6vw, 6.2rem); }
.page--web-hosting .wh-section--tight { padding-block: clamp(3rem, 4.5vw, 4.6rem); }
.page--web-hosting .wh-intro { max-width: 54rem; }
.page--web-hosting .wh-kicker { display: block; margin-bottom: .85rem; color: #86d5ff; font-size: .75rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.page--web-hosting .wh-intro h2,.page--web-hosting .wh-section-heading h2 { max-width: 19ch; margin: 0 0 1rem; color: #f9fcff; font-size: clamp(2rem, 3.9vw, 3.65rem); letter-spacing: -.048em; line-height: 1.12; }
.page--web-hosting .wh-intro p,.page--web-hosting .wh-section-heading p { max-width: 68ch; color: #b9cce1; line-height: 1.82; }
.page--web-hosting .wh-intro a,.page--web-hosting .wh-copy a { color: #91d6ff; text-decoration: underline; text-underline-offset: 3px; }
.page--web-hosting .wh-tag-row { display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem; }
.page--web-hosting .wh-tag { padding:.52rem .85rem;border:1px solid rgba(92,167,232,.26);border-radius:999px;background:rgba(7,29,50,.88);color:#c5e5fa;font-size:.79rem;font-weight:750; }
.page--web-hosting .wh-hero-perks { display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;margin-top:1.45rem;color:#c0dcf0;font-size:.78rem; }
.page--web-hosting .wh-hero-perks span:before { content:'';display:inline-block;width:.4rem;height:.4rem;margin-right:.48rem;vertical-align:.12rem;border-radius:50%;background:#43b7ff;box-shadow:0 0 .55rem rgba(67,183,255,.6); }
.page--web-hosting .wh-pricing { background:radial-gradient(circle at 78% 8%,rgba(19,103,202,.19),transparent 29rem),linear-gradient(180deg,#05101c,#030912); }
.page--web-hosting .wh-pricing-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:stretch;max-width:68rem;margin:2.3rem auto 0; }
.page--web-hosting .wh-plan { display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #99badb;border-radius:1.25rem;background:#f8fbff;color:#152943;box-shadow:0 20px 60px rgba(0,0,0,.28);transition:transform .2s ease,border-color .2s ease; }
.page--web-hosting .wh-plan:hover { transform:translateY(-3px);border-color:#52b0ff; }
.page--web-hosting .wh-plan--premium { border:2px solid #409ef5; }
.page--web-hosting .wh-plan-banner { padding:.7rem 1.25rem;background:linear-gradient(95deg,#103960,#0a6dc4);color:#fff;font-size:.73rem;font-weight:900;letter-spacing:.095em;text-align:center;text-transform:uppercase; }
.page--web-hosting .wh-plan--premium .wh-plan-banner { background:linear-gradient(100deg,#0b61b3,#1982ed); }
.page--web-hosting .wh-plan-body { display:flex;flex-direction:column;flex:1;padding:clamp(1.25rem,3vw,2rem); }
.page--web-hosting .wh-plan-eyebrow { color:#56728f;font-size:.73rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase; }
.page--web-hosting .wh-plan h3 { margin:.25rem 0 .5rem;color:#152842;font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.025em; }
.page--web-hosting .wh-plan-description { min-height:3.2rem;margin:0 0 1.05rem;color:#536b83;font-size:.88rem;line-height:1.55; }
.page--web-hosting .wh-price { display:flex;align-items:baseline;gap:.35rem;margin-bottom:1.15rem;padding:1.15rem 1.05rem;border:1px solid #d5e5f4;border-radius:.85rem;background:#edf5fc; }
.page--web-hosting .wh-price strong { color:#0868be;font-size:clamp(2.5rem,4.5vw,3.35rem);line-height:1;font-weight:900;letter-spacing:-.06em; }
.page--web-hosting .wh-price span { color:#536d86;font-size:.85rem;font-weight:750; }
.page--web-hosting .wh-plan-specs { flex:1;margin:0 0 1.2rem;padding:0;list-style:none; }
.page--web-hosting .wh-plan-specs li { position:relative;min-height:2.35rem;padding:.6rem .2rem .6rem 1.45rem;border-bottom:1px solid #e2ebf3;color:#314860;font-size:.84rem;line-height:1.55; }
.page--web-hosting .wh-plan-specs li:last-child { border-bottom:0; }
.page--web-hosting .wh-plan-specs li:before { content:'\2713';position:absolute;left:.08rem;top:.6rem;color:#0875c7;font-weight:900; }
.page--web-hosting .wh-plan-specs strong { color:#172e46; }
.page--web-hosting .wh-plan-cta { display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem 1rem;border:1px solid #1168c4;border-radius:.8rem;background:linear-gradient(135deg,#0870dc,#0b5dc0);color:#fff!important;font-weight:850;font-size:.92rem;text-align:center;box-shadow:0 .6rem 1.4rem rgba(16,112,225,.16); }
.page--web-hosting .wh-plan-cta:hover { background:linear-gradient(135deg,#0662bf,#0b4d9c); }
.page--web-hosting .wh-plan-cta:focus-visible { outline:3px solid #f35353;outline-offset:3px; }
.page--web-hosting .wh-plan-verify { display:block;margin-top:.7rem;color:#6b8397;font-size:.72rem;text-align:center; }
.page--web-hosting .wh-pricing-note { max-width:67rem;margin:1.4rem auto 0;color:#a6bed3;font-size:.8rem;line-height:1.75;text-align:center; }
.page--web-hosting .wh-pricing-note a { color:#a1dcff;text-decoration:underline;text-underline-offset:3px; }
.page--web-hosting .wh-feature-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.1rem; }
.page--web-hosting .wh-feature { min-width:0;padding:clamp(1.25rem,2.6vw,1.8rem);border:1px solid rgba(90,166,235,.25);border-radius:1.15rem;background:linear-gradient(150deg,rgba(12,33,57,.94),rgba(5,16,28,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.page--web-hosting .wh-feature-icon { display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1.2rem;border:1px solid rgba(81,178,246,.4);border-radius:.85rem;background:rgba(25,101,192,.18);color:#57c1ff; }
.page--web-hosting .wh-feature-icon svg { width:1.6rem;height:1.6rem; }
.page--web-hosting .wh-feature h3 { margin:0 0 .85rem;font-size:1.32rem;letter-spacing:-.015em; }
.page--web-hosting .wh-feature p { margin:0 0 .9rem;color:#b6cbdf;font-size:.89rem;line-height:1.75; }
.page--web-hosting .wh-feature p:last-child { margin-bottom:0; }
.page--web-hosting .wh-feature a,.page--web-hosting .wh-faq a { color:#8ad6ff;text-decoration:underline;text-underline-offset:3px; }
.page--web-hosting .wh-feature ul { margin:.3rem 0 0;padding-left:1.25rem;color:#c6dbee;font-size:.86rem;line-height:1.8; }
.page--web-hosting .wh-section--split { display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(1.5rem,4vw,3.75rem);align-items:center; }
.page--web-hosting .wh-copy h2 { margin:0 0 1rem;font-size:clamp(1.85rem,3.65vw,3.25rem);letter-spacing:-.044em;line-height:1.14; }
.page--web-hosting .wh-copy p { margin:0 0 1.1rem;color:#b7cde0;line-height:1.8; }
.page--web-hosting .wh-copy p:last-child { margin-bottom:0; }
.page--web-hosting .wh-security-list { display:grid;gap:.8rem; }
.page--web-hosting .wh-security-item { padding:1.15rem 1.35rem;border:1px solid rgba(83,157,223,.26);border-radius:.8rem;background:rgba(13,37,60,.65); }
.page--web-hosting .wh-security-item strong { display:block;margin-bottom:.2rem;color:#fff;font-size:.98rem; }
.page--web-hosting .wh-security-item span { display:block;color:#b7cde0;font-size:.87rem;line-height:1.6; }
.page--web-hosting .wh-faq { max-width:70rem;margin:2rem auto 0;display:grid;gap:.75rem; }
.page--web-hosting .wh-faq .faq-item { background:linear-gradient(145deg,rgba(12,34,55,.92),rgba(5,13,26,.96));border-color:rgba(89,165,232,.24); }
.page--web-hosting .wh-faq .faq-item summary { padding:1.05rem 3rem 1.05rem 1.35rem;font-size:.94rem;line-height:1.52; }
.page--web-hosting .wh-faq .faq-item__content { padding:0 1.35rem 1.25rem; }
.page--web-hosting .wh-faq .faq-item__content p { margin:0 0 .7rem;color:#bfcee0;font-size:.88rem;line-height:1.76; }
.page--web-hosting .wh-faq .faq-item__content p:last-child { margin-bottom:0; }
.page--web-hosting .wh-cta { display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.7rem);border:1px solid rgba(86,180,255,.34);border-radius:1.3rem;background:linear-gradient(105deg,#0b2e50,#0a1a2e 70%,#10304c); }
.page--web-hosting .wh-cta h2 { margin:.5rem 0 .65rem;font-size:clamp(1.6rem,3vw,2.3rem); }
.page--web-hosting .wh-cta p { max-width:55ch;margin:0;color:#bed1e4;font-size:.9rem; }
.page--web-hosting .wh-cta .button { flex:0 0 auto;min-height:3.2rem; }
@media(max-width:62rem) {
 .page--web-hosting .wh-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page--web-hosting .wh-feature:last-child { grid-column:1/-1; }
}
@media(max-width:48rem) {
 .page--web-hosting .wh-pricing-grid,.page--web-hosting .wh-feature-grid,.page--web-hosting .wh-section--split { grid-template-columns:1fr; }
 .page--web-hosting .wh-feature:last-child { grid-column:auto; }
 .page--web-hosting .wh-plan-description { min-height:0; }
 .page--web-hosting .wh-cta { align-items:flex-start;flex-direction:column; }
 .page--web-hosting .wh-cta .button { width:100%;text-align:center; }
 .page--web-hosting .wh-hero-perks { gap:.5rem .8rem; }
}
@media(prefers-reduced-motion:reduce) { .page--web-hosting .wh-plan { transition:none; } }
