:root { font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif; color: #17221d; background: #f3f1ea; --deep:#14251d; --green:#244637; --paper:#fbfaf6; --gold:#c7a96a; --gold-light:#ecd58e; --line:rgba(23,34,29,.16); --muted:#66736c; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; }
a { color: inherit; }
button,input,select { font: inherit; }
button,a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 99; padding: 10px 14px; background: white; }
.skip-link:focus { top: 12px; }
.site-header { min-height: 78px; padding: 0 clamp(20px,5vw,76px); display: grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; background:rgba(251,250,246,.97); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--gold); color:#8a6b30; font:700 14px Georgia,serif; letter-spacing:.08em; }
.brand strong,.brand small { display:block; }
.brand strong { font:600 18px Georgia,"Noto Serif TC",serif; letter-spacing:.08em; }
.brand small { margin-top:3px; color:var(--muted); font-size:8px; letter-spacing:.22em; }
.site-header nav { display:flex; gap:26px; }
.site-header nav a { font-size:12px; font-weight:700; text-decoration:none; }
.header-contact { justify-self:end; padding:11px 15px; border:1px solid var(--gold); color:#705521; font-size:12px; font-weight:800; text-decoration:none; }
.hero { min-height:620px; padding:clamp(72px,9vw,126px) clamp(24px,8vw,128px); display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); align-items:center; gap:60px; position:relative; overflow:hidden; isolation:isolate; color:white; background:linear-gradient(115deg,#101d17 0%,#1b3429 62%,#315443 100%); }
.hero::after { content:""; position:absolute; inset:22px; border:1px solid rgba(236,213,142,.36); pointer-events:none; }
.hero-copy { max-width:780px; z-index:2; }
.eyebrow { margin:0 0 14px; color:var(--gold-light); font-size:11px; font-weight:800; letter-spacing:.22em; }
.eyebrow.dark { color:#86682f; }
.hero h1 { margin:0; font:500 clamp(40px,5.4vw,76px)/1.12 Georgia,"Noto Serif TC",serif; letter-spacing:.01em; }
.hero-copy>p:not(.eyebrow) { max-width:680px; margin:26px 0 32px; color:#dfe7e2; font-size:17px; line-height:1.9; }
.hero-actions { display:flex; gap:12px; align-items:center; }
.hero-actions a,.primary { min-height:48px; padding:0 22px; display:inline-flex; align-items:center; border:1px solid var(--gold); color:white; text-decoration:none; font-weight:800; }
.hero-actions .primary,.primary { background:var(--gold); color:var(--deep); }
.course-lines { width:min(420px,36vw); aspect-ratio:1; position:relative; z-index:1; border:1px solid rgba(236,213,142,.16); border-radius:50%; }
.course-lines span { position:absolute; inset:12% 8%; border:1px solid rgba(236,213,142,.32); border-radius:52% 42% 58% 46%; transform:rotate(var(--r,0deg)); }
.course-lines span:nth-child(2){ inset:24% 17%; --r:24deg; }.course-lines span:nth-child(3){inset:37% 30%;--r:-17deg}.course-lines i{width:12px;height:12px;position:absolute;right:25%;top:24%;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 10px rgba(236,213,142,.12)}
.hero-stats { grid-column:1/-1; margin:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.2); }
.hero-stats div { padding:20px 24px; border-right:1px solid rgba(255,255,255,.2); }.hero-stats dt{font:500 28px Georgia,serif}.hero-stats dd{margin:5px 0 0;color:#cbd8d1;font-size:11px}
.boundary { min-height:58px; padding:14px clamp(24px,7vw,110px); display:flex; align-items:center; gap:22px; background:#ddd5c5; color:#4d5952; font-size:12px; line-height:1.7; }.boundary b{color:var(--deep);white-space:nowrap}
.section-shell { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.method { padding:100px 0; display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,120px); }.method h2,.section-heading h2,.service h2,.classification h2{margin:0;color:var(--deep);font:500 clamp(34px,4vw,56px)/1.22 Georgia,"Noto Serif TC",serif}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}.method-grid article{min-height:220px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.method-grid span{color:#9b7b3e;font:600 13px Georgia,serif}.method-grid h3{margin:34px 0 12px;font:500 23px Georgia,"Noto Serif TC",serif}.method-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.catalog { padding:80px 0 110px; }.section-heading{display:grid;grid-template-columns:1fr minmax(280px,.7fr);gap:70px;align-items:end}.section-heading p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.filters{margin-top:42px;padding:24px;display:grid;grid-template-columns:1.4fr repeat(3,1fr) auto;gap:14px;align-items:end;background:var(--paper);border:1px solid var(--line)}.filters label{display:grid;gap:8px;color:var(--muted);font-size:11px;font-weight:800}.filters input,.filters select{min-height:46px;padding:0 12px;border:1px solid var(--line);background:white}.filters button{min-height:46px;padding:0 18px;border:1px solid var(--gold);background:transparent;color:#725826;font-weight:800}.result-count{margin:28px 0 18px;color:var(--muted);font-size:13px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{min-width:0;min-height:470px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line)}.course-visual{height:170px;padding:22px;position:relative;overflow:hidden;background:linear-gradient(135deg,#173328,#315444);color:white}.course-visual::before,.course-visual::after{content:"";position:absolute;border:1px solid rgba(236,213,142,.46);border-radius:50%}.course-visual::before{width:220px;height:130px;right:-50px;top:20px;transform:rotate(-17deg)}.course-visual::after{width:90px;height:58px;right:30px;top:54px}.course-country{position:absolute;left:22px;bottom:20px;font-size:10px;letter-spacing:.12em}.course-body{padding:24px;display:flex;flex:1;flex-direction:column}.course-body h3{margin:0;color:var(--deep);font:500 24px/1.25 Georgia,"Noto Serif TC",serif}.course-location{margin:9px 0 0;color:#8a6b30;font-size:11px;font-weight:800}.course-access{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.course-stay{margin:14px 0;color:#4e5d55;font-size:12px;line-height:1.7}.course-card button{width:100%;min-height:45px;margin-top:auto;border:1px solid var(--gold);background:var(--gold);color:var(--deep);font-weight:800}
.classification{padding:92px 0;background:var(--deep);color:white}.classification header{display:grid;grid-template-columns:.8fr 1fr;gap:50px;align-items:end}.classification h2{color:white}.classification header>p{margin:0;color:#b9c7c0;line-height:1.8}.tier-grid{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.2)}.tier-grid article{padding:30px;border-right:1px solid rgba(255,255,255,.2)}.tier-grid b{color:var(--gold-light);font-size:11px;letter-spacing:.16em}.tier-grid strong{display:block;margin:25px 0 7px;font:500 42px Georgia,serif}.tier-grid span{color:#b9c7c0;font-size:12px}
.official-course-link{min-height:42px;margin-top:8px;padding:0 14px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:#725826;font-size:11px;font-weight:800;text-decoration:none}.detail-status .official-course-link{width:max-content;margin-top:14px;background:var(--deep);color:white}.pagination{margin-top:28px;display:flex;justify-content:center;align-items:center;gap:18px}.pagination button{min-width:104px;min-height:42px;border:1px solid var(--gold);background:var(--paper);color:#725826;font-weight:800}.pagination button:disabled{opacity:.38;cursor:not-allowed}.pagination span{color:var(--muted);font-size:12px;font-weight:800}
.service{padding:105px 0;display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:center}.service>div:last-child p{margin:0 0 26px;color:var(--muted);font-size:15px;line-height:1.9}
footer{padding:46px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;background:#0d1b15;color:#c9d3ce}footer div{display:grid;align-content:start;gap:7px}footer strong{color:white;font:500 17px Georgia,"Noto Serif TC",serif}footer span,footer a,footer button{color:#aebbb4;font-size:11px;line-height:1.6;text-align:left}footer button{padding:0;border:0;background:transparent;text-decoration:underline;cursor:pointer}
dialog{width:min(980px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:0;background:var(--paper);box-shadow:0 32px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(6,18,13,.78)}.dialog-close{position:sticky;top:12px;z-index:4;float:right;margin:12px 12px -55px 0;min-height:42px;padding:0 14px;border:1px solid var(--line);background:rgba(251,250,246,.96);font-weight:800}.detail{padding:54px clamp(24px,6vw,64px)}.detail h2,.policy-copy h2{margin:0;color:var(--deep);font:500 clamp(32px,4vw,48px)/1.2 Georgia,"Noto Serif TC",serif}.detail-summary{margin:20px 0 0;color:var(--muted);line-height:1.85}.detail-status{margin:28px 0;padding:18px;border-left:3px solid var(--gold);background:#eee9dc;font-size:13px;line-height:1.8}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-section{padding:22px;border:1px solid var(--line)}.detail-section h3,.policy-copy h3{margin:0 0 12px;color:#29493b;font:500 20px Georgia,"Noto Serif TC",serif}.fact-list{margin:0;display:grid;gap:10px}.fact-list div{display:grid;grid-template-columns:120px 1fr;gap:12px}.fact-list dt{color:var(--muted);font-size:11px}.fact-list dd{margin:0;font-size:12px;line-height:1.65}.pending{color:#8a6b30}.detail-sources{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:1.7}.detail-sources a{word-break:break-all}.policy-copy{padding:58px clamp(24px,6vw,64px)}.policy-copy h3{margin-top:30px}.policy-copy p{color:var(--muted);line-height:1.85}
.course-visual.has-photo{padding:0;background:#173328}.course-visual.has-photo::before,.course-visual.has-photo::after{display:none}.course-visual img{width:100%;height:100%;display:block;object-fit:cover}.course-visual.has-photo::after{content:"";display:block;position:absolute;inset:0;border:0;border-radius:0;background:linear-gradient(180deg,rgba(8,23,16,.08),rgba(8,23,16,.78))}.course-visual.has-photo .course-country{z-index:1}.media-state{position:absolute;right:14px;bottom:14px;padding:5px 8px;border:1px solid rgba(236,213,142,.5);background:rgba(12,34,24,.72);color:#e8d798;font-size:9px;letter-spacing:.08em}
.detail-media{margin:28px 0 0}.detail-media img{width:100%;height:clamp(240px,42vw,480px);display:block;object-fit:cover;background:#173328}
@media(min-width:641px){.hero{height:700px;min-height:700px;padding-top:58px;padding-bottom:112px;grid-template-rows:1fr}.hero-stats{position:absolute;left:clamp(24px,8vw,128px);right:clamp(24px,8vw,128px);bottom:22px}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.course-lines{display:none}.method,.service{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}.classification header{grid-template-columns:1fr}.tier-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.site-header{min-height:70px;padding:0 16px}.brand strong{font-size:15px}.header-contact{padding:9px;font-size:10px}.hero{min-height:auto;padding:70px 24px 54px}.hero::after{inset:11px}.hero h1{font-size:clamp(36px,11vw,42px)}.hero-stats{grid-template-columns:1fr}.hero-stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.boundary{align-items:flex-start;flex-direction:column;gap:5px}.section-shell{width:calc(100% - 32px)}.method{padding:70px 0}.method-grid{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr;gap:16px}.filters{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.tier-grid{grid-template-columns:1fr}.classification{padding:70px 0}.service{padding:76px 0;gap:28px}footer{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.fact-list div{grid-template-columns:1fr;gap:3px}dialog{width:100%;height:100%;max-height:100vh;margin:0}}

/* Infinity Tour portfolio design system v2 */
@media screen {
  .brand-lockup { min-width: 0; display: inline-flex; align-items: center; }
  .brand-home { height: 46px; padding-right: 14px; display: inline-flex; align-items: center; border-right: 1px solid var(--line); }
  .brand-home img { width: auto; height: 36px; display: block; }
  .product-home { padding-left: 14px; display: grid; color: var(--deep); line-height: 1.12; text-decoration: none; }
  .product-home strong { font: 600 15px "Noto Serif TC", Georgia, serif; letter-spacing: .12em; }
  .product-home small { margin-top: 4px; color: var(--muted); font-size: 8px; letter-spacing: .24em; }
  .hero h1 { font-family: "Noto Serif TC", Georgia, serif; }
  footer { min-height: 180px; }
}
@media screen and (max-width: 640px) {
  .brand-home { height: 42px; padding-right: 10px; }
  .brand-home img { height: 31px; }
  .product-home { padding-left: 10px; }
  .product-home strong { font-size: 13px; }
  .product-home small { font-size: 7px; }
  .hero { height: 620px; min-height: 620px; padding: 64px 24px 145px; display: block; }
  .hero-stats { position: absolute; right: 24px; bottom: 24px; left: 24px; grid-template-columns: repeat(3, 1fr); }
  .hero-stats div { padding: 12px 7px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 0; }
  .hero-stats dt { font-size: 21px; }
  .hero-stats dd { font-size: 9px; }
}

/* Infinity Tour portfolio design system v2.1 — compact charcoal / gold */
@media screen {
  .site-header {
    color: #fbfaf6;
    background: rgba(31, 31, 30, .98);
    border-bottom-color: rgba(199, 169, 106, .48);
  }
  .brand-home { border-right-color: rgba(199, 169, 106, .42); }
  .product-home { color: #fbfaf6; }
  .product-home small { color: #ecd58e; }
  .site-header nav a { color: #dedad1; }
  .site-header nav a:hover { color: #ecd58e; }
  .header-contact { color: #ecd58e; }
  .hero {
    height: auto;
    min-height: 480px;
    padding: 56px clamp(24px, 8vw, 128px) 32px;
    grid-template-columns: minmax(0, 1fr) 200px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 40px;
    background: linear-gradient(115deg, #1d1d1c 0%, #2b2b29 62%, #3a3935 100%);
  }
  .hero::after { inset: 12px; border-color: rgba(236, 213, 142, .5); }
  .hero h1 { font-size: clamp(34px, 3.3vw, 46px); line-height: 1.12; }
  .hero-copy > p:not(.eyebrow) { margin: 12px 0 16px; font-size: 14px; line-height: 1.55; }
  .hero-actions a { min-height: 42px; padding-inline: 16px; font-size: 12px; }
  .course-lines { width: 180px; }
  .hero-stats { position: relative; right: auto; bottom: auto; left: auto; margin-top: 20px; }
  .hero-stats div { padding: 9px 14px; }
  .hero-stats dt { font-size: 21px; }
  .hero-stats dd { margin-top: 2px; font-size: 9px; }
}
@media screen and (max-width: 640px) {
  .site-header { min-height: 68px; }
  .hero { height: auto; min-height: 0; padding: 40px 20px 24px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 0; }
  .hero h1 { font-size: clamp(29px, 8.2vw, 34px); }
  .hero-copy > p:not(.eyebrow) { margin: 10px 0 13px; font-size: 13px; line-height: 1.48; }
  .hero-actions { gap: 7px; flex-wrap: wrap; }
  .hero-actions a { min-height: 38px; padding-inline: 10px; font-size: 10px; }
  .hero-stats { position: relative; right: auto; bottom: auto; left: auto; margin-top: 24px; }
  .hero-stats div { padding: 7px 5px; }
  .hero-stats dt { font-size: 18px; }
  .hero-stats dd { font-size: 8px; }
}

/* Infinity Tour portfolio design system v2.2 — desktop width and rhythm */
@media screen and (min-width: 901px) {
  .site-header,
  .hero,
  .boundary {
    padding-inline: max(24px, calc((100vw - 1200px) / 2));
  }
  .section-shell { width: min(1200px, calc(100% - 48px)); }
  .hero .eyebrow { font-size: 12px; }
  .hero-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.58; }
  .hero-stats dd { font-size: 11.5px; }
  .method { padding: 72px 0; }
  .catalog { padding: 64px 0 80px; }
  .filters { margin-top: 32px; }
  .classification { padding: 72px 0; }
  .service { padding: 72px 0; }
}

/* Golf home: editorial tiers in the hero, search immediately below. */
.top-search { padding-block: 18px 20px; }
.top-search .filters { margin: 0; padding: 18px; grid-template-columns: minmax(0, 2fr) minmax(170px, 1fr) auto auto; }
.top-search .filters button[type="submit"] { background: var(--deep); border-color: var(--deep); color: white; }
.hero { height: auto; min-height: 0; grid-template-rows: auto; grid-auto-rows: auto; row-gap: 24px; }
.hero-tiers.tier-grid { grid-column: 1 / -1; position: relative; z-index: 2; margin-top: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hero-tiers.tier-grid article { min-width: 0; padding: 15px 18px; }
.hero-tiers.tier-grid article:last-child { border-right: 0; }
.hero-tiers.tier-grid strong { margin: 5px 0 3px; font-size: 28px; }
.hero-tiers.tier-grid span { font-size: 11px; line-height: 1.4; }
.catalog { scroll-margin-top: 92px; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .course-lines { display: none; }
}
@media (max-width: 640px) {
  .top-search { padding-block: 12px; }
  .top-search .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; }
  .top-search .filters label { grid-column: 1 / -1; }
  .top-search .filters button { padding-inline: 8px; }
  .hero { display: grid; grid-template-rows: auto; gap: 20px; padding: 36px 20px 28px; }
  .hero-tiers.tier-grid { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-tiers.tier-grid article { padding: 12px; }
  .hero-tiers.tier-grid article:nth-child(2) { border-right: 0; }
  .hero-tiers.tier-grid strong { font-size: 24px; }
  .catalog { scroll-margin-top: 80px; }
}

/* Golf advisor: Cruise-style modal, backed by the same first-party inquiry API. */
.service { align-items: start; scroll-margin-top: 100px; }
.advisor-intro p:not(.eyebrow) { max-width: 470px; margin: 24px 0 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.advisor-launch { min-height: 220px; padding: clamp(24px, 3vw, 38px); display: grid; align-content: center; justify-items: start; gap: 24px; border: 1px solid var(--line); background: var(--paper); }
.advisor-launch p { max-width: 430px; margin: 0 !important; color: var(--muted); font-size: 15px; line-height: 1.8; }
.advisor-open { justify-content: center; font: inherit; font-size: 13px; cursor: pointer; }
body.advisor-modal-open { overflow: hidden; }
.advisor-dialog { width: min(900px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow-y: auto; border-top: 4px solid var(--gold); }
.advisor-dialog-heading { padding: 34px 40px 26px; border-bottom: 1px solid var(--line); }
.advisor-dialog-heading h2 { margin: 0; color: var(--deep); font: 500 clamp(28px, 3vw, 38px)/1.3 Georgia, "Noto Serif TC", serif; }
.advisor-dialog-heading p:last-child { max-width: 650px; margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.advisor-dialog .advisor-form { padding: 28px 40px 38px; border: 0; }
.advisor-dialog-close:disabled { opacity: .5; cursor: wait; }
.advisor-form { min-width: 0; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); background: var(--paper); }
.advisor-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.advisor-form label { min-width: 0; color: var(--deep); font-size: 12px; font-weight: 800; }
.advisor-form-grid label,.advisor-form-notes { display: grid; gap: 8px; }
.advisor-form input:not([type="checkbox"]),.advisor-form textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 0; background: white; color: var(--deep); font-family: inherit; font-size: 14px; line-height: 1.5; }
.advisor-form textarea { min-height: 108px; resize: vertical; }
.advisor-form input:focus-visible,.advisor-form textarea:focus-visible,.advisor-form button:focus-visible { outline: 2px solid #8b6c30; outline-offset: 2px; }
.advisor-form-notes { margin-top: 18px; }
.advisor-form-consent { margin-top: 20px; display: flex; align-items: flex-start; gap: 10px; line-height: 1.7; }
.advisor-form-consent input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--deep); }
.advisor-form-consent a { color: #765922; text-underline-offset: 3px; }
.advisor-form-submit { min-height: 48px; margin-top: 20px; padding: 0 20px; border: 1px solid var(--deep); background: var(--deep); color: white; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.advisor-form-submit:disabled { opacity: .55; cursor: wait; }
.advisor-form-status { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.advisor-form-status a { color: #765922; }
.advisor-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.advisor-form-success { margin-top: 18px; padding: 18px; border: 1px solid #587458; background: #edf4ec; color: #234923; font-size: 14px; line-height: 1.7; }
.advisor-form-success[hidden] { display: none; }
.advisor-form-success p { margin: 6px 0 0; overflow-wrap: anywhere; }
.advisor-done { min-height: 42px; margin-top: 14px; padding: 0 20px; border: 1px solid #234923; background: #234923; color: white; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
@media (max-width: 640px) {
  .service { scroll-margin-top: 76px; }
  .advisor-launch { min-height: 0; }
  .advisor-open { width: 100%; }
  .advisor-dialog { width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; }
  .advisor-dialog-heading { padding: 72px 20px 22px; }
  .advisor-dialog .advisor-form { padding: 24px 20px 34px; }
  .advisor-form-grid { grid-template-columns: 1fr; gap: 14px; }
  .advisor-form-submit { width: 100%; }
}
