/* Additions (Claude, 2026-10-23/24): published prices with "why" lines, gallery captions with real cases,
   email explainer, Spanish section, legal links, and the package-card hover fix. Reuses the site's variables,
   type scale and components; nothing here changes the layout, logo, ribbon or motion. */

/* Package cards: hover is just the lift + shadow from refinements.css. An older rule (.way>a:hover in
   opening.css) painted the card's full-size click layer dark purple and hid the text; keep that layer clear. */
.way>a.way-trigger,.way>a.way-trigger:hover,.way>a.way-trigger:focus-visible{background:transparent;color:inherit;border:0}

/* Language switch: header link and the start-screen link. */
.site-header nav a.nav-lang{font-weight:600}
.hero-bottom .hero-lang{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #8f729f80;font-weight:500}
.hero-bottom .hero-lang:hover{color:var(--violet);border-color:var(--violet)}

/* One sourced fact, set apart from the scope note. */
.fact-note{max-width:52rem;margin:22px 0 0;padding:14px 0 14px 18px;border-left:3px solid var(--violet);font-size:1rem;line-height:1.75;color:var(--ink)}
.fact-note span{display:block;margin-top:6px;font-size:.92rem;color:var(--muted)}

/* Prices on the package cards. */
.way .way-price{margin:-10px 0 18px;font-size:1rem;font-weight:600;line-height:1.6;color:#5a4672}
.draft-label a{border-bottom:1px solid #8f729f80;margin-left:8px;display:inline-flex;align-items:center;min-height:44px}
.draft-label a:hover{color:var(--violet);border-color:var(--violet)}

/* Price list: same rows as "What we do". */
.prices{padding-block:100px 90px}
.price-list .service-row h3 b{display:block;margin-top:6px;font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:#5a4672}

/* Price "why" lines. */
.price-list .why{font-size:1rem;line-height:1.75;color:#3f3846;margin:-4px 0 12px}
.price-list .why strong{font-weight:600;color:#5a4672}

/* Gallery captions: plain text cards (not links), each with its real, sourced case. */
.work-index>div{padding-block:28px;min-width:0}
.work-index .work-real{font-size:.95rem;line-height:1.7;color:#4a3f55;border-left:3px solid #b5a2c2;padding-left:12px;margin-top:-6px}

/* Blind-customer pitch under the gallery stories. */
.blind-pitch{margin-top:56px;padding:34px 0 0;border-top:1px solid var(--line);max-width:68rem}
.blind-pitch h3{font-size:2rem;font-weight:400;letter-spacing:-.04em;line-height:1.2;margin-bottom:14px}
.blind-pitch>p{font-size:1.08rem;line-height:1.85;color:#39363e;max-width:48rem}
.blind-pitch ul{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.blind-pitch li{padding:18px 20px;border-left:3px solid var(--violet);background:#fffafc;border-radius:0 12px 12px 0;line-height:1.7;color:#39363e}

/* Package cards: a buy button and an ask link instead of one big email link. */
.way-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px}
.way-actions .way-cta{position:static}
.way-ask{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #8f729f80}
.way-ask:hover{color:var(--violet);border-color:var(--violet)}

/* "Best value" on the Essentials package card and the packages price row. */
.way.way-featured{border-color:#6e5a88;box-shadow:0 22px 50px #3929401f}
.way-badge{position:static;align-self:flex-start;margin:0 0 14px;padding:5px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.82rem;font-weight:600;letter-spacing:.02em}
.row-badge{display:block;width:max-content;margin:10px 0 2px;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.8rem;font-style:normal;font-weight:600;letter-spacing:.02em}

/* While the request form is open the page behind stays still. */
html.rq-locked,html.rq-locked body{overflow:hidden}

/* Package cards: the whole card is clickable (it opens its Buy button). */
.way[data-service]{cursor:pointer}
.way[data-service]:hover{transform:translateY(-4px)}

/* The Fix + Monitoring package is the one we promote: deep plum card. */
.way.way-featured{background:radial-gradient(ellipse at 100% 0,#6e5a8866,transparent 60%),linear-gradient(160deg,#3d3150,#232028);border-color:#3d3150;color:#f4eef7;box-shadow:0 30px 70px #2a1f3340}
.way.way-featured .way-number,.way.way-featured .way-boundary,.way.way-featured>p:not(.way-price){color:#d9cde3}
.way.way-featured .way-price{color:#e8dcf2}
.way.way-featured li{color:#f4eef7}
.way.way-featured .way-cta{background:#f7f3ef;color:#232028}
.way.way-featured .way-cta:hover{background:#fff}
.way.way-featured .way-ask{color:#f4eef7;border-color:#f4eef780}
.way.way-featured .way-badge{background:#f7f3ef;color:#232028}
.way:not(.way-featured) .way-badge{background:#e7dcef;color:#3d3150}
/* The featured card keeps its plum look on hover (the site's card hover would turn it white). */
.way.way-featured:is(:hover,:focus-within){background:radial-gradient(ellipse at 100% 0,#7a649866,transparent 60%),linear-gradient(160deg,#45375a,#28242e);border-color:#45375a;box-shadow:0 34px 76px #2a1f334d}
.way.way-featured:is(:hover,:focus-within) .way-cta{background:#fff;color:#232028}

/* Prices: the most important section gets the brand's lavender stage and frosted cards. */
.prices{width:min(1280px,calc(100% - 48px));margin:44px auto;padding:95px 6vw 85px;border:1px solid #b5a2c282;border-radius:28px;
  background:radial-gradient(ellipse at 100% 0,#d3bfe066,transparent 55%),radial-gradient(ellipse at 0 100%,#e9d5e566,transparent 55%),linear-gradient(140deg,#eee3f1,#f6eff6)}
.price-list .service-row{background:#fbf8fcd9;border:1px solid #ffffffc0!important;border-radius:22px;padding:32px 34px;margin-bottom:16px;box-shadow:0 14px 34px #3929400a;transition:transform .25s,box-shadow .25s}
.price-list .service-row:hover{transform:translateY(-3px);box-shadow:0 22px 46px #39294016}
.price-list .service-row.row-featured{background:radial-gradient(ellipse at 100% 0,#6e5a8866,transparent 60%),linear-gradient(160deg,#3d3150,#232028);color:#f4eef7;border-color:#3d3150!important}
.row-featured h3 b,.row-featured .why strong{color:#e8dcf2!important}
.row-featured p,.row-featured .why,.row-featured span{color:#e2d8ea!important}
.row-featured .row-actions a{color:#fff;border-color:#f4eef780}
.row-featured .row-badge{background:#e7dcef;color:#232028}
.row-badge-soft{background:#e7dcef;color:#3d3150}

/* A soft lavender band so the long stretch after prices isn't all white. */
.got-email{background:linear-gradient(180deg,#efe6f3,#f7f3ef00);border-top:0!important;border-radius:28px 28px 0 0;width:min(1280px,calc(100% - 48px));margin-inline:auto}

/* Buy / ask links under each price. */
.row-actions{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 0!important}
.row-actions a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:#3d2f4a;border-bottom:1px solid #8f729f80}
.row-actions a:hover{color:var(--violet);border-color:var(--violet)}

/* Request form pop-up: same lavender gradient and frosted card as the contact section. */
.request-dialog{width:min(1020px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffffb0;border-radius:30px;overflow:hidden;color:var(--ink);
  background:radial-gradient(ellipse at 0 0,#d8c8e266,transparent 60%),linear-gradient(135deg,#f0e2ed,#eee4f0);box-shadow:0 40px 120px #2a1f3355}
.request-dialog::backdrop{background:#2a20311f;-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}
.request-dialog[open]{animation:rq-in .34s cubic-bezier(.22,.7,.2,1)}
.request-dialog[open]::backdrop{animation:rq-fade .34s ease}
@keyframes rq-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes rq-fade{from{opacity:0}to{opacity:1}}
.rq-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;padding:12px;max-height:calc(100dvh - 34px);overflow:auto;overscroll-behavior:contain}
.rq-aside{position:sticky;top:0;align-self:start;padding:44px 34px 34px;display:flex;flex-direction:column}
.rq-mark{width:52px;height:52px;fill:none;stroke:#5a4672;stroke-width:5;margin-bottom:34px}
.rq-kicker{font-weight:600;color:#5a4672;margin:0 0 14px}
.rq-big{font-size:clamp(2.3rem,3.6vw,3.3rem);font-weight:400;line-height:1.08;letter-spacing:-.055em;margin:0 0 30px}
.rq-promises{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rq-promises li{display:flex;gap:12px;align-items:flex-start;line-height:1.55;color:#3a3340}
.rq-promises svg{flex:none;width:22px;height:22px;margin-top:1px;padding:3px;border-radius:50%;background:#fffafc;fill:none;stroke:#5a4672;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rq-email{margin:30px 0 0;font-size:.95rem;color:#4a4352}
.rq-summary{margin:0;padding:22px 22px 18px;border-radius:18px;background:#fbf8fce6;border:1px solid #ffffffc0;box-shadow:0 14px 34px #3929400f;animation:rq-in .28s cubic-bezier(.22,.7,.2,1)}
.rq-sum-head{display:flex;flex-direction:column;gap:2px;margin:0 0 12px}
.rq-sum-head strong{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.rq-sum-head span{font-weight:600;color:#5a4672}
.rq-summary ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.rq-summary li{position:relative;padding-left:20px;line-height:1.5;color:#3a3340}
.rq-summary li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--violet)}
.rq-summary-inline{display:none}
.rq-promises[hidden],.rq-summary[hidden]{display:none!important}
.rq-email a{border-bottom:1px solid #8f729f80;overflow-wrap:anywhere}
.rq-panel{background:#fbf8fcf2;border:1px solid #ffffffc0;border-radius:22px;padding:38px 36px 30px;box-shadow:0 18px 45px #3929400d}
.rq-panel h2{font-size:1.75rem;font-weight:500;letter-spacing:-.04em;margin:0 0 6px}
.dialog-lead{margin:0 0 22px;color:#4a4352}
.dialog-close{position:absolute;top:18px;right:18px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #8f729f60;border-radius:50%;background:#fffafccc;cursor:pointer;transition:background .2s,transform .2s}
.dialog-close:hover{background:#fff;transform:rotate(90deg)}
.dialog-close svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.rq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.field-wide{grid-column:1/-1}
.request-dialog .field{margin:0 0 14px}
.request-dialog label,.rq-need legend{display:flex;justify-content:space-between;gap:10px;font-weight:600;font-size:.95rem;margin-bottom:7px;color:#2e2934}
.field-tag{font-weight:500;font-size:.8rem;letter-spacing:.02em;color:#6d6670}
.request-dialog input:not([type=radio]),.request-dialog textarea{width:100%;min-height:50px;padding:12px 15px;border:1px solid #d9cfe0;border-radius:14px;background:#f6f1f8;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.request-dialog textarea{resize:vertical;min-height:84px}
.request-dialog input::placeholder{color:#6d6670}
.request-dialog input:not([type=radio]):focus,.request-dialog textarea:focus{outline:none;border-color:var(--violet);background:#fff;box-shadow:0 0 0 4px #6e5a882e}
.request-dialog [aria-invalid="true"]{border-color:#a3133a!important;background:#fff8f9!important}
.rq-need{border:0;padding:0;margin:4px 0 16px}
.rq-need legend{padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex!important;margin:0!important;font-weight:500!important}
.chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border:1px solid #cfc3d8;border-radius:999px;background:#fffafc;font-size:.92rem;transition:background .2s,color .2s,border-color .2s}
.chip:hover span{border-color:var(--violet)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip input:focus-visible+span{outline:3px solid var(--violet);outline-offset:2px}
.field-error{margin:6px 0 0;color:#a3133a;font-weight:600;font-size:.9rem}
.field-error:empty{display:none}
.form-errors{padding:14px 18px;border-radius:14px;margin:0 0 18px;background:#fff1f4;border:1px solid #e7b3c1}
.form-errors p{margin:0 0 6px;font-weight:700;color:#a3133a}
.form-errors ul{margin:0;padding-left:20px}
.form-errors a{color:#a3133a;text-decoration:underline}
.form-note{margin:-8px 0 18px;padding:12px 16px;border-radius:14px;background:#efe6f4;font-weight:600;color:#4b3a5e}
.rq-send{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:6px}
.rq-send .primary-link{gap:10px;border:0;cursor:pointer;padding-inline:30px}
.rq-send .primary-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.rq-send .primary-link:hover svg{transform:translateX(3px)}
.form-privacy{flex:1 1 220px;margin:0;font-size:.85rem;line-height:1.55;color:#5d5764}
.form-status{font-size:1.05rem;line-height:1.7;font-weight:600;color:#3d2f4a;margin:8px 0 0}
.form-status a{text-decoration:underline}
.request-dialog .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(prefers-reduced-motion:reduce){.request-dialog[open],.request-dialog[open]::backdrop,.rq-summary{animation:none}.dialog-close:hover{transform:none}}

/* Email explainer and Spanish block share the section rhythm. */
.got-email,.espanol{padding-block:90px;border-top:1px solid var(--line)}
.explainer-steps{max-width:52rem}
.espanol .text-link{margin-left:6px}

/* Footer links: real tap targets. */
.footer-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #8f729f60}
.footer-links a:hover{color:var(--violet);border-color:var(--violet)}

/* Copy-email fallback for computers without an email app. */
.copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;font-size:.95rem;color:var(--muted)}
.copy-email{font:inherit;font-size:.95rem;color:var(--ink);background:transparent;border:1px solid #8f729f80;border-radius:999px;padding:0 18px;min-height:44px;cursor:pointer}
.copy-email:hover{border-color:var(--violet);color:var(--violet)}
.copy-status{font-weight:600;color:#5a4672}

/* Simple pages (privacy, accessibility statement). */
.doc-page{padding-block:calc(var(--header-height) + 40px) 80px;max-width:52rem}
.doc-page h1{font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:500;line-height:1.12;letter-spacing:-.05em;margin-bottom:12px}
.doc-page h2{font-size:1.45rem;font-weight:500;letter-spacing:-.025em;margin:38px 0 10px}
.doc-page p,.doc-page li{font-size:1.05rem;line-height:1.85;color:#39363e}
.doc-page .meta{color:var(--muted);font-size:1rem}
.doc-page a{border-bottom:1px solid #8f729f80}

@media(max-width:700px){
  .blind-pitch ul{grid-template-columns:1fr}
  .blind-pitch{margin-top:36px}
  .rq-layout{grid-template-columns:1fr;padding:8px}
  .rq-aside{position:static;padding:26px 22px 8px}
  .rq-mark,.rq-promises,.rq-email,.rq-aside .rq-summary{display:none!important}
  .rq-summary-inline:not([hidden]){display:block;margin:-4px 0 16px}
  .rq-big{font-size:2.1rem;margin-bottom:6px}
  .rq-kicker{margin-bottom:8px}
  .rq-panel{padding:26px 18px 22px}
  .rq-grid{grid-template-columns:1fr}
  .dialog-close{top:12px;right:12px}
  /* Phones: the language link sits in the empty corner beside the logo, so the menu stays on one row. */
  .site-header nav a.nav-lang{position:absolute;top:14px;right:20px}
  :root{scroll-padding-top:150px} /* the phone header is two rows tall */
  .work-index>div{display:block;margin-bottom:17px;padding:25px 23px;border-bottom:1px solid #b5a2c26b}
  .prices{width:auto;margin:24px 12px;padding:60px 18px 50px}
  .price-list .service-row{padding:24px 20px}
  .got-email{width:auto;margin-inline:12px}
  .got-email,.espanol{padding-block:60px}
    .doc-page{padding-top:calc(var(--header-height) + 60px)}
}
/* Very narrow phones (and 400% zoom): keep the four menu links on one row. */
@media(max-width:360px){.site-header nav{gap:8px}.site-header nav a{font-size:.9rem}}
/* Florida owners, in their own words (Examples section) */
.owners{margin-top:72px}
.owners h3{font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.owners-lead{color:var(--muted);max-width:62ch;margin-bottom:28px}
.owners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.owner-card{display:flex;flex-direction:column;background:linear-gradient(180deg,#fbf8fc,#f3ecf6);border:1px solid #e3d8ea;border-radius:22px;padding:26px 24px 22px;box-shadow:0 1px 0 #fff inset,0 18px 40px -30px #4a3a5c66}
.owner-kind{font-size:.82rem;font-weight:600;color:#6a5574;letter-spacing:.02em;margin-bottom:4px}
.owner-card h4{font-size:1.25rem;letter-spacing:-.02em;margin:0 0 12px}
.owner-card blockquote{margin:0 0 12px;padding-left:14px;border-left:3px solid #b9a3cc}
.owner-card blockquote p{font-size:1.08rem;font-weight:600;line-height:1.4;margin:0}
.owner-card p{margin-bottom:12px}
.owner-source{margin-top:auto;margin-bottom:0!important;padding-top:12px;border-top:1px solid #e3d8ea;font-size:.88rem;color:var(--muted)}
.owner-source a{color:var(--violet);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.owners-note{margin:24px 0 0;font-weight:600;max-width:62ch}
@media (max-width:900px){.owners-grid{grid-template-columns:1fr}}
/* Guide pages: call-to-action row and hub list */
.doc-cta-row{margin-top:36px;padding:24px;border-radius:20px;background:linear-gradient(180deg,#f6eff9,#efe6f3);border:1px solid #e3d8ea;line-height:2.4}
.doc-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;margin-right:10px;border-radius:999px;background:var(--ink);color:var(--paper)!important;font-weight:600;text-decoration:none!important;line-height:1.2}
.doc-cta-soft{background:#e6dcef;color:var(--ink)!important}
.doc-cta:hover{background:var(--violet)}.doc-cta-soft:hover{background:#d9cbe6}
.guide-list{list-style:none;padding:0;display:grid;gap:12px}
.guide-list a{display:block;padding:18px 22px;border-radius:16px;border:1px solid #e3d8ea;background:#fbf8fc;font-weight:600;text-decoration:none}
.guide-list a:hover{border-color:#b9a3cc;background:#f6eff9}
