/* Styles for the public pricing calculator. */
.c108-section{padding-top:28px;content-visibility:visible;contain-intrinsic-size:auto}
.c108{--c-black:var(--ink,#111e38);--c-gold:var(--gold,#7eacf5);--c-bright:#d0e7ff;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.c108-main{min-width:0}.c108 [hidden]{display:none!important}
.c108-toolbar{display:flex;align-items:flex-start;gap:24px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:34px}
.c108-toolbar p{max-width:650px;margin:0;font-size:.95rem;color:var(--muted)}.c108-toolbar strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px}
.c108-reset,.c108-cancel{border:0;background:transparent;padding:12px 0;color:var(--gold-dark);font-weight:700;text-decoration:underline;text-underline-offset:5px;cursor:pointer;font-size:.84rem;white-space:nowrap;min-height:44px}
.c108-group{min-width:0;border:0;padding:0;margin:0 0 46px}.c108-group legend{padding:0;float:none;font:600 clamp(1.65rem,2.5vw,2.55rem)/1.15 var(--display);letter-spacing:-.035em;margin:0 0 14px;max-width:100%}
.c108-group-intro{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.c108-group-intro>p,.c108-group-lead{color:var(--muted);font-size:.91rem;line-height:1.7;margin-bottom:22px}.c108-group-intro>p{margin:0}
.c108-toggle{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-weight:650;font-size:.85rem;min-height:44px;cursor:pointer}.c108-toggle input{width:18px;height:18px;accent-color:var(--gold-dark);margin:0}.c108-toggle:has(input:focus-visible) span{text-decoration:underline;text-underline-offset:5px}
.c108-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.c108-item{position:relative;min-width:0}
.c108-tile{position:relative;display:block;isolation:isolate;width:100%;aspect-ratio:1/1;min-height:0;overflow:hidden;border:2px solid #263e62;border-radius:3px;background:var(--c-black);color:#fff;cursor:pointer;transition:border-color .16s ease}
.c108-selection{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;border:0!important}
.c108-photo{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:-3;max-height:none!important}
/* A navy gradient keeps the text readable over service photography. */
.c108-shade{position:absolute;inset:0;background:rgb(17 30 56 / .02);z-index:-2}
.c108-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,30,56,.05) 0%,rgba(17,30,56,.45) 28%,rgba(17,30,56,.94) 67%,#111e38 100%);pointer-events:none}
.c108-content{position:absolute;left:20px;right:20px;bottom:21px;display:flex;flex-direction:column;min-width:0}
.c108-card-kicker{font-size:.57rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--c-bright);margin-bottom:8px}
.c108-card-title{font:650 clamp(1.15rem,1.6vw,1.6rem)/1.12 var(--display);letter-spacing:-.025em;display:block;max-width:100%;overflow-wrap:break-word}
.c108-card-desc{font-size:.76rem;line-height:1.55;color:#e1ecfc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0 12px}
.c108-card-price{font:650 clamp(1.25rem,1.9vw,1.8rem)/1.15 var(--display);letter-spacing:-.035em;color:var(--c-bright);white-space:normal}
.c108-card-billing{font-size:.65rem;line-height:1.55;color:#d8e6fa;margin-top:3px}.c108-card-option{font-size:.62rem;line-height:1.4;color:#cbdbef;margin-top:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c108-check{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #8ba6cd;color:transparent;background:rgba(17,30,56,.8);font-size:16px;line-height:1;border-radius:2px}
.c108-item[data-active=true]>.c108-tile,.c108:not(.c109):not(.is-enhanced) .c108-tile:has(input:checked){border-color:var(--c-gold)}
.c108-item[data-active=true] .c108-check,.c108:not(.c109):not(.is-enhanced) .c108-tile:has(input:checked) .c108-check{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-black)}
.c108-tile:hover{border-color:var(--c-bright)}
.c108-gear{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:44px;height:44px;list-style:none;border:1px solid #8ba6cd;background:rgba(17,30,56,.9);color:var(--c-bright);border-radius:3px;cursor:pointer}
.c108-gear::-webkit-details-marker{display:none}.c108-gear svg{display:block;transition:transform .2s ease}.c108-gear:hover svg{transform:rotate(25deg)}.c108-gear:hover{background:#284770}
.c108-settings{border:0;margin:0;padding:0}.c108-panel{padding:20px;margin-top:10px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
.c108-scope{font-size:.9rem;line-height:1.8;color:var(--muted)}.c108-disclaimer{font-size:.81rem;line-height:1.65;padding:14px 16px;border-left:2px solid var(--gold);background:#e7f1ff;color:#334b6f}
.c108-variants{margin:20px 0;padding:0;border:0;display:grid;gap:10px;min-width:0}.c108-variants>legend{font-weight:750;font-size:.9rem;padding:0 0 12px}
.c108-variant{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #cfddf1;background:#fff;cursor:pointer;border-radius:3px;min-width:0}.c108-variant:has(input:checked){border-color:var(--gold);background:#edf5ff}
.c108-variant input{margin:5px 0 0;width:18px;height:18px;flex-shrink:0;accent-color:var(--gold-dark)}.c108-variant>span{min-width:0;flex:1}.c108-variant strong{font-size:1rem;line-height:1.4;display:block}.c108-variant b{font-weight:650;font-size:.87rem;color:var(--gold-dark);display:block;margin:3px 0 8px}.c108-variant small{font-size:.8rem;color:#4c5b72;line-height:1.6;display:block}
.c108-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--line);font-size:.89rem;font-weight:650}.c108-quantity>span small{display:block;font-weight:400;font-size:.79rem;color:var(--muted);margin-top:5px}.c108-quantity input{width:88px;min-width:70px;padding:10px;border:2px solid #c8d8ee;background:white;font:inherit;color:var(--ink);border-radius:3px;text-align:center}.c108-quantity input[readonly]{background:#edf4fd}
.c108-panel-note,.c108-footnote{font-size:.77rem;line-height:1.75;color:var(--muted);margin:18px 0 0}
.c108-context{padding:26px;background:var(--cream);margin:0;border-top:2px solid var(--gold)}.c108-context>legend{float:left;width:100%;font-size:1.8rem;margin-bottom:15px}.c108-context>legend+*{clear:both}
.c108-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.c108-fields label{display:grid;gap:9px;font-size:.81rem;font-weight:650;min-width:0}.c108-wide{grid-column:1/-1}.c108-fields input,.c108-fields textarea{width:100%;min-width:0;font:inherit;font-weight:400;background:white;border:2px solid #cfddf1;color:var(--ink);padding:13px;border-radius:3px}.c108-fields textarea{resize:vertical}
.c108-submit{white-space:normal!important;font-size:.74rem;line-height:1.5;max-width:100%;text-align:center;min-height:52px}.c108-submit span{flex-shrink:0}
.c108-summary{position:sticky;top:112px;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:thin;padding:28px;background:#f6f9ff;color:var(--ink);border:1px solid #d4e3f7;border-radius:4px}
.c108-summary>.eyebrow{font-size:.62rem;color:var(--c-bright);margin-bottom:18px}.c108-summary h2{font-size:2rem;line-height:1.07;letter-spacing:-.04em;margin:0 0 14px}.c108-summary-intro{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:22px}
.c108-total{padding:17px 0;border-top:1px solid #d8e5f6}.c108-total>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.61rem;color:var(--gold-dark)}.c108-total strong{display:block;font:650 1.35rem/1.25 var(--display);margin:8px 0;color:var(--ink);overflow-wrap:break-word}.c108-total small{display:block;font-size:.73rem;color:var(--muted);line-height:1.6}.c108-total .c108-saving{color:var(--gold-dark);margin-top:7px}
.c108-summary>.c108-submit{width:100%;padding:14px 12px;margin-top:18px}.c108-summary-micro{font-size:.66rem;color:var(--muted);text-align:center;margin:10px 0 22px}.c108-summary-lines h3{font-size:.75rem;font-weight:650;color:var(--ink);margin:0 0 10px}.c108-summary-lines ul{list-style:none;padding:0;margin:0}.c108-summary-lines li{padding:12px 0;border-bottom:1px solid #d8e5f6;font-size:.79rem;line-height:1.6}.c108-summary-lines small{display:block;color:var(--muted);font-size:.7rem;margin-top:5px}.c108-summary-note{color:var(--muted);font-size:.7rem;line-height:1.75;margin:20px 0}.c108-talk{font-size:.76rem;text-decoration:underline;text-underline-offset:4px;color:var(--gold-dark);display:inline-block;padding:5px 0}
.c108-error{border:1px solid #9d2d27;background:#fff2ee;color:#7d241b;padding:18px;margin:0 0 24px;font-size:.9rem}.c108-noscript{grid-column:1/-1;padding:15px;border:1px solid var(--line);font-size:.9rem}
.c108-dialog{border:1px solid #7eacf5;border-radius:5px;padding:28px;max-width:min(680px,calc(100vw - 32px));width:680px;max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--cream,#f7faff);color:var(--ink,#111e38);overscroll-behavior:contain}
.c108-dialog:not([open]){display:none}.c108-dialog::backdrop{background:rgba(17,30,56,.74);backdrop-filter:blur(5px)}.c108-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.c108-dialog-head .eyebrow{margin:0;font-size:.62rem}.c108-close{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;font-size:1.8rem;border:1px solid var(--line);background:transparent;cursor:pointer;line-height:1;border-radius:3px}.c108-close:hover{background:#dce9fa}
.c108-dialog h2{font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.16;margin:18px 0 20px}.c108-dialog .c108-panel{padding:0;border:0;margin:0}.c108-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.c108-dialog-actions .button{font-size:.72rem;min-height:50px}.c108-dialog-actions .c108-cancel{color:var(--ink)}
/* No detached ring for mouse, touch OR keyboard: use one card border and an underline/background for keys. */
html body .c108 :is(a,button,input,textarea,summary,select):focus{outline:0!important;box-shadow:none!important}
html body .c108 .c108-tile:has(input:focus-visible){border-color:var(--c-bright)}
html body .c108 .c108-tile:has(input:focus-visible) .c108-card-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
html body .c108 :is(button,summary,a):focus-visible{background:#d0e7ff;color:#111e38;text-decoration:underline;text-underline-offset:4px}
html body .c108 :is(.c108-fields input,.c108-fields textarea,.c108-quantity input):focus-visible{border-color:#164acb;background:#f4f8ff}
html body .c108 .c108-variant:has(input:focus-visible){border-color:#164acb;background:#e7f1ff}
@media(max-width:1230px){.c108{grid-template-columns:minmax(0,1fr)}.c108-summary{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.c108-summary>.eyebrow,.c108-summary>h2,.c108-summary-intro{grid-column:1/-1}.c108-summary-lines{grid-column:2;grid-row:4/8}.c108-summary-note,.c108-talk{grid-column:1/-1}.c108-summary-micro{align-self:start}.c108-summary [data-c108-totals]{grid-column:1}}
@media(max-width:850px){.c108-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c108-card-title{font-size:1.4rem}.c108-card-price{font-size:1.55rem}.c108-card-desc{font-size:.79rem}}
@media(min-width:851px){.c108-grid--packages{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.c108-grid{grid-template-columns:minmax(0,1fr);gap:18px}.c108-content{left:24px;right:24px;bottom:24px}.c108-card-title{font-size:1.55rem}.c108-card-price{font-size:1.8rem}.c108-card-desc{font-size:.85rem;-webkit-line-clamp:3;margin:12px 0 16px}.c108-toolbar{display:block}.c108-reset{margin-top:12px}.c108-fields{grid-template-columns:1fr}.c108-wide{grid-column:auto}.c108-summary{display:block;padding:25px}.c108-summary-lines{margin-top:24px}.c108-context{padding:20px}.c108-context .c108-submit{width:100%;font-size:.68rem}.c108-dialog{padding:20px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.c108-dialog-actions{gap:14px}.c108-dialog-actions .button{font-size:.65rem;padding-inline:16px}.c108-group{margin-bottom:36px}}
@media(max-width:360px){.c108-content{left:18px;right:18px;bottom:18px}.c108-card-title{font-size:1.3rem}.c108-card-desc{font-size:.77rem;-webkit-line-clamp:2}.c108-card-price{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.c108-tile,.c108-gear svg{transition:none}.c108-gear:hover svg{transform:none}}
@media(forced-colors:active){.c108-tile,.c108-gear,.c108-variant{border-color:ButtonText}.c108-photo,.c108-shade,.c108-tile::after{display:none}.c108-item[data-active=true]>.c108-tile,.c108 .c108-variant:has(input:checked){border-color:Highlight}.c108 .c108-check{forced-color-adjust:none}}
/* Settings use the same light surfaces as the quote summary. */
.c108-dialog[open]{display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--ink)}
.c108-dialog-head,.c108-dialog>h2,.c108-dialog-actions{flex-shrink:0}
.c108-dialog [data-c108-dialog-slot]{overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}
.c108-dialog .eyebrow,.c108-dialog .c108-dialog-actions .c108-cancel{color:var(--gold-dark)}
.c108-dialog .c108-quantity,.c108-dialog-actions{border-color:#d4e3f7}
.c108-dialog .c108-close{background:#f3f8ff;color:var(--gold-dark);border-color:#d4e3f7}
html body .c108 .c108-dialog .c108-variant:has(input:focus-visible),html body .c108 .c108-dialog .c108-quantity input:focus-visible{background:#eaf3ff;border-color:var(--gold);color:var(--ink)}
@media(min-width:620px){.c108-dialog .c108-variants{grid-template-columns:repeat(2,minmax(0,1fr))}.c108-dialog .c108-variants>legend{grid-column:1/-1}}

/* 1.2.109 — rounded options, explicit selection and order editing. Calculator only. */
.c109{--c-control:38px;--c-radius:24px;--c-add:#d0e7ff;--c-remove:#ffcccc}
.c109 .c108-tile{border-radius:var(--c-radius);padding:78px 20px 22px;display:flex;flex-direction:column;min-height:290px;aspect-ratio:1/1}
.c109 .c108-content{position:static;margin-top:auto;min-width:0}
.c109 .c108-check{top:17px;left:17px;width:var(--c-control);height:var(--c-control);border-radius:11px;border:2px solid #8ba6cd;color:#d0e7ff;background:#1c3458;transition:background .16s,color .16s}
.c109 .c108-check svg{width:26px;height:26px;display:block}
.c109 .c108-check .c109-checkmark{display:none}
.c109 .c108-check .c109-addmark{opacity:.88}
.c109 .c108-item[data-active=true] .c108-check{background:var(--c-add);border-color:var(--c-add);color:#000}
.c109 .c108-item[data-active=true] .c109-checkmark{display:block}
.c109 .c108-item[data-active=true] .c109-addmark{display:none}
.c109 .c109-selection-label{position:absolute;top:29px;left:65px;font-size:.62rem;font-weight:800;line-height:1.2;letter-spacing:.04em;color:#d0e7ff;opacity:0;pointer-events:none}
.c109 .c108-item[data-active=true] .c109-selection-label{opacity:1}
/* 48px touch target, 38px icon = 38px checkbox; no gear tile or frame in any interaction state. */
html body .c109 .c108-gear,html body .c109 .c108-gear:is(:hover,:active,:focus,:focus-visible){width:48px;height:48px;top:12px;right:12px;padding:5px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;outline:0!important;color:var(--c-bright);text-decoration:none;display:grid;place-items:center}
html body .c109 .c108-gear svg{width:var(--c-control);height:var(--c-control);max-width:none;display:block}
html body .c109 .c108-gear:hover{color:#fff}
html body .c109 .c108-gear:focus-visible::after{content:"";position:absolute;bottom:0;left:8px;right:8px;height:3px;background:#d0e7ff;border-radius:2px}
.c109 .c108-panel{border-radius:20px}
.c109 .c108-variant{border-radius:16px;padding:16px;gap:12px}
.c109 .c108-variant input{appearance:none;-webkit-appearance:none;position:relative;width:26px;height:26px;flex:0 0 26px;margin-top:2px;background:transparent;border:2px solid #8ba5ca;border-radius:50%;cursor:pointer}
.c109 .c108-variant input:checked{border-color:var(--c-add);background:var(--c-add)}
.c109 .c108-variant input:checked::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#000}
.c109 .c108-variant:has(input:checked){border-color:var(--gold)}
.c109 .c108-quantity input,.c109 .c108-fields input,.c109 .c108-fields textarea{border-radius:12px;min-height:48px}
.c109 .c108-context{border-radius:24px;border:1px solid var(--line);border-top:2px solid var(--gold)}
.c109 .c108-summary{border-radius:24px}
.c109 .c108-summary h2{font-size:clamp(1.9rem,2.6vw,2.6rem);line-height:1.1;overflow-wrap:anywhere}
.c109 .c108-summary-intro{font-size:.8rem;line-height:1.75}
.c109 .c108-summary-micro{margin-bottom:20px}
.c109 .c108-summary-lines li{padding:14px 0;display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.c109-line-copy{min-width:0;flex:1;font-size:.79rem;overflow-wrap:anywhere}
.c109-line-actions{display:flex;flex:0 0 44px;flex-direction:column;align-items:stretch;gap:2px}
.c109-line-actions button{cursor:pointer;font:inherit;display:grid;place-items:center;padding:4px;border:0;border-radius:9px;min-height:40px;background:transparent;color:var(--gold-dark)}
.c109-line-actions .c109-line-edit{font-size:.7rem;text-decoration:underline;text-underline-offset:4px}
.c109-line-actions .c109-line-remove{color:#9d2d27;min-height:44px;min-width:44px;background:#fff0f0}
.c109-line-actions button:hover{background:#e2efff}
.c109-line-actions .c109-line-remove:hover{background:#48211e;color:#fff}
.c109 .c109-empty{color:var(--muted);font-size:.81rem!important;line-height:1.7!important}
.c109-return a{font-size:.8rem;color:var(--gold-dark);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.c109 .c108-reset:disabled{cursor:default;opacity:.5;text-decoration:none}
/* The native label preserves add and remove states without JavaScript. */
.c109-www-control{display:flex;align-self:flex-start;max-width:100%;position:relative}
.c109-native-toggle{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0}
html body .c109 .c109-www-switch{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 20px;border:0;border-radius:14px;cursor:pointer;background:var(--c-add);color:#111e38;font:750 .88rem/1.5 var(--sans);text-transform:none;text-decoration:none;letter-spacing:0;max-width:100%;transition:filter .15s}
.c109-www-switch [data-c109-www-cross]{display:inline-flex;flex-shrink:0}
html body .c109 .c109-www-switch[data-included=true],html body .c109 .c109-www-control:has(.c109-native-toggle:checked) .c109-www-fallback{background:var(--c-remove);color:#111e38}
.c109-www-fallback .c109-www-remove{display:none;align-items:center;gap:14px}
.c109-www-control:has(.c109-native-toggle:checked) .c109-www-fallback .c109-www-remove{display:inline-flex}
.c109-www-control:has(.c109-native-toggle:checked) .c109-www-fallback .c109-www-add{display:none}
html body .c109 .c109-www-switch:hover{filter:brightness(.94)}
html body .c109 .c109-www-switch:focus-visible,.c109-www-control:has(.c109-native-toggle:focus-visible) .c109-www-fallback{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.c109 .c109-www-hint{font-size:.79rem;line-height:1.65;max-width:720px;color:var(--muted);margin:0}
/* 1.2.110: navigation stays in document flow. It must never cover the cards
   or the independent sticky order panel. No JS measurements are required. */
.c109-jumpnav{grid-column:1/-1;position:static;top:auto;z-index:auto;min-width:0;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;padding:28px;background:#f4f8ff;color:var(--ink);border:1px solid #d4e3f7;border-radius:24px}
.c109-jumpnav .c110-jumpnav-title{display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0;padding:0;font:650 clamp(1.5rem,2.6vw,2rem)/1.25 var(--display);letter-spacing:-.025em;color:var(--ink)}
.c110-jumpnav-title>span:first-child{flex:0 0 auto}.c110-jumpnav-title>span:last-child{min-width:0;overflow-wrap:anywhere}
.c109-jumpnav-scroll{display:flex;flex-wrap:wrap;align-items:stretch;min-width:0;width:100%;max-width:100%;overflow:visible;gap:10px;padding:0}
.c109-jumpnav a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;max-width:100%;padding:12px 18px;white-space:normal;overflow-wrap:anywhere;text-align:center;font:650 .9rem/1.45 var(--sans);letter-spacing:0;border:1px solid #d4e3f7;border-radius:100vw;background:#fff;color:var(--gold-dark);text-decoration:none;box-shadow:none}
.c109-jumpnav a:hover{background:#e5efff;border-color:#8eb3f1;color:var(--gold-dark)}
html body .c109 .c109-jumpnav a:focus{outline:0;box-shadow:none}
html body .c109 .c109-jumpnav a:focus-visible{background:#e5efff;color:var(--gold-dark);border-color:var(--gold);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;outline:0;box-shadow:none}
/* Only the fixed site header needs clearance now; the calculator nav is not sticky. */
.c109 :is(.c108-group,.c108-summary,.c108-item){scroll-margin-top:130px}
.c109 .c108-dialog{border-radius:24px}
.c109 .c108-close{border-radius:12px}
.c109 .c108-dialog-actions{margin-top:12px;padding-top:16px;gap:14px}
.c109-dialog-price{flex-shrink:0;margin-top:14px;padding:15px 17px;background:#eff6ff;border:1px solid #d4e3f7;border-radius:16px}
.c109-dialog-price>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);display:block}
.c109-dialog-price strong{display:block;font:650 1.35rem/1.4 var(--display);color:var(--ink);margin:5px 0}
.c109-dialog-price small{font-size:.75rem;color:var(--muted);line-height:1.6;display:block}
.c109 .c108-variant:has(input:focus-visible)>span>strong{text-decoration:underline;text-underline-offset:4px}
/* 1.2.112: focus can move to the order heading without a decorative underline. */
html body .c109 #c108-summary-title,html body .c109 #c108-summary-title:is(:hover,:active,:focus,:focus-visible){outline:0;box-shadow:none;text-decoration:none!important}
@media(max-width:1430px){.c109{grid-template-columns:minmax(0,1fr)}.c109 .c108-summary{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px}.c109 .c108-summary>*{grid-column:1}.c109 .c108-summary>.eyebrow,.c109 .c108-summary>h2,.c109 .c108-summary-intro,.c109 .c108-summary-note,.c109 .c108-talk,.c109 .c109-return{grid-column:1/-1}.c109 .c108-summary .c108-summary-lines{grid-column:2;grid-row:3/6}.c109 .c108-summary>.c108-submit{grid-column:1}.c109 .c108-summary [data-c108-totals]{grid-column:1}.c109 .c108-tile{min-height:290px}}
@media(min-width:1431px) and (max-width:1600px){.c109{grid-template-columns:minmax(0,1fr) 310px;gap:24px}.c109 .c108-tile{padding:72px 16px 19px;min-height:290px}.c109 .c108-card-title{font-size:1.22rem}.c109 .c108-card-desc{font-size:.73rem}.c109 .c108-card-price{font-size:1.5rem}.c109 .c108-summary{padding:23px}}
@media(max-width:850px){.c109-jumpnav{padding:24px;gap:18px}.c109 :is(.c108-group,.c108-summary,.c108-item){scroll-margin-top:115px}}
@media(max-width:560px){.c109{gap:24px}.c109-jumpnav{padding:20px 18px;border-radius:24px;gap:18px}.c109-jumpnav-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.c109-jumpnav a{font-size:.87rem;padding:11px 8px}.c109-jumpnav .c110-jumpnav-title{gap:10px;font-size:1.5rem}.c109 .c108-tile{border-radius:24px;padding:76px 24px 24px;min-height:310px}.c109 .c108-card-title{font-size:1.5rem}.c109 .c108-card-desc{-webkit-line-clamp:2;font-size:.81rem;margin:10px 0 12px}.c109 .c108-card-price{font-size:1.65rem}.c109-www-control{width:100%}html body .c109 .c109-www-switch{width:100%;font-size:.82rem;padding:14px}.c109 .c108-summary{display:block;padding:24px}.c109 .c108-dialog{padding:18px;border-radius:20px}.c109 .c108-dialog h2{font-size:1.55rem;margin:12px 0}.c109 .c108-dialog-actions{gap:10px;padding-top:12px;margin-top:10px}.c109-dialog-price{padding:12px 14px;margin-top:12px}.c109-dialog-price strong{font-size:1.15rem}.c109 .c108-dialog .c108-variants{gap:9px}.c109 .c108-variant{padding:14px}.c109 :is(.c108-group,.c108-summary,.c108-item){scroll-margin-top:105px}}
@media(max-width:360px){.c109 .c108-tile{padding-inline:19px;min-height:300px}.c109 .c108-card-title{font-size:1.36rem}.c109 .c108-card-desc{font-size:.77rem}.c109 .c108-card-price{font-size:1.5rem}.c109 .c109-www-switch{font-size:.77rem}.c109 .c109-selection-label{font-size:.6rem}}
@media(max-height:620px){.c109 .c108-dialog{max-height:calc(100dvh - 16px);padding:14px 18px}.c109 .c108-dialog-head .c108-close{height:36px;min-height:36px}.c109 .c108-dialog h2{margin:8px 0;font-size:1.4rem}.c109-dialog-price{padding:8px 14px;margin-top:8px}.c109-dialog-price strong{font-size:1.1rem;margin:2px 0}.c109 .c108-dialog-actions{margin-top:8px;padding-top:8px}.c109 .c108-dialog-actions .button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.c109 .c108-check,.c109 .c109-www-switch{transition:none}}
@media(forced-colors:active){.c109 .c108-check{forced-color-adjust:auto}.c109 .c108-item[data-active=true] .c108-check{background:Highlight;color:HighlightText;border-color:Highlight}.c109 .c108-variant input{appearance:auto;-webkit-appearance:auto}.c109 .c108-variant input::after{display:none}html body .c109 .c108-gear{color:ButtonText!important}html body .c109 .c109-www-switch{border:1px solid ButtonText;color:ButtonText;background:Canvas}.c109 .c108-item[data-active=true] .c109-selection-label{color:HighlightText;background:Highlight}html body .c109 .c108-gear:focus-visible::after{background:Highlight}}

/* Native fallback: no false selected package when WWW is excluded; no JavaScript dependency for input state. */
.c109:not(.is-enhanced) .c108-item>.c108-tile{border-color:#263e62}
.c109:not(.is-enhanced) .c108-item .c108-check{background:#1c3458;color:#d0e7ff;border-color:#8ba6cd}
.c109:not(.is-enhanced) .c108-item .c109-checkmark{display:none}
.c109:not(.is-enhanced) .c108-item .c109-addmark{display:block}
.c109:not(.is-enhanced) .c108-item .c109-selection-label{opacity:0}
.c109:not(.is-enhanced) .c108-item:not([data-group=packages]):has(.c108-selection:checked)>.c108-tile,
.c109:not(.is-enhanced) #c108-websites:has(#c108-service-www:checked) .c108-item:has(.c108-selection:checked)>.c108-tile{border-color:var(--gold)}
.c109:not(.is-enhanced) .c108-item:not([data-group=packages]):has(.c108-selection:checked) .c108-check,
.c109:not(.is-enhanced) #c108-websites:has(#c108-service-www:checked) .c108-item:has(.c108-selection:checked) .c108-check{background:var(--c-add);border-color:var(--c-add);color:#000}
.c109:not(.is-enhanced) .c108-item:not([data-group=packages]):has(.c108-selection:checked) .c109-checkmark,
.c109:not(.is-enhanced) #c108-websites:has(#c108-service-www:checked) .c108-item:has(.c108-selection:checked) .c109-checkmark{display:block}
.c109:not(.is-enhanced) .c108-item:not([data-group=packages]):has(.c108-selection:checked) .c109-addmark,
.c109:not(.is-enhanced) #c108-websites:has(#c108-service-www:checked) .c108-item:has(.c108-selection:checked) .c109-addmark{display:none}
.c109:not(.is-enhanced) .c108-item:not([data-group=packages]):has(.c108-selection:checked) .c109-selection-label,
.c109:not(.is-enhanced) #c108-websites:has(#c108-service-www:checked) .c108-item:has(.c108-selection:checked) .c109-selection-label{opacity:1}

/* Preserve action colors when focused; keyboard feedback is the underline, never a second frame. */
html body .c109 .c109-www-switch:is(:focus,:focus-visible,:active){background:var(--c-add);color:#111e38}
html body .c109 .c109-www-switch[data-included=true]:is(:focus,:focus-visible,:active){background:var(--c-remove);color:#111e38}

/* Keep all four shortcuts reachable with larger user fonts and high contrast. */
@media(forced-colors:active){.c109-jumpnav{background:Canvas;color:CanvasText;border-color:CanvasText}.c109-jumpnav .c110-jumpnav-title{color:CanvasText}.c109-jumpnav a{background:Canvas;color:LinkText;border-color:ButtonText}html body .c109 .c109-jumpnav a:focus-visible{background:Highlight;color:HighlightText;border-color:HighlightText}}

/* Public site CTA palette and mobile input sizing. */
.c108 .c108-submit,.c108 .c108-dialog-actions .button{background:var(--gold);border-color:var(--gold);color:#fff}
.c108 .c108-submit:hover,.c108 .c108-dialog-actions .button:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.c108 .c108-fields input,.c108 .c108-fields textarea,.c108 .c108-quantity input{font-size:1rem}
