:root {
  --ink:#19233a;
  --muted:#667085;
  --navy:#182d4a;
  --blue:#3468de;
  --blue-dark:#2455c0;
  --line:#e7ebf1;
  --shadow:0 20px 60px rgba(26,45,74,.1)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:90px
}
body {
  margin:0;
  color:var(--ink);
  font:15px/1.6 "DM Sans",sans-serif;
  background:white
}
h1,h2,h3,h4,p {
  margin-top:0
}
h1,h2,h3,.brand-name {
  font-family:Manrope,"DM Sans",sans-serif;
  letter-spacing:-.045em
}
h1 {
  font-size:clamp(3.5rem,7vw,6.1rem);
  line-height:.99;
  font-weight:700;
  margin:20px 0 16px
}
h2 {
  font-size:clamp(2.4rem,4.4vw,3.7rem);
  line-height:1.08;
  font-weight:700;
  margin:13px 0
}
h3 {
  font-size:1.18rem;
  line-height:1.3;
  margin-bottom:10px
}
em {
  font-style:normal;
  color:var(--blue)
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
.container {
  width:min(1160px,calc(100% - 48px));
  margin:auto
}
.section {
  padding:108px 0
}
.section-pad {
  padding:77px 0 0
}
.skip-link {
  position:absolute;
  left:-10000px
}
.skip-link:focus {
  left:20px;
  top:20px;
  z-index:999;
  background:#fff;
  padding:12px
}
.site-header {
  height:80px;
  position:sticky;
  top:0;
  z-index:30;
  background:#ffffffed;
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e7ebf1cc
}
.nav-wrap {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.brand {
  display:flex;
  align-items:center;
  gap:9px
}
.brand-mark {
  width:35px;
  height:35px;
  background:var(--navy);
  border-radius:11px;
  color:#fff;
  font:800 20px Manrope;
  display:grid;
  place-items:center;
  letter-spacing:-.08em
}
.brand-mark span {
  color:#78a1ff
}
.brand-name {
  font-size:21px;
  font-weight:800;
  letter-spacing:-.07em
}
.main-nav {
  display:flex;
  align-items:center;
  gap:29px;
  font-size:13px;
  font-weight:600
}
.main-nav>a:not(.button):hover,.footer-column a:hover {
  color:var(--blue)
}
.nav-phone {
  color:#354158;
  white-space:nowrap
}
.phone-icon {
  color:var(--blue);
  font-size:16px;
  margin-right:5px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:54px;
  padding:0 23px;
  border-radius:11px;
  font-size:14px;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s,background .2s;
  cursor:pointer
}
.button:hover {
  transform:translateY(-2px)
}
.button span {
  font-size:17px
}
.button-primary {
  background:var(--blue);
  color:white;
  box-shadow:0 8px 18px #3468de30
}
.button-primary:hover {
  background:var(--blue-dark)
}
.button-quiet,.button-outline {
  border:1px solid #e5e9ef;
  background:#fff
}
.button-quiet:hover,.button-outline:hover {
  border-color:#a9c1ff;
  background:#f6f8ff
}
.button-small {
  min-height:43px;
  padding:0 17px;
  font-size:13px
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  padding:10px
}
.hero {
  background:linear-gradient(110deg,#fbfcff,#f5f8ff);
  overflow:hidden
}
.hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:34px;
  min-height:500px
}
.eyebrow {
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  color:#65738b
}
.eyebrow-dot {
  display:inline-block;
  background:#5b83ec;
  width:7px;
  height:7px;
  border-radius:50%;
  margin:0 9px 1px 0
}
.hero-lede {
  font-size:17px;
  font-weight:700;
  margin:18px 0 6px;
  letter-spacing:-.02em
}
.hero-body {
  max-width:465px;
  color:#667085;
  font-size:15px;
  line-height:1.8;
  margin-bottom:25px
}
.hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.hero-note {
  display:flex;
  align-items:center;
  gap:9px;
  color:#606d82;
  font-size:11px;
  margin-top:28px
}
.avatar-stack {
  display:flex
}
.avatar-stack i {
  font-style:normal;
  width:25px;
  height:25px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dce8ff;
  color:#3364d1;
  font-size:11px;
  font-weight:700;
  border:2px solid #f9fbff
}
.avatar-stack i+i {
  margin-left:-7px;
  background:#e6f5eb;
  color:#327b51
}
.note-separator {
  color:#acb5c3
}
.hero-art {
  height:440px;
  position:relative;
  display:grid;
  place-items:center
}
.art-orbit {
  position:absolute;
  border:1px solid #dfe8fc;
  border-radius:50%;
  width:410px;
  height:410px
}
.orbit-two {
  width:330px;
  height:330px;
  border-style:dashed;
  opacity:.65
}
.art-sun {
  width:300px;
  height:300px;
  border-radius:50%;
  background:#e9f0ff;
  position:absolute
}
.device-card {
  position:relative;
  z-index:2;
  width:min(400px,92%);
  background:#fff;
  padding:13px;
  border-radius:19px;
  box-shadow:0 25px 70px #2b4c862b;
  transform:rotate(-2deg)
}
.laptop-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:29px;
  padding:0 5px
}
.mini-dots {
  font-size:10px;
  letter-spacing:2px;
  color:#b7c0ce
}
.window-pill {
  font-size:9px;
  padding:5px 11px;
  color:#728096;
  background:#f4f6fa;
  border-radius:20px
}
.video-scene {
  height:220px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(150deg,#ebf4f0 2%,#d8e9e5 51%,#bbd8cd)
}
.shape-a {
  position:absolute;
  width:155px;
  height:160px;
  border-radius:50%;
  background:#c9ded5;
  right:-11px;
  top:-47px
}
.shape-b {
  position:absolute;
  bottom:-32px;
  left:-14px;
  width:175px;
  height:120px;
  border-radius:70% 80% 0 0;
  background:#b4d0c3;
  transform:rotate(-12deg)
}
.person {
  position:absolute;
  left:50%;
  bottom:-11px;
  transform:translateX(-50%);
  width:125px;
  height:178px
}
.person-head {
  width:72px;
  height:84px;
  border-radius:45% 45% 49% 49%;
  position:absolute;
  top:8px;
  left:25px;
  background:#d9a785;
  z-index:2
}
.person-head:before {
  content:"";
  position:absolute;
  left:-3px;
  top:-9px;
  width:79px;
  height:41px;
  border-radius:50% 50% 35% 35%;
  background:#49362f
}
.person-body {
  position:absolute;
  bottom:-12px;
  left:0;
  width:125px;
  height:112px;
  border-radius:50% 50% 15% 15%;
  background:#668c7f
}
.video-status {
  position:absolute;
  left:12px;
  bottom:12px;
  font-size:10px;
  background:#fffffff0;
  padding:6px 9px;
  border-radius:30px;
  color:#46566d
}
.live-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
  background:#5bb487;
  margin-right:5px
}
.laptop-controls {
  height:36px;
  display:flex;
  align-items:end;
  justify-content:center;
  gap:14px;
  color:#788395;
  font-size:12px
}
.end-call {
  width:23px;
  height:19px;
  border-radius:6px;
  background:#f36f73;
  color:#fff;
  text-align:center;
  font-size:15px;
  line-height:17px
}
.float-card {
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  padding:12px 14px;
  border-radius:12px;
  box-shadow:0 12px 32px #263d6121;
  font-size:10px
}
.float-card b,.float-card small {
  display:block
}
.float-card b {
  font-size:11px
}
.float-card small {
  color:#7b8797;
  margin-top:2px
}
.float-help {
  left:3px;
  top:93px
}
.float-check {
  right:0;
  bottom:86px
}
.float-icon {
  width:32px;
  height:32px;
  border-radius:9px;
  display:grid;
  place-items:center;
  font-size:17px
}
.blue {
  background:#eaf0ff;
  color:#4c73d2
}
.check-icon {
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e3f6ec;
  color:#399568;
  font-weight:700
}
.hero-spark {
  position:absolute;
  color:#88a8ef
}
.spark-a {
  top:55px;
  right:75px
}
.spark-b {
  bottom:46px;
  left:60px;
  font-size:19px
}
.trust-strip {
  border-top:1px solid #e7ebf2;
  margin-top:42px;
  padding:22px 0 25px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  color:#647187;
  font-size:11px;
  font-weight:600
}
.trust-strip>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px
}
.trust-symbol {
  font-size:17px;
  color:#4c76da
}
.section-services {
  background:#fff
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:36px;
  margin-bottom:38px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading>p {
  max-width:350px;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
  margin-bottom:4px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px
}
.service-card {
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  min-height:258px;
  transition:transform .2s,box-shadow .2s,border-color .2s
}
.service-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:#d7e1f7
}
.service-icon {
  width:43px;
  height:43px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:20px;
  margin-bottom:19px
}
.icon-lavender {
  background:#eeeaff;
  color:#725dce
}
.icon-peach {
  background:#fff0e6;
  color:#e2854a
}
.icon-mint {
  background:#e8f6ed;
  color:#53a275
}
.icon-yellow {
  background:#fff7d9;
  color:#c69a31
}
.icon-blue {
  background:#e9f1ff;
  color:#4f7bd7
}
.icon-pink {
  background:#fff0f3;
  color:#d97696
}
.service-meta {
  display:flex;
  justify-content:space-between;
  color:#8994a5;
  font-size:9px;
  letter-spacing:.1em;
  font-weight:700;
  margin-bottom:7px
}
.service-arrow {
  font-size:14px;
  color:#8090a7
}
.service-card h3 {
  font-size:17px;
  margin-bottom:8px
}
.service-card p {
  font-size:12px;
  color:var(--muted);
  line-height:1.7;
  min-height:41px;
  margin-bottom:15px
}
.text-link {
  font-size:12px;
  font-weight:700;
  color:var(--blue)
}
.text-link span {
  font-size:16px;
  margin-left:5px
}
.pricing-section,.booking-section,.help-section {
  background:#f7f9fc
}
.currency-bar {
  display:flex;
  align-items:center;
  gap:10px;
  margin:-12px 0 23px;
  font-size:11px;
  color:#6a7588
}
.currency-bar select {
  border:1px solid #dfe5ed;
  border-radius:8px;
  background:#fff;
  padding:8px 28px 8px 11px;
  color:#34435a;
  font-weight:700;
  font-size:11px
}
.rate-note {
  margin-left:5px;
  color:#8993a2
}
.price-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px;
  align-items:stretch
}
.price-card {
  background:#fff;
  border:1px solid #e5eaf1;
  border-radius:16px;
  padding:27px;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:400px
}
.price-card.featured {
  border:1.5px solid #7897e6;
  box-shadow:0 12px 36px #315ebe1a
}
.popular-tag {
  position:absolute;
  right:20px;
  top:-12px;
  background:#315fc7;
  color:#fff;
  padding:5px 10px;
  border-radius:20px;
  font-size:8px;
  font-weight:700;
  letter-spacing:.09em
}
.price-top {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.price-label {
  color:#8993a2;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em
}
.price-icon {
  color:#4b73d4;
  font-size:18px
}
.price-card h3 {
  font-size:20px;
  margin:10px 0 5px
}
.price-desc {
  color:var(--muted);
  font-size:12px;
  min-height:38px;
  margin-bottom:15px
}
.price {
  display:flex;
  align-items:baseline;
  margin-bottom:13px
}
.amount {
  font:700 43px Manrope;
  letter-spacing:-.06em
}
.per {
  color:#8892a0;
  font-size:11px;
  margin-left:7px
}
.price-card ul {
  list-style:none;
  padding:0;
  margin:0 0 22px;
  flex:1
}
.price-card li {
  font-size:11px;
  color:#556176;
  margin:9px 0
}
.price-card li:before {
  content:"✓";
  color:#4d9a72;
  margin-right:9px
}
.price-card .button {
  width:100%;
  min-height:47px;
  font-size:12px
}
.pricing-footnote {
  font-size:10px;
  color:#8791a1;
  max-width:800px;
  line-height:1.7;
  margin:17px 0 0
}
.centered {
  align-items:center
}
.steps {
  display:grid;
  grid-template-columns:1fr 44px 1fr 44px 1fr;
  align-items:start;
  margin-top:54px
}
.step {
  position:relative;
  padding:0 12px;
  text-align:center
}
.step-number {
  font:700 10px Manrope;
  color:#8b9bb7;
  letter-spacing:.12em;
  margin-bottom:20px
}
.step-icon {
  margin:0 auto 17px;
  background:#edf3ff;
  color:#4370d8;
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:23px
}
.step h3 {
  font-size:16px
}
.step p {
  font-size:12px;
  color:var(--muted);
  max-width:245px;
  margin:0 auto;
  line-height:1.8
}
.step-line {
  border-top:1px dashed #d0d9e7;
  margin-top:55px
}
.booking-grid {
  display:grid;
  grid-template-columns:.83fr 1.17fr;
  gap:64px;
  align-items:start
}
.booking-intro h2 {
  margin:14px 0 17px
}
.booking-intro>p {
  font-size:14px;
  color:var(--muted);
  line-height:1.8;
  max-width:390px
}
.booking-contact {
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid #e5e9f0
}
.contact-icon {
  width:43px;
  height:43px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#e9f0ff;
  color:#4771cf;
  font-size:19px
}
.booking-contact small,.booking-contact a,.booking-contact span {
  display:block
}
.booking-contact small {
  font-size:9px;
  letter-spacing:.12em;
  color:#8892a2;
  font-weight:700
}
.booking-contact a {
  font-weight:700;
  font-size:15px;
  margin:2px 0
}
.booking-contact span {
  font-size:10px;
  color:#7a8596
}
.booking-reassurance {
  font-size:10px;
  color:#778295;
  margin-top:18px
}
.booking-reassurance span {
  color:#4d9a72;
  margin-right:6px
}
.booking-form {
  background:#fff;
  padding:30px;
  border:1px solid #e6eaf0;
  border-radius:17px;
  box-shadow:0 12px 35px #273a5c0b
}
.form-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:19px
}
.form-heading h3 {
  font-size:18px;
  margin:0
}
.form-heading span {
  font-size:9px;
  color:#8992a0
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.booking-form label {
  display:block;
  font-weight:600;
  font-size:10px;
  color:#4d596e;
  margin-bottom:14px
}
.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea {
  display:block;
  width:100%;
  margin-top:6px;
  border:1px solid #dfe5ed;
  border-radius:8px;
  background:#fff;
  padding:11px 12px;
  color:#27354b;
  font-size:11px;
  outline:none;
  transition:border .2s,box-shadow .2s
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus {
  border-color:#7798eb;
  box-shadow:0 0 0 3px #edf2ff
}
.booking-form textarea {
  resize:vertical
}
.booking-form input::placeholder,.booking-form textarea::placeholder {
  color:#a7afbc
}
.consent {
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  font-weight:400!important;
  line-height:1.5
}
.consent input {
  accent-color:var(--blue);
  margin:2px 0 0
}
.submit-button {
  min-height:47px;
  font-size:12px
}
.form-disclaimer {
  font-size:9px;
  color:#8992a1;
  margin:10px 0 0
}
.form-result {
  font-size:11px;
  margin-top:12px;
  color:#32845a
}
.someone-section {
  padding:86px 0
}
.someone-card {
  background:#f8f6ff;
  border:1px solid #ece8fa;
  border-radius:23px;
  min-height:420px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  overflow:hidden
}
.someone-art {
  position:relative;
  min-height:390px;
  background:linear-gradient(145deg,#ebe8fb,#f4e9ec);
  display:grid;
  place-items:center;
  overflow:hidden
}
.someone-art:before,.someone-art:after {
  content:"";
  position:absolute;
  border:1px solid #6760ac2b;
  border-radius:50%;
  width:330px;
  height:330px
}
.someone-art:after {
  width:245px;
  height:245px
}
.gift-circle {
  position:absolute;
  width:165px;
  height:165px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  color:#7585d1;
  font-size:63px;
  box-shadow:0 20px 50px #54509521;
  left:24%;
  top:25%
}
.gift-note {
  position:absolute;
  z-index:2;
  background:#283758;
  color:white;
  border-radius:12px;
  padding:15px 22px;
  font:600 13px/1.5 Manrope;
  transform:rotate(-5deg);
  right:15%;
  bottom:22%;
  box-shadow:0 10px 23px #38436633
}
.gift-star {
  position:absolute;
  top:17%;
  right:16%;
  font-size:24px;
  color:#a78ac7
}
.gift-spark {
  position:absolute;
  bottom:17%;
  left:14%;
  color:#c78ea7;
  font-size:24px
}
.someone-copy {
  padding:58px 60px;
  align-self:center
}
.someone-copy h2 {
  margin:12px 0 16px
}
.someone-copy>p {
  color:var(--muted);
  font-size:13px;
  line-height:1.8
}
.someone-copy ul {
  list-style:none;
  padding:0;
  margin:19px 0 24px
}
.someone-copy li {
  font-size:11px;
  margin:10px 0;
  color:#536076
}
.someone-copy li:before {
  content:"✓";
  color:#50966c;
  margin-right:9px
}
.someone-copy .button {
  font-size:12px;
  min-height:48px
}
.article-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px
}
.article-card {
  background:#fff;
  border:1px solid #e7ebf1;
  border-radius:15px;
  overflow:hidden;
  transition:transform .2s,box-shadow .2s
}
.article-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow)
}
.article-illustration {
  height:155px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden
}
.article-illustration:before {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:#ffffff8f;
  left:calc(50% - 90px);
  top:37px
}
.article-illustration>span {
  z-index:1;
  font-size:49px
}
.article-illustration>i {
  position:absolute;
  z-index:2;
  right:19px;
  bottom:15px;
  font-style:normal;
  background:#fff;
  padding:6px 10px;
  border-radius:18px;
  font-size:9px;
  font-weight:700;
  color:#5f6b80
}
.article-wifi {
  background:#e9f0ff;
  color:#5c80d5
}
.article-phone {
  background:#e9f5ef;
  color:#56a07b
}
.article-safety {
  background:#f9edf0;
  color:#ca8191
}
.article-body {
  padding:20px
}
.article-meta {
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.09em;
  font-weight:700;
  color:#8994a3
}
.article-meta span {
  font-weight:500;
  letter-spacing:.03em
}
.article-body h3 {
  font-size:15px;
  line-height:1.45;
  margin:12px 0 8px;
  min-height:43px
}
.article-body p {
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
  min-height:56px;
  margin-bottom:13px
}
.center-action {
  text-align:center;
  margin-top:33px
}
.center-action .button {
  min-height:47px;
  font-size:12px
}
.privacy-section {
  padding:80px 0;
  background:#fff
}
.privacy-grid {
  display:grid;
  grid-template-columns:70px 1.2fr .9fr;
  gap:28px;
  align-items:center
}
.privacy-mark {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:#eaf1ff;
  color:#4d76d8;
  font-size:28px
}
.privacy-grid h2 {
  font-size:clamp(2rem,3.5vw,3rem)
}
.privacy-grid>div:nth-child(2)>p {
  max-width:530px;
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
  margin:12px 0 0
}
.privacy-points {
  border-left:1px solid #e8ebf1;
  padding-left:27px
}
.privacy-points>div {
  display:flex;
  gap:13px;
  align-items:baseline
}
.privacy-points span {
  font-size:9px;
  color:#8a9bc1;
  font-weight:700
}
.privacy-points p {
  font-size:11px;
  color:#58657a;
  margin:9px 0
}
.final-cta {
  background:#1d3557;
  color:white;
  padding:72px 0;
  overflow:hidden;
  position:relative
}
.cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative
}
.eyebrow-light {
  color:#b6c7eb
}
.final-cta h2 {
  font-size:clamp(2.4rem,4.5vw,3.5rem);
  margin:12px 0 0
}
.final-cta h2 em {
  color:#99b5ff
}
.cta-actions {
  display:flex;
  align-items:center;
  gap:20px;
  margin-right:90px
}
.button-white {
  background:white;
  color:#263d60;
  min-width:165px
}
.cta-phone {
  font-size:11px;
  color:#d6e0f4
}
.cta-decoration {
  position:absolute;
  font-size:120px;
  color:#ffffff0d;
  right:-7px;
  top:-42px
}
.site-footer {
  background:#142641;
  color:white;
  padding:56px 0 0
}
.footer-main {
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:43px
}
.brand-light .brand-mark {
  background:#2b4263
}
.footer-brand>p {
  font-size:11px;
  color:#aebbd0;
  margin:16px 0
}
.footer-call {
  font-size:14px;
  font-weight:700
}
.footer-call span {
  color:#8baaff;
  margin-left:6px
}
.footer-column {
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:10px;
  color:#afbdd0
}
.footer-column h4 {
  font-size:11px;
  color:white;
  margin-bottom:5px
}
.footer-column span {
  font-size:10px
}
.footer-bottom {
  border-top:1px solid #ffffff2e;
  padding:17px 0;
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:#b9c6da;
  font-size:9px
}
.chat-launcher {
  position:fixed;
  right:25px;
  bottom:23px;
  z-index:40;
  border:0;
  background:#3265d3;
  color:white;
  padding:12px 18px;
  border-radius:28px;
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:700;
  font-size:12px;
  box-shadow:0 10px 28px #244ea559;
  cursor:pointer
}
.chat-launcher i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#a6e9be
}
.chat-bubble-icon {
  font-size:15px
}
.chat-panel {
  position:fixed;
  z-index:39;
  right:24px;
  bottom:83px;
  width:min(350px,calc(100vw - 32px));
  background:#fff;
  border-radius:17px;
  box-shadow:0 20px 70px #152a4c40;
  overflow:hidden;
  border:1px solid #e7ebf1
}
.chat-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#1e3659;
  padding:17px;
  color:white
}
.chat-header>div {
  display:flex;
  align-items:center;
  gap:10px
}
.chat-avatar {
  width:34px;
  height:34px;
  border-radius:10px;
  background:#4269b5;
  display:grid;
  place-items:center;
  font-weight:700
}
.chat-header b,.chat-header small {
  display:block
}
.chat-header b {
  font-size:12px
}
.chat-header small {
  font-size:9px;
  color:#cad6ee;
  margin-top:2px
}
.chat-header button {
  border:0;
  background:transparent;
  color:#fff;
  font-size:22px;
  cursor:pointer
}
.chat-content {
  padding:18px
}
.chat-message {
  padding:12px;
  background:#f0f4fb;
  border-radius:4px 12px 12px;
  font-size:11px;
  color:#42516a;
  margin-bottom:15px
}
.chat-content>p {
  font-size:9px;
  color:#8993a2
}
.chat-option {
  display:flex;
  justify-content:space-between;
  width:100%;
  padding:10px 12px;
  margin:7px 0;
  text-align:left;
  color:#385a9b;
  background:#fff;
  border:1px solid #dfe7f6;
  border-radius:8px;
  font-size:10px;
  cursor:pointer
}
.chat-option:hover {
  background:#f5f8ff
}
.chat-response {
  font-size:10px;
  line-height:1.7;
  color:#56657d;
  margin-top:11px
}
.chat-response a,.chat-footer a {
  color:#3569d6;
  font-weight:700
}
.chat-footer {
  border-top:1px solid #edf0f4;
  padding:12px 18px;
  font-size:9px;
  color:#818c9a
}
.article-dialog {
  border:0;
  border-radius:19px;
  padding:37px;
  width:min(590px,calc(100% - 28px));
  box-shadow:0 25px 85px #1426444a;
  color:var(--ink);
  max-height:85vh;
  overflow:auto
}
.article-dialog::backdrop {
  background:#15274699;
  backdrop-filter:blur(3px)
}
.dialog-close {
  position:absolute;
  right:17px;
  top:12px;
  border:0;
  background:#f1f4f9;
  width:31px;
  height:31px;
  border-radius:50%;
  font-size:21px;
  cursor:pointer
}
.article-dialog h2 {
  font-size:31px;
  margin:10px 0 20px
}
.dialog-copy {
  font-size:13px;
  color:#59677b;
  line-height:1.8;
  margin-bottom:23px
}
.dialog-copy h3 {
  font-size:15px;
  color:var(--ink);
  margin:18px 0 5px
}
.dialog-copy ul {
  padding-left:18px
}
.article-dialog .button {
  font-size:12px;
  min-height:46px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

/* RoGurd visual refresh: richer service cards, clearer section rhythm and honest request tools. */
.section-services {background:linear-gradient(180deg,#f7f9fd 0%,#fff 100%)}
.service-grid {gap:20px}
.service-card {position:relative;background:#fff;border-color:#dfe6f1;box-shadow:0 8px 24px #20395d0a;min-height:288px}
.service-card:nth-child(3n+1) {border-top:3px solid #8ca8ee}
.service-card:nth-child(3n+2) {border-top:3px solid #f1b18c}
.service-card:nth-child(3n) {border-top:3px solid #80c2a0}
.service-card .service-icon {width:48px;height:48px;font-size:22px;box-shadow:0 5px 14px #19233a12}
.service-card h3 {font-size:19px}
.service-card p {font-size:13px;min-height:52px}
.service-problems {margin:0 0 15px;padding:9px 10px;border-radius:9px;background:#f4f7fc;color:#52637d;font-size:11px;font-weight:650;line-height:1.5}
.pricing-section {background:linear-gradient(180deg,#f1f5fc 0%,#f8f9fc 100%)}
.booking-section {background:#f3f6fb}
.help-section {background:linear-gradient(180deg,#f0f5fc 0%,#f7f9fc 100%)}
.final-cta {background:linear-gradient(120deg,#1a3152 0%,#294c80 65%,#3468de 100%)}
.independent-disclaimer {margin:20px 0;padding:18px 20px;border:1px solid #d7e2f5;border-left:4px solid #5279d2;border-radius:12px;background:#f1f5fc;color:#42516a}
.independent-disclaimer b {display:block;margin-bottom:4px;color:#20395f;font-size:13px}
.independent-disclaimer p {margin:0;font-size:12px;line-height:1.7}
.chat-panel {max-height:min(720px,calc(100vh - 105px));display:flex;flex-direction:column}
.chat-panel[hidden] {display:none}
.chat-content {overflow:auto}
.chat-request-form {display:grid;gap:10px}
.chat-request-form label {display:grid;gap:4px;color:#394a64;font-size:11px;font-weight:700}
.chat-request-form input,.chat-request-form select,.chat-request-form textarea {width:100%;min-height:40px;padding:9px 10px;border:1px solid #d9e1ec;border-radius:8px;background:#fff;color:#26354d;font-size:13px}
.chat-request-form textarea {resize:vertical}
.chat-request-form .button {min-height:44px;font-size:12px}
.chat-response .button {margin:6px 0;padding:10px 13px;min-height:42px;font-size:11px}
.chat-response details {margin-top:9px}
.chat-privacy-note {font-size:10px!important;line-height:1.6;color:#687891!important;margin:12px 0 0}
.portal-header {height:72px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.portal-header>a:last-child {font-size:12px;color:var(--blue);font-weight:700}
.portal-main {padding-top:55px;padding-bottom:70px}
.portal-main h1 {font-size:clamp(2.5rem,5vw,4.4rem)}
.portal-status {display:inline-block;margin-bottom:24px;padding:7px 11px;border-radius:999px;background:#fff2df;color:#8a541a;font-size:10px;font-weight:800;letter-spacing:.09em}
.portal-notice {margin:26px 0;padding:20px 23px;border:1px solid #edd6ad;border-radius:13px;background:#fff8ec;color:#5e4a2d;font-size:13px}
.portal-notice p {margin:6px 0 0;line-height:1.7}
.portal-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}
.portal-card {padding:21px;border:1px solid #dfe6f1;border-radius:14px;background:#fff;box-shadow:0 8px 24px #20395d0a}
.portal-card h2 {font-size:19px;letter-spacing:-.02em}
.portal-card ul {padding-left:18px;color:#59677b;font-size:12px;line-height:1.9}
.portal-empty {padding:11px;border-radius:8px;background:#f4f6f9;color:#758096;font-size:10px;font-style:italic}
.portal-footnote {font-size:12px;line-height:1.8;color:#68758a}
.portal-footnote a {color:var(--blue);font-weight:700}
@media(max-width:700px) {
 .service-card {min-height:0;padding:19px}
 .service-card p {min-height:0;font-size:12px}
 .service-problems {font-size:10px}
 .chat-panel {right:8px;bottom:72px;width:calc(100vw - 16px);max-height:calc(100dvh - 82px)}
 .portal-header {height:62px;padding:0 18px}
 .portal-main {padding-top:34px;padding-bottom:42px}
 .portal-grid {grid-template-columns:1fr}
}
.chat-prechat {display:grid;gap:11px;padding:18px 20px}
.chat-prechat>label:not(.chat-consent) {display:grid;gap:5px;color:#3f506a;font-size:12px;font-weight:700}
.chat-prechat input:not([type=checkbox]),.chat-prechat select,.chat-prechat textarea {width:100%;min-height:43px;padding:10px;border:1px solid #dbe3ed;border-radius:8px;background:#fff;color:#26354d;font:inherit}
.chat-prechat textarea {resize:vertical}
.chat-prechat input:disabled,.chat-prechat select:disabled,.chat-prechat textarea:disabled {background:#f4f6f9;color:#707d91}
.chat-consent {display:flex;align-items:flex-start;gap:9px;color:#68758a;font-size:11px;line-height:1.6}
.chat-consent input {margin-top:4px}
.chat-line {max-width:92%;margin:0 0 12px;padding:12px 14px;border-radius:5px 13px 13px;background:#f0f4fb;color:#2e3e57}
.chat-line-agent {margin-left:auto;background:#e8f0ff}
.chat-line b,.chat-line time {display:block;font-size:10px;color:#62728a}
.chat-line p {margin:5px 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-line time {font-size:9px}
.chat-prechat>button {min-height:48px}
.proactive-invite {position:fixed;right:24px;bottom:100px;z-index:40;width:min(330px,calc(100vw - 32px));padding:19px;border:1px solid #dce5f2;border-radius:15px;background:white;box-shadow:0 18px 54px #20395d2b;color:#26354d}
.proactive-invite p {font-size:13px;line-height:1.6;margin:0 0 8px}
.proactive-invite>p:first-of-type {font-weight:800;color:#233c64;font-size:15px}
.proactive-invite>div {display:grid;gap:8px;margin-top:14px}
.proactive-invite>div button {min-height:44px;border:0;border-radius:8px;background:#3468de;color:white;font-weight:800;font-size:12px}
.proactive-invite>div button+button {background:#eff3f9;color:#35465f}
.invite-dismiss {position:absolute;right:9px;top:7px;border:0;background:transparent;font-size:20px;color:#68758a}
.agent-chat-invitation {position:fixed;right:24px;bottom:100px;z-index:41;width:min(350px,calc(100vw - 32px));padding:20px;border:1px solid #cfdcf0;border-radius:14px;background:white;box-shadow:0 18px 54px #20395d2b;color:#2b3f5e}
.agent-chat-invitation p {font-size:14px;line-height:1.7}
.agent-chat-invitation .button {min-height:44px;font-size:12px}
.agent-chat-invitation>button {margin-left:8px;padding:12px;border:0;border-radius:8px;background:#eff3f9;color:#35465f;font-size:11px;font-weight:700}

@media(max-width:950px) {
  .main-nav {
    gap:17px
  }
  .nav-phone {
    display:none
  }
  .hero-grid {
    gap:10px
  }
  .hero-art {
    transform:scale(.9)
  }
  .booking-grid {
    gap:35px
  }
  .someone-copy {
    padding:43px
  }
  .privacy-grid {
    grid-template-columns:58px 1fr
  }
  .privacy-points {
    grid-column:2;
    border-left:0;
    border-top:1px solid #e8ebf1;
    padding:15px 0 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px
  }
  .privacy-points>div {
    gap:7px
  }
  .privacy-points p {
    margin:0
  }
  .cta-actions {
    margin-right:50px
  }
}

@media(max-width:700px) {
  html {
    scroll-padding-top:72px
  }
  .container {
    width:min(100% - 36px,520px)
  }
  .site-header {
    height:68px
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    gap:5px
  }
  .menu-toggle span {
    width:22px;
    height:2px;
    background:#273956
  }
  .main-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:68px;
    padding:16px 22px 22px;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 22px #25395b14;
    align-items:stretch;
    gap:0
  }
  .main-nav.open {
    display:flex;
    flex-direction:column
  }
  .main-nav>a {
    padding:11px 2px
  }
  .main-nav .button {
    margin-top:7px
  }
  .nav-phone {
    display:block
  }
  .section {
    padding:74px 0
  }
  .section-pad {
    padding-top:49px
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:0
  }
  .hero-copy {
    padding:10px 0 0
  }
  .hero h1 {
    font-size:clamp(3.4rem,15vw,5rem);
    margin-top:17px
  }
  .hero-body {
    max-width:440px;
    font-size:14px
  }
  .hero-actions .button {
    min-height:49px;
    padding:0 17px;
    font-size:12px
  }
  .hero-note {
    margin-top:22px
  }
  .hero-art {
    height:340px;
    transform:none;
    margin:0 -10px
  }
  .art-orbit {
    width:315px;
    height:315px
  }
  .orbit-two {
    width:255px;
    height:255px
  }
  .art-sun {
    width:232px;
    height:232px
  }
  .device-card {
    width:min(330px,88%);
    padding:10px
  }
  .video-scene {
    height:177px
  }
  .person {
    transform:translateX(-50%) scale(.8);
    transform-origin:bottom
  }
  .float-help {
    left:0;
    top:55px
  }
  .float-check {
    right:-2px;
    bottom:48px
  }
  .trust-strip {
    grid-template-columns:1fr 1fr;
    margin-top:20px;
    gap:14px 8px;
    padding:19px 0 22px
  }
  .trust-strip>div {
    justify-content:flex-start;
    font-size:10px
  }
  .section-heading {
    display:block;
    margin-bottom:29px
  }
  .section-heading>p {
    margin-top:15px;
    font-size:13px
  }
  .service-grid {
    grid-template-columns:1fr 1fr;
    gap:10px
  }
  .service-card {
    padding:17px;
    min-height:248px
  }
  .service-icon {
    width:39px;
    height:39px;
    margin-bottom:15px
  }
  .service-card h3 {
    font-size:15px
  }
  .service-card p {
    font-size:11px;
    min-height:67px
  }
  .service-meta {
    font-size:8px
  }
  .text-link {
    font-size:11px
  }
  .currency-bar {
    flex-wrap:wrap;
    margin:-4px 0 18px;
    gap:8px
  }
  .rate-note {
    flex-basis:100%;
    margin:0
  }
  .price-grid {
    grid-template-columns:1fr;
    gap:15px
  }
  .price-card {
    min-height:0;
    padding:23px
  }
  .price-desc {
    min-height:0
  }
  .price-card ul {
    margin-bottom:18px
  }
  .price-card li {
    margin:8px 0
  }
  .centered {
    align-items:initial
  }
  .steps {
    grid-template-columns:1fr;
    margin-top:37px;
    gap:10px
  }
  .step {
    display:grid;
    grid-template-columns:45px 52px 1fr;
    align-items:center;
    text-align:left;
    padding:12px 0;
    column-gap:10px
  }
  .step-number {
    grid-row:1;
    grid-column:1;
    margin:0
  }
  .step-icon {
    grid-row:1 / span 2;
    grid-column:2;
    width:46px;
    height:46px;
    margin:0;
    border-radius:14px
  }
  .step h3 {
    grid-row:1;
    grid-column:3;
    margin:0;
    font-size:14px
  }
  .step p {
    grid-row:2;
    grid-column:3;
    margin:3px 0 0;
    font-size:11px;
    max-width:none
  }
  .step-line {
    display:none
  }
  .booking-grid {
    grid-template-columns:1fr;
    gap:27px
  }
  .booking-contact {
    margin-top:23px
  }
  .booking-form {
    padding:21px 17px
  }
  .form-heading {
    display:block
  }
  .form-heading span {
    display:block;
    margin-top:3px
  }
  .form-row {
    gap:9px
  }
  .booking-form label {
    font-size:9px
  }
  .booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea {
    padding:10px 9px;
    font-size:10px
  }
  .someone-section {
    padding:56px 0
  }
  .someone-card {
    grid-template-columns:1fr
  }
  .someone-art {
    min-height:255px
  }
  .gift-circle {
    width:132px;
    height:132px;
    left:26%;
    top:21%;
    font-size:49px
  }
  .gift-note {
    bottom:13%;
    right:12%;
    font-size:11px;
    padding:11px 16px
  }
  .gift-star {
    top:10%
  }
  .someone-copy {
    padding:30px 23px 34px
  }
  .someone-copy .button {
    font-size:11px;
    padding:0 15px
  }
  .article-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .article-card {
    display:grid;
    grid-template-columns:34% 66%;
    min-height:180px
  }
  .article-illustration {
    height:100%;
    min-height:180px
  }
  .article-illustration:before {
    width:145px;
    height:145px;
    left:calc(50% - 72px);
    top:45px
  }
  .article-illustration>span {
    font-size:38px
  }
  .article-illustration>i {
    right:7px;
    bottom:10px;
    padding:5px 7px;
    font-size:8px
  }
  .article-body {
    padding:15px 13px
  }
  .article-meta {
    display:block;
    font-size:7px
  }
  .article-meta span {
    display:block;
    margin-top:4px
  }
  .article-body h3 {
    font-size:13px;
    min-height:0;
    margin:8px 0 6px
  }
  .article-body p {
    font-size:10px;
    min-height:0;
    margin-bottom:8px
  }
  .center-action {
    margin-top:24px
  }
  .privacy-grid {
    grid-template-columns:44px 1fr;
    gap:15px;
    align-items:start
  }
  .privacy-mark {
    width:42px;
    height:42px;
    font-size:21px;
    border-radius:12px
  }
  .privacy-grid h2 {
    font-size:27px
  }
  .privacy-grid>div:nth-child(2)>p {
    font-size:11px
  }
  .privacy-points {
    grid-column:1 / -1;
    grid-template-columns:1fr;
    padding:14px 0 0;
    gap:9px
  }
  .privacy-points>div {
    gap:12px
  }
  .final-cta {
    padding:55px 0
  }
  .cta-inner {
    display:block
  }
  .final-cta h2 {
    font-size:2.7rem
  }
  .cta-actions {
    margin:23px 0 0;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:12px
  }
  .button-white {
    min-height:48px
  }
  .cta-decoration {
    right:-8px;
    top:15px;
    font-size:90px
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:31px 20px;
    padding-bottom:34px
  }
  .footer-brand {
    grid-column:1 / -1
  }
  .footer-bottom {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:7px 17px
  }
  .footer-bottom span:nth-child(2) {
    display:none
  }
  .chat-launcher {
    right:14px;
    bottom:13px;
    padding:11px 15px
  }
  .chat-panel {
    right:12px;
    bottom:69px
  }
  .article-dialog {
    padding:31px 23px
  }
  .article-dialog h2 {
    font-size:25px
  }
}
.booking-form label{font-size:12px}
.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{font-size:13px}
.form-disclaimer,.pricing-footnote,.rate-note{font-size:11px}
.article-meta,.footer-column,.footer-column span{font-size:11px}
@media(max-width:700px){.booking-form label{font-size:12px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{font-size:13px}.service-card p,.article-body p{font-size:12px}.footer-column,.footer-column span{font-size:11px}}

@media(max-width:370px) {
  .container {
    width:calc(100% - 28px)
  }
  .service-grid {
    grid-template-columns:1fr
  }
  .service-card {
    min-height:0
  }
  .service-card p {
    min-height:0
  }
  .form-row {
    grid-template-columns:1fr
  }
  .article-card {
    grid-template-columns:31% 69%
  }
  .hero-actions {
    gap:8px
  }
  .hero-actions .button {
    padding:0 13px
  }
  .hero-art {
    height:300px
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important
  }
}

.guide-page {
  background:#f7f9fc
}
.guide-main {
  padding:72px 0 90px
}
.guide-container {
  max-width:790px
}
.guide-container h1 {
  font-size:clamp(2.8rem,6vw,4.5rem);
  margin:18px 0
}
.guide-lede {
  font-size:17px;
  color:#59677b;
  line-height:1.8;
  border-bottom:1px solid #e1e6ef;
  padding-bottom:29px;
  margin-bottom:32px
}
.guide-content {
  background:#fff;
  border:1px solid #e8ecf2;
  border-radius:17px;
  padding:32px 36px;
  margin-bottom:20px
}
.guide-content h2 {
  font-size:21px;
  margin:20px 0 8px
}
.guide-content h2:first-child {
  margin-top:0
}
.guide-content p {
  font-size:14px;
  color:#59677b;
  line-height:1.9
}
.guide-tip {
  border-left:3px solid #4b75d8;
  background:#edf3ff;
  padding:17px 20px;
  margin:20px 0 25px;
  border-radius:0 10px 10px 0;
  font-size:12px
}
.guide-tip p {
  color:#5f6f88;
  margin:5px 0 0
}
.guide-back {
  font-size:12px;
  margin-top:22px;
  color:#3569d6;
  font-weight:700
}
.guide-footer {
  background:#142641;
  color:#bbc7d9;
  padding:24px 0;
  font-size:11px
}
.guide-footer a {
  color:#fff;
  font-weight:700
}

 h1 {
  font-size:clamp(3rem,5.3vw,4.4rem)
}

@media(max-width:700px) {
  .guide-main {
    padding:49px 0 65px
  }
  .guide-container h1 {
    font-size:2.8rem
  }
  .guide-lede {
    font-size:14px;
    padding-bottom:22px;
    margin-bottom:23px
  }
  .guide-content {
    padding:23px 20px
  }
  .guide-content h2 {
    font-size:18px
  }
  .guide-content p {
    font-size:12px
  }
  .guide-container>.button {
    min-height:48px;
    font-size:12px
  }
}

.why-section {
  background:#fff
}
.benefit-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:13px
}
.benefit-grid article {
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  background:#fff
}
.benefit-grid b {
  font:700 14px Manrope
}
.benefit-grid p {
  font-size:11px;
  color:var(--muted);
  line-height:1.7;
  margin:9px 0 0
}
.faq-section {
  background:#fff
}
.faq-list {
  border-top:1px solid var(--line)
}
.faq-list details {
  padding:17px 5px;
  border-bottom:1px solid var(--line)
}
.faq-list summary {
  font:700 15px Manrope;
  cursor:pointer;
  list-style:none;
  padding-right:28px;
  position:relative
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary:after {
  content:'+';
  position:absolute;
  right:2px;
  top:0;
  color:var(--blue);
  font-size:20px
}
.faq-list details[open] summary:after {
  content:'−'
}
.faq-list details p {
  margin:12px 28px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8
}
.booking-step {
  border:0;
  border-top:1px solid #edf0f4;
  padding:20px 0 0;
  margin:20px 0 0;
  min-width:0
}
.booking-step legend {
  font:700 12px Manrope;
  color:#37445a;
  padding:0 8px 0 0
}
.booking-for {
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 14px;
  font-size:10px;
  color:#4d596e
}
.booking-for>span {
  font-weight:700
}
.booking-for label {
  display:flex;
  align-items:center;
  gap:6px;
  margin:0
}
.booking-for input {
  accent-color:var(--blue)
}
.recipient-heading {
  font-size:11px;
  font-weight:700;
  color:#2c3b56;
  margin:7px 0 12px
}
.quote-note {
  background:#f1f5ff;
  color:#52627d;
  border-radius:9px;
  padding:12px 14px;
  font-size:10px;
  line-height:1.7;
  margin-bottom:14px
}
.booking-form .submit-button {
  margin:3px 0
}
.form-result {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px
}
.form-result>p {
  flex-basis:100%;
  line-height:1.7;
  color:#55647c
}
.form-result .button {
  min-height:43px;
  font-size:11px
}
.copy-request {
  cursor:pointer;
  color:#30456a
}
.form-result details {
  flex-basis:100%;
  font-size:11px
}
.request-preview {
  white-space:pre-wrap;
  word-break:break-word;
  max-height:240px;
  overflow:auto;
  padding:12px;
  background:#f5f7fa;
  border-radius:8px;
  font:11px/1.6 "DM Sans",sans-serif;
  color:#4f5b70
}
.help-list-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px
}
.help-list-card {
  background:white;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px
}
.help-list-card h2 {
  font-size:19px;
  margin:8px 0
}
.help-list-card h2 a:hover {
  color:var(--blue)
}
.help-list-card p {
  font-size:12px;
  color:var(--muted);
  line-height:1.7
}
.guide-content ol,.guide-content ul {
  padding-left:22px
}
.guide-content li {
  padding:0 0 9px;
  color:#59677b;
  font-size:13px;
  line-height:1.8
}
.guide-content a,.guide-container>p a {
  color:var(--blue);
  font-weight:700
}
.breadcrumbs {
  font-size:11px;
  color:#76849a;
  margin-bottom:22px
}
.breadcrumbs a {
  color:var(--blue)
}
.related-guides {
  margin:25px 0
}
.related-guides h2 {
  font-size:19px
}

 .mobile-action-dock {
  display:none
}

@media(max-width:950px) {
  .benefit-grid {
    grid-template-columns:repeat(3,1fr)
  }
}

@media(max-width:700px) {
  body {
    padding-bottom:68px
  }
  .benefit-grid {
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .benefit-grid article {
    padding:15px
  }
  .benefit-grid b {
    font-size:12px
  }
  .benefit-grid p {
    font-size:10px
  }
  .faq-list summary {
    font-size:13px
  }
  .faq-list details p {
    font-size:11px
  }
  .booking-step {
    padding-top:17px
  }
  .booking-for {
    flex-wrap:wrap;
    gap:10px
  }
  .booking-for>span {
    flex-basis:100%
  }
  .help-list-grid {
    grid-template-columns:1fr
  }
  .help-list-card {
    padding:17px
  }
  .help-list-card h2 {
    font-size:17px
  }
  .request-preview {
    font-size:10px
  }
  .chat-launcher {
    display:none
  }
  .mobile-action-dock {
    position:fixed;
    z-index:38;
    left:0;
    right:0;
    bottom:0;
    min-height:62px;
    background:#fff;
    border-top:1px solid #e1e7f0;
    box-shadow:0 -8px 22px #233a5b14;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:6px 10px env(safe-area-inset-bottom,6px)
  }
  .mobile-action-dock a,.mobile-action-dock button {
    display:grid;
    place-items:center;
    border:0;
    background:transparent;
    color:#315fc7;
    font-weight:700;
    font-size:13px;
    min-height:48px;
    border-radius:9px
  }
  .mobile-action-dock a:first-child {
    background:#eff4ff
  }
  .mobile-action-dock a:last-child {
    background:#3468de;
    color:#fff
  }
  .mobile-action-dock button {
    cursor:pointer
  }
}
