/* StartWebTop polish layer
   Purpose: readable typography, centered section headings, cleaner cards, and safer mobile layout. */ :root {
    --swt2-readable-text: clamp(16px,  1.05vw,  18px);
    --swt2-readable-small: clamp(15px,  .95vw,  16px);
    --swt2-section-gap: clamp(42px,  6vw,  78px);
}

html {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body {
    font-size:var(--swt2-readable-text);
    line-height:1.65;
}

p, li {
    line-height:1.68;
}

.container {
    width:min(var(--swt2-container),  calc(100% - clamp(32px,  5vw,  56px)));
}

.section {
    padding:var(--swt2-section-gap) 0;
}

.swt2-page-main section + section {
    margin-top:0;
}

/* Centralized section headers */ .swt2-section-head {
    max-width:860px;
    margin:0 auto clamp(24px,  4vw,  38px);
    text-align:center;
}

.swt2-section-title {
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    font-size:clamp(30px,  3.1vw,  46px);
    line-height:1.08;
    letter-spacing:-.045em;
}

.swt2-section-text {
    max-width:760px;
    margin:14px auto 0;
    text-align:center;
    font-size:clamp(17px,  1.2vw,  19px);
    line-height:1.72;
    color:#c4d0d4;
}

/* Hero readability */ .swt2-hero {
    padding:clamp(46px,  6vw,  78px) 0 clamp(34px,  5vw,  56px);
}

.swt2-hero__title {
    max-width:780px;
    font-size:clamp(44px,  5vw,  66px);
    line-height:1.03;
    letter-spacing:-.058em;
}

.swt2-hero__text {
    max-width:680px;
    font-size:clamp(18px,  1.35vw,  20px);
    line-height:1.72;
    color:#c8d3d7;
}

.swt2-hero__breadcrumbs {
    font-size:14px;
    line-height:1.45;
}

.swt2-hero__badge, .swt2-section-kicker {
    font-size:12px;
}

/* Buttons and forms */ .button {
    min-height:48px;
    padding:0 24px;
    font-size:15px;
}

input, select, textarea, button {
    font-size:16px;
}

.swt2-form input, .swt2-form select, .swt2-form textarea, .swt2-modal input, .swt2-modal select, .swt2-modal textarea {
    min-height:50px;
    font-size:16px;
    line-height:1.45;
}

.swt2-modal__label, .swt2-form__label {
    font-size:14px;
}

.swt2-modal__text, .swt2-modal__checkbox, .swt2-form__checkbox, .swt2-modal__status, .swt2-form__secure-note {
    font-size:15px;
    line-height:1.55;
}

/* Cards: larger text, more breathing room */ .swt2-card, .swt2-panel, .swt2-problem-card, .swt2-service-card, .swt2-case-card, .swt2-price-card {
    overflow-wrap:anywhere;
}

.swt2-service-card, .swt2-problem-card, .swt2-case-card, .swt2-price-card, .swt2-faq-large, .swt2-faq-category-panel {
    padding:clamp(20px,  2.2vw,  28px);
}

.swt2-service-card__title, .swt2-price-card__title, .swt2-choice-card__title, .swt2-browser-shot__title {
    font-size:clamp(22px,  2vw,  28px);
    line-height:1.14;
}

.swt2-problem-card__title, .swt2-growth-step__title, .swt2-benefit-card__title, .swt2-case-card__title, .swt2-contact-method__title, .swt2-footer__title {
    font-size:clamp(17px,  1.2vw,  20px);
    line-height:1.25;
}

.swt2-service-card__list, .swt2-checklist, .swt2-price-card__list, .swt2-featured-case__list {
    font-size:var(--swt2-readable-small);
    line-height:1.68;
    gap:8px;
}

.swt2-problem-card__text, .swt2-growth-step__text, .swt2-benefit-card__text, .swt2-case-card__text, .swt2-price-card__text, .swt2-result-strip__label, .swt2-footer__text, .swt2-contact-method__text, .swt2-legal__text {
    font-size:var(--swt2-readable-small);
    line-height:1.68;
    color:#c0ccd0;
}

.swt2-result-strip__value {
    font-size:clamp(18px,  1.7vw,  24px);
    line-height:1.12;
}

.swt2-icon {
    flex:0 0 auto;
}

/* FAQ readability */ .swt2-faq__button {
    min-height:58px;
    padding:14px 18px;
    gap:18px;
    font-size:16px;
    line-height:1.35;
}

.swt2-faq__answer {
    padding:0 18px 18px;
    font-size:16px;
    line-height:1.72;
    color:#c2cfd3;
}

.swt2-faq-categories__button {
    min-height:52px;
    font-size:16px;
}

/* Case-study images and browser mockups */ .swt2-service-card__photo, .swt2-screen-gallery__image {
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,  rgba(151, 217, 27, .16),  rgba(255, 255, 255, .04));
    border:1px solid rgba(151, 217, 27, .18);
}

.swt2-service-card__photo img {
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

/* Footer cleanup */ .swt2-footer__social-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* Mobile polish */ @media (max-width:860px) {
    .container {
        width:min(100% - 28px,  var(--swt2-container));
  }

    .section {
        padding:42px 0;
  }

    .swt2-hero {
        padding:38px 0 34px;
  }

    .swt2-hero__title {
        font-size:clamp(36px,  10vw,  46px);
        line-height:1.06;
  }

    .swt2-hero__text {
        font-size:17px;
        line-height:1.72;
  }

    .swt2-section-title {
        font-size:clamp(30px,  8vw,  38px);
  }

    .swt2-section-text {
        font-size:16.5px;
  }

    .button {
        min-height:52px;
        font-size:16px;
  }

    .swt2-problem-grid>*,   .swt2-grid--three>*,   .swt2-grid--four>*,   .swt2-grid--five>*,   .swt2-benefit-grid>*,   .swt2-price-grid>*,   .swt2-case-grid>* {
        flex-basis:min(86vw,  330px);
  }

    .swt2-service-card,   .swt2-problem-card,   .swt2-case-card,   .swt2-price-card {
        min-height:auto;
  }

    .swt2-solution-box__item {
        grid-template-columns:46px 1fr 34px;
        min-height:82px;
        padding:14px;
  }

    .swt2-solution-box__name {
        font-size:17px;
  }

    .swt2-solution-box__desc,   .swt2-solution-box__benefit {
        font-size:13px;
        line-height:1.45;
  }

    .swt2-modal__window {
        padding:22px 16px;
  }

    .swt2-footer__inner,   .swt2-footer__bottom {
        text-align:left;
  }
}

@media (max-width:560px) {
    .container {
        width:min(100% - 24px,  var(--swt2-container));
  }

    .section {
        padding:38px 0;
  }

    .swt2-hero__actions .button,   .swt2-final-cta__actions .button {
        width:100%;
  }

    .swt2-faq__button {
        align-items:flex-start;
        padding:16px;
  }

    .swt2-faq__answer {
        padding:0 16px 18px;
  }

    .swt2-modal__title {
        font-size:28px;
  }
}
