.wissr-public-menu { position: relative; }
.wissr-public-menu > summary { list-style: none; cursor: pointer; min-height: 42px; padding: 0 14px; }
.wissr-public-menu > summary::-webkit-details-marker { display: none; }
.wissr-public-menu[open] > summary { border-color: rgba(20,123,145,.42); background: var(--soft); }
.wissr-public-menu-panel { position: absolute; right: 0; top: calc(100% + 9px); z-index: 20; min-width: 190px; padding: 8px; background: rgba(255,255,255,.98); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); display: grid; gap: 4px; }
.wissr-public-menu-panel a { text-decoration: none; padding: 11px 12px; border-radius: 11px; font-weight: 800; color: var(--ink); }
.wissr-public-menu-panel a:hover { background: var(--soft); color: var(--accent-dark); }
.wissr-public-menu-panel small { display: block; color: var(--muted); font-weight: 500; margin-top: 2px; }

.wissr-pro-main { padding-bottom: 34px; }
.wissr-pro-hero { min-height: 540px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 42px; align-items: center; padding: 58px 0 46px; }
.wissr-pro-hero h1 { font-size: clamp(52px, 8vw, 88px); line-height: .92; letter-spacing: -.06em; margin: 12px 0 24px; }
.wissr-pro-hero p { max-width: 670px; color: var(--muted); font-size: 19px; margin: 0; }
.wissr-motto-card { min-height: 330px; border-radius: 34px; padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(155deg, var(--ink), #173d47 58%, var(--accent)); color: #fff; box-shadow: 0 28px 70px rgba(18,32,42,.18); overflow: hidden; position: relative; }
.wissr-motto-card:before { content: ""; position: absolute; width: 210px; height: 210px; border: 28px solid rgba(255,255,255,.08); border-radius: 50%; right: -85px; top: -62px; }
.wissr-motto-card span { opacity: .68; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 900; }
.wissr-motto-card strong { font-size: clamp(38px, 5vw, 58px); letter-spacing: -.055em; line-height: .95; margin-top: 8px; }
.wissr-motto-card small { opacity: .72; margin-top: 12px; font-size: 14px; }

.wissr-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 6px 0 86px; }
.wissr-feature-grid article { min-height: 190px; padding: 22px; border-radius: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.74); }
.wissr-feature-grid article > span { color: var(--accent); font-size: 12px; font-weight: 900; }
.wissr-feature-grid strong { display: block; margin-top: 26px; font-size: 18px; letter-spacing: -.025em; }
.wissr-feature-grid p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }

.wissr-pricing { max-width: 900px; margin: 0 auto; scroll-margin-top: 30px; }
.wissr-section-intro { text-align: center; max-width: 620px; margin: 0 auto 28px; }
.wissr-section-intro h2 { margin: 8px 0 10px; font-size: clamp(34px, 5vw, 52px); letter-spacing: -.045em; }
.wissr-section-intro p { color: var(--muted); margin: 0; }
.wissr-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.wissr-price-card { min-height: 225px; padding: 26px; border-radius: 26px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: flex-start; position: relative; }
.wissr-price-card.featured { border-color: rgba(20,123,145,.42); background: linear-gradient(180deg, #fff, var(--soft)); }
.wissr-price-kicker { color: var(--muted); font-size: 13px; font-weight: 800; }
.wissr-price { display: block; font-size: 44px; letter-spacing: -.05em; line-height: 1; margin-top: 24px; }
.wissr-price-card small { color: var(--muted); margin-top: 7px; }
.wissr-price-choice { margin-top: auto; padding-top: 24px; color: var(--accent-dark); font-size: 13px; font-weight: 900; }
.wissr-badge { position: absolute; top: 18px; right: 18px; padding: 6px 9px; border-radius: 999px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 900; }
.wissr-signup-card { margin-top: 18px; }
.wissr-signup-card input[type="email"], .wissr-signup-card input[type="tel"] { width: 100%; min-height: 50px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdfe; color: var(--ink); padding: 0 14px; margin-top: 8px; outline: 0; }
.wissr-signup-card input[type="email"]:focus, .wissr-signup-card input[type="tel"]:focus { border-color: rgba(20,123,145,.55); box-shadow: 0 0 0 4px rgba(20,123,145,.09); }

.topnav { display:flex; gap:16px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.pro-nav { gap:6px; flex-wrap:nowrap; }
.pro-nav-link { min-height:42px; display:inline-flex; align-items:center; gap:8px; padding:0 12px; border-radius:12px; color:#455864; text-decoration:none; font-size:13px; font-weight:800; border:1px solid transparent; background:transparent; white-space:nowrap; }
.pro-nav-link:hover { background:#f2f7f9; color:var(--ink); }
.pro-nav-link.active { background:var(--soft); color:var(--accent-dark); border-color:rgba(20,123,145,.08); }
.pro-nav-link > span[aria-hidden="true"] { display:inline-grid; place-items:center; min-width:20px; font-size:18px; line-height:1; }
.pro-nav-badge { min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; border-radius:999px; background:var(--accent); color:#fff; font-size:10px; }
.pro-more-menu { position:relative; }
.pro-more-menu > summary { list-style:none; cursor:pointer; }
.pro-more-menu > summary::-webkit-details-marker { display:none; }
.pro-more-menu[open] > summary { background:#f2f7f9; color:var(--ink); }
.pro-chevron { font-size:16px; margin-left:2px; }
.pro-more-panel { position:absolute; right:0; top:calc(100% + 8px); z-index:40; width:260px; padding:8px; background:rgba(255,255,255,.99); border:1px solid var(--line); border-radius:16px; box-shadow:0 22px 55px rgba(31,61,77,.15); display:grid; gap:3px; }
.pro-more-panel a { display:block; padding:10px 11px; border-radius:11px; text-decoration:none; color:var(--ink); }
.pro-more-panel a:hover { background:var(--soft); }
.pro-more-panel strong { display:block; font-size:13px; }
.pro-more-panel small { display:block; margin-top:2px; color:var(--muted); font-size:11px; font-weight:500; }
.pro-more-panel form { margin:4px 0 0; padding-top:6px; border-top:1px solid var(--line); }
.pro-more-panel button { width:100%; border:0; background:transparent; color:var(--muted); text-align:left; padding:10px 11px; border-radius:11px; cursor:pointer; font:inherit; font-size:13px; font-weight:800; }
.pro-more-panel button:hover { background:#f8fbfc; color:var(--ink); }

/* Shared Ruitwassr product language: typography, brand and controls. */
body { color:#10213a; font-family:Inter,"Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,-apple-system,sans-serif; letter-spacing:-.008em; }
button, input, select, textarea { font:inherit; }
.brand { gap:10px; }
.brand-mark { width:42px; height:44px; border-radius:0; background:transparent; box-shadow:none; color:inherit; }
.brand-mark svg { width:42px; height:42px; display:block; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand strong { color:#0b1b38; font-size:24px; font-weight:850; letter-spacing:-.045em; }
.brand small { color:#7890ae; font-size:12px; font-weight:650; margin-top:4px; letter-spacing:-.01em; }
.brand-context { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border-radius:999px; background:#edf6fb; color:#2b7184; font-size:10px; font-style:normal; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.card { box-shadow:0 12px 34px rgba(31,61,77,.065); }
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="search"], input:not([type]), select, textarea {
  width:100%; min-height:50px; border:1px solid #d7e2e9; border-radius:13px; background:#fbfdfe; color:var(--ink); padding:0 14px; margin-top:8px; outline:0; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
textarea { min-height:110px; padding-top:12px; padding-bottom:12px; resize:vertical; }
select { appearance:none; -webkit-appearance:none; padding-right:44px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%235c7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; }
select::-ms-expand { display:none; }
input:focus, select:focus, textarea:focus { border-color:rgba(20,123,145,.55); box-shadow:0 0 0 4px rgba(20,123,145,.09); background:#fff; }
input::placeholder, textarea::placeholder { color:#81919b; opacity:1; }
.workspace-location select { margin-top:0; }
.button, .saved-area-map, .danger-link { border-radius:12px; font-weight:800; transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease; }
.button.secondary:hover, .saved-area-map:hover { background:#f3f8fb; border-color:#cadbe4; color:var(--accent-dark); }
.button:focus-visible, .saved-area-map:focus-visible, .danger-link:focus-visible, .pro-nav-link:focus-visible { outline:0; box-shadow:0 0 0 4px rgba(20,123,145,.12); }
.danger-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; width:auto; padding:0 12px; border:1px solid rgba(155,59,59,.2); background:#fff7f7; color:var(--danger); text-decoration:none; cursor:pointer; }
.danger-link:hover { background:#fff0f0; border-color:rgba(155,59,59,.34); }

/* Native selects are progressively enhanced into a full Ruitwassr component. */
.ruit-select { position:relative; width:100%; margin-top:8px; font-family:inherit; }
.workspace-location .ruit-select { margin-top:0; }
.ruit-select-native { position:absolute!important; width:1px!important; height:1px!important; min-height:1px!important; margin:0!important; padding:0!important; opacity:0!important; pointer-events:none!important; clip:rect(0 0 0 0); clip-path:inset(50%); overflow:hidden; white-space:nowrap; border:0!important; }
.ruit-select-trigger { width:100%; min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px; border:1px solid #d7e2e9; border-radius:13px; background:#fbfdfe; color:#10213a; text-align:left; cursor:pointer; font-family:inherit; font-size:14px; font-weight:750; line-height:1.25; letter-spacing:-.012em; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.ruit-select-trigger:hover { background:#fff; border-color:#c9d9e2; }
.ruit-select.open .ruit-select-trigger, .ruit-select-trigger:focus-visible { outline:0; background:#fff; border-color:rgba(20,123,145,.55); box-shadow:0 0 0 4px rgba(20,123,145,.09); }
.ruit-select-trigger-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ruit-select-trigger-text.placeholder { color:#71838f; font-weight:650; }
.ruit-select-chevron { width:20px; height:20px; flex:0 0 auto; color:#516a79; transition:transform .16s ease; }
.ruit-select.open .ruit-select-chevron { transform:rotate(180deg); }
.ruit-select-menu { position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:120; max-height:310px; overflow:auto; padding:7px; border:1px solid #d7e2e9; border-radius:15px; background:rgba(255,255,255,.995); box-shadow:0 20px 55px rgba(18,32,42,.16); }
.ruit-select-option { width:100%; min-height:46px; display:flex; align-items:center; gap:10px; padding:8px 12px; border:0; border-radius:10px; background:transparent; color:#20364a; text-align:left; cursor:pointer; font-family:inherit; font-size:14px; font-weight:680; line-height:1.25; letter-spacing:-.01em; }
.ruit-select-option:hover, .ruit-select-option:focus-visible { outline:0; background:#f1f7fa; color:#0d6072; }
.ruit-select-option.selected { background:#eaf5f7; color:#0d6072; font-weight:820; }
.ruit-select-option.selected:after { content:'✓'; margin-left:auto; color:#16815e; font-size:15px; font-weight:900; }
.ruit-select-option.placeholder { color:#71838f; }
.ruit-select-option:disabled { opacity:.45; cursor:not-allowed; }
.ruit-select.disabled .ruit-select-trigger { opacity:.58; cursor:not-allowed; background:#f4f7f8; }
.ruit-select.invalid .ruit-select-trigger { border-color:rgba(155,59,59,.55); box-shadow:0 0 0 4px rgba(155,59,59,.08); }

/* Match the visual reference at desktop scale: larger controls, calmer spacing. */
@media (min-width:1100px) {
  .page-shell { width:min(1440px, calc(100% - 64px)); }
  .topbar { min-height:100px; }
  .brand { gap:12px; }
  .brand-mark { width:50px; height:52px; }
  .brand-mark svg { width:50px; height:50px; }
  .brand strong { font-size:28px; }
  .brand small { font-size:13px; margin-top:5px; }
  .brand-context { min-height:26px; padding:0 9px; font-size:10px; }
  .pro-nav { gap:9px; }
  .pro-nav-link { min-height:50px; padding:0 16px; border-radius:14px; font-size:14px; gap:10px; }
  .pro-nav-link > span[aria-hidden="true"] { min-width:22px; font-size:20px; }
  .pro-nav-badge { min-width:22px; height:22px; font-size:11px; }
  .pro-more-panel { width:300px; padding:10px; border-radius:18px; }
  .pro-more-panel a { padding:12px 13px; border-radius:12px; }
  .pro-more-panel strong { font-size:14px; }
  .pro-more-panel small { font-size:12px; }
  .pro-more-panel button { padding:12px 13px; font-size:14px; }
  .button { min-height:52px; padding:0 22px; border-radius:14px; font-size:14px; }
  .workspace-actions .compact-button { min-height:50px; padding:0 18px; font-size:14px; border-radius:13px; }
  .workspace-location select { min-height:50px; border-radius:13px; padding-left:15px; font-size:14px; }
  .saved-area-map, .danger-link { min-height:44px; padding:0 15px; border-radius:12px; font-size:13px; }
  .ruit-select-trigger { min-height:52px; padding:0 16px; border-radius:14px; font-size:15px; }
  .ruit-select-menu { border-radius:16px; padding:8px; }
  .ruit-select-option { min-height:50px; padding:9px 13px; border-radius:11px; font-size:15px; }
  .ruit-select-chevron { width:22px; height:22px; }
}

@media (max-width: 980px) {
  .pro-nav { max-width:70vw; overflow-x:auto; justify-content:flex-start; scrollbar-width:none; }
  .pro-nav::-webkit-scrollbar { display:none; }
}

@media (max-width: 820px) {
  .wissr-pro-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 34px; }
  .wissr-motto-card { min-height: 250px; }
  .wissr-feature-grid { grid-template-columns: 1fr 1fr; margin-bottom: 58px; }
  .topbar { align-items:flex-start; gap:10px; padding:10px 0; }
  .pro-nav { max-width:calc(100vw - 125px); }
  .pro-nav-link { min-height:40px; padding:0 10px; font-size:12px; }
  .pro-nav-link > span[aria-hidden="true"] { min-width:18px; font-size:17px; }
  .brand strong { font-size:21px; }
  .brand-mark { width:38px; height:40px; }
  .brand-mark svg { width:38px; height:38px; }
  .brand-context { display:none; }
}

@media (max-width: 560px) {
  .wissr-public-menu > summary { min-height: 38px; padding: 0 10px; font-size: 13px; }
  .wissr-public-menu-panel { min-width: 176px; }
  .wissr-pro-hero h1 { font-size: clamp(48px, 16vw, 68px); }
  .wissr-pro-hero p { font-size: 17px; }
  .wissr-feature-grid, .wissr-price-grid { grid-template-columns: 1fr; }
  .wissr-feature-grid article { min-height: 150px; }
  .wissr-motto-card { border-radius: 26px; padding: 26px; }
  .pro-nav { max-width:calc(100vw - 90px); gap:3px; }
  .pro-nav-link { padding:0 9px; }
  .pro-nav-link span[aria-hidden="true"] { display:none; }
  .pro-more-panel { position:fixed; left:10px; right:10px; top:72px; width:auto; }
  .brand small { display:none; }
  .ruit-select-menu { max-height:min(320px, 48vh); }
}
