@font-face { font-family:"Nunito Sans"; src:url("../public/assets/fonts/NunitoSans-Variable.ttf") format("truetype"); font-style:normal; font-weight:200 1000; font-display:swap; }
@font-face { font-family:"Nunito Sans"; src:url("../public/assets/fonts/NunitoSans-Italic-Variable.ttf") format("truetype"); font-style:italic; font-weight:200 1000; font-display:swap; }
:root { --brand:#82d2dc; --brand-dark:#245b63; --ink:#1f2933; --muted:#676270; --line:#dce4e8; --surface:#fff; --background:#f4f7f7; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--background); font:400 16px/1.55 "Nunito Sans",Arial,Helvetica,sans-serif; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem max(1.25rem,calc((100% - 1080px)/2)); background:var(--surface); border-bottom:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.brand { color:var(--ink); font-size:1.15rem; font-weight:700; letter-spacing:.02em; text-decoration:none; }
.checkout-shell { width:min(1080px,calc(100% - 2rem)); margin:0 auto; padding:3rem 0 4rem; }
.intro { max-width:650px; margin-bottom:2rem; }
h1 { margin:.2rem 0 .65rem; font-size:clamp(2rem,5vw,3.3rem); line-height:1.08; letter-spacing:-.035em; }
.eyebrow { margin:0; color:var(--brand-dark); font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.muted,.form-note,small { color:var(--muted); }
fieldset { min-width:0; margin:0; padding:0; border:0; }
.section-title { width:100%; margin:0 0 1rem; font-size:1.05rem; font-weight:700; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:2rem; }
.product-card { position:relative; display:block; cursor:pointer; }
.product-card input { position:absolute; opacity:0; }
.product-content { display:block; height:100%; padding:1.25rem; background:var(--surface); border:2px solid var(--line); border-radius:14px; transition:border-color .15s,box-shadow .15s; }
.product-card input:checked + .product-content { border-color:var(--brand); box-shadow:0 0 0 3px rgba(130,210,220,.2); }
.product-card input:focus-visible + .product-content { outline:3px solid var(--brand-dark); outline-offset:2px; }
.product-heading { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.45rem; }
.product-heading b { white-space:nowrap; color:var(--brand-dark); }
.product-description { display:block; color:var(--muted); font-size:.92rem; }
.details-card,.checkout-total,.result-card { padding:clamp(1.25rem,4vw,2rem); background:var(--surface); border:1px solid var(--line); border-radius:16px; }
.quantity-panel { margin:0 0 1rem; }
.quantity-panel select { max-width:8rem; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
label span,label small { display:block; } label > span { margin-bottom:.4rem; font-weight:700; } label small { margin-top:.3rem; font-size:.8rem; }
input[type="text"],input[type="email"],input[type="tel"],select { width:100%; padding:.8rem .9rem; border:1px solid #b8c4c9; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
input:focus { border-color:var(--brand-dark); outline:3px solid rgba(130,210,220,.28); }
.phone-input { display:grid; grid-template-columns:minmax(7.5rem,.38fr) minmax(0,1fr); gap:.5rem; }
.checkout-total { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; }
.checkout-total span,.checkout-total strong { display:block; } .checkout-total span { color:var(--muted); font-size:.82rem; } .total-price { text-align:right; } .total-price strong { font-size:1.35rem; }
.button { display:inline-block; padding:.85rem 1.25rem; border:0; border-radius:9px; color:#173b40; background:var(--brand); font:inherit; font-weight:700; text-align:center; text-decoration:none; cursor:pointer; }
.button[hidden] { display:none; }
.button:hover { background:#70c7d2; } .button:disabled { opacity:.6; cursor:wait; } .button.secondary { background:#e8eff1; }
.pay-button { width:100%; margin-top:1rem; } .form-note { margin:.75rem 0 0; text-align:center; font-size:.82rem; }
.notice { margin:1rem 0; padding:1rem; border-radius:9px; background:#e8eff1; } .notice.error { color:#8c2424; background:#feecec; border:1px solid #f5c2c2; }
.field-error { display:block; margin-top:.35rem; color:#8c2424; font-weight:700; }
[aria-invalid="true"] { border-color:#b42318!important; }
.returning-customer { margin:-.25rem 0 1.25rem; color:var(--muted); }
.result-card { max-width:650px; margin:2rem auto; text-align:center; } .result-card h1 { font-size:clamp(1.8rem,5vw,2.6rem); } .result-card .button { margin-top:1rem; }
.result-icon { display:grid; place-items:center; width:3rem; height:3rem; margin:0 auto 1rem; border-radius:50%; background:var(--brand); font-size:1.5rem; font-weight:700; }
.confirmation-help-actions { display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; margin-top:1.25rem; }
.confirmation-help-actions .button { margin-top:0; min-height:48px; }
.order-summary { display:flex; justify-content:space-between; gap:1rem; margin:1.5rem 0; padding:1rem; border-radius:10px; background:var(--background); }
.access-ready { margin:1.5rem 0 0; }
.recent-access-code-panel { width:100%; margin:.6rem 0 1rem; padding:1.5rem; border-radius:12px; background:#82D2DC; color:#173b40; text-align:center; }
.access-code-label,.access-code-value { display:block; }
.access-code-label { font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.access-code-value { margin-top:.65rem; font-size:clamp(2.25rem,10vw,3.25rem); line-height:1; letter-spacing:.1em; overflow-wrap:anywhere; }
.arrival-instruction { margin:0; text-align:center; }
.purchase-price { font-size:1.25rem; }
.purchase-meta { margin-bottom:.25rem; color:var(--muted); }
.arrival-section { margin:1.5rem 0 0; padding-top:1.5rem; border-top:1px solid var(--line); text-align:left; }
.arrival-section h2 { margin:0 0 .65rem; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.arrival-section h3 { margin:0 0 .45rem; font-size:1rem; }
.arrival-section p { margin:.4rem 0; }
.arrival-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.useful-details > .detail-link,.detail-link { color:#17616a; font-weight:700; }
.help-actions { display:flex; flex-direction:column; align-items:stretch; gap:.65rem; }
.help-actions .button { width:100%; min-height:48px; margin:0; }
.recent-purchase-actions { margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.recent-purchase-actions > div { display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; }
@media (max-width:600px) { .arrival-grid { grid-template-columns:1fr; } .recent-purchase-actions .button { width:100%; } }
@media (max-width:700px) { .site-header span { display:none; } .checkout-shell { padding-top:2rem; } .product-grid,.field-grid { grid-template-columns:1fr; } .checkout-total { align-items:flex-end; } .phone-input { grid-template-columns:1fr; } }

/* Customer-facing Work page */
:root { --brand:#78d0d9; --brand-dark:#177d88; --ink:#3f3a4d; --muted:#676270; --line:#d9ecee; --background:#fffefc; --surface:#fff; --lilac:#8c849b; }
body { background:var(--background); color:var(--ink); }
.site-header { min-height:88px; padding:.7rem max(1.5rem,calc((100% - 1180px)/2)); display:grid; grid-template-columns:1fr auto 1fr; background:#fff; border:0; }
.brand { display:inline-flex; align-items:center; gap:.75rem; font-family:"Nunito Sans",Arial,Helvetica,sans-serif; }
.brand img { display:block; width:66px; height:66px; margin:0; object-fit:contain; clip-path:none; }
.brand-title { display:flex; flex-direction:column; align-items:flex-start; color:#77727f; font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; font-style:italic; font-weight:400; letter-spacing:.025em; line-height:1.22; white-space:nowrap; }
.site-header a { color:inherit; text-decoration:none; }
.site-header nav { display:flex; align-items:center; gap:clamp(1.35rem,3vw,2.7rem); color:var(--lilac); font-family:"Nunito Sans",Arial,Helvetica,sans-serif; font-size:.94rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase; -webkit-font-smoothing:antialiased; }
.site-header nav a { position:relative; padding:.65rem 0; }
.site-header nav a::after { content:''; position:absolute; left:0; bottom:.25rem; width:0; height:2px; background:var(--brand); transition:width .2s; }
.site-header nav a:hover::after,.site-header nav a.active::after { width:100%; }
.header-help { justify-self:end; display:inline-flex; align-items:center; gap:.45rem; color:#77727f; font-weight:700; }
.header-help svg,.compact-help svg { width:1.2rem; height:1.2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.header-help span { display:inline; }
.checkout-shell { width:100%; padding:0 0 4rem; border-top:10px solid var(--brand); }
.checkout-shell>.notice,.checkout-shell>.checkout-form,.checkout-shell>.result-card { width:min(1080px,calc(100% - 2rem)); margin-left:auto; margin-right:auto; }
.intro { max-width:none; min-height:450px; margin:0; padding:4.6rem max(1.5rem,calc((100% - 1100px)/2)); display:grid; grid-template-columns:1.45fr .8fr; align-items:center; gap:5rem; background:radial-gradient(circle at 82% 26%,rgba(255,255,255,.78) 0 4%,transparent 4.2%),linear-gradient(115deg,#eaf9f9 0%,#cceff1 53%,#9bdce2 100%); }
.intro h1 { margin:0; max-width:720px; color:var(--ink); font-size:clamp(3.3rem,6.2vw,6rem); font-weight:600; line-height:.98; letter-spacing:-.065em; }
.intro h1 em { color:var(--brand-dark); font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.intro-copy { max-width:670px; margin:1.75rem 0 1.3rem; color:#5d5969; font-size:1.18rem; }
.amenities { display:flex; flex-wrap:wrap; gap:.55rem 1.1rem; margin:0; padding:0; list-style:none; color:#5b5667; font-size:.9rem; font-weight:700; }
.amenities li::before { content:'✓'; margin-right:.35rem; color:var(--brand-dark); }
.opening-card { background:#fff; border:1px solid rgba(63,58,77,.12); box-shadow:0 24px 70px rgba(42,88,92,.16); }
.opening-card-main { padding:2.4rem; background:var(--ink); color:#fff; }
.opening-card-main>span,.opening-card-main>strong,.opening-card-main>small { display:block; }
.opening-card-main>span { color:var(--brand); font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.opening-card-main>strong { padding:.35rem 0 .5rem; font:400 2.25rem/1.15 Georgia,'Times New Roman',serif; }
.opening-card-main>small { color:#d8d5dd; font-size:.8rem; }
.wifi-card-link { width:100%; margin:0; padding:1.5rem 1.75rem; display:flex; align-items:center; gap:1rem; border:0; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.wifi-card-link:hover { background:#f4fbfb; }
.wifi-card-link svg { width:3rem; height:3rem; flex:0 0 auto; fill:none; stroke:var(--brand-dark); stroke-width:1.6; stroke-linecap:round; }
.wifi-card-link span,.wifi-card-link b,.wifi-card-link small { display:block; }
.wifi-card-link small { color:var(--brand-dark); font-size:.8rem; font-weight:700; }
.account-note { position:relative; z-index:2; width:min(1040px,calc(100% - 2.5rem)); margin:-1.75rem auto 0; padding:1.55rem 1.75rem; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.25rem; background:#fff; border:1px solid #c8e6e8; box-shadow:0 12px 35px rgba(42,88,92,.1); }
.account-note h2 { margin:0 0 .25rem; font-size:1.05rem; }
.account-note>div { min-width:0; }
.account-note p { max-width:none; margin:0; color:var(--muted); font-size:.9rem; }
.previous-customer { margin-top:.75rem!important; padding-top:.75rem; border-top:1px solid var(--line); font-size:.82rem!important; }
.account-note>a { color:var(--brand-dark); font-size:.86rem; font-weight:700; white-space:nowrap; }
.compact-help { display:inline-flex; align-items:center; gap:.4rem; text-decoration:none; }
.note-icon { width:2.4rem; height:2.4rem; display:grid; place-items:center; border-radius:50%; background:#e8f8f9; color:var(--brand-dark); font:bold 1rem Georgia,serif; }
.secure-icon svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.checkout-form { padding-top:5.5rem; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; color:var(--ink); font:400 clamp(2.3rem,4vw,3.4rem)/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.section-title>span,.section-title>span small { display:block; }
.section-title>small { max-width:390px; padding-bottom:.35rem; color:var(--muted); font:400 1rem/1.5 "Nunito Sans",Arial,Helvetica,sans-serif; text-align:right; letter-spacing:0; }
.amenities-trigger { padding:0; border:0; background:none; color:var(--brand-dark); font:inherit; font-weight:700; cursor:pointer; }
.section-title .eyebrow { margin-bottom:.75rem; font-family:"Nunito Sans",Arial,Helvetica,sans-serif; }
.product-grid { gap:1rem; margin-bottom:2.25rem; }
.product-grid-standard { grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-grid-flexi { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-card { grid-column:auto; }
.product-content { min-height:330px; padding:1.55rem; display:flex; flex-direction:column; border:1px solid #dfe3e5; border-radius:0; box-shadow:none; }
.product-content::before { content:''; height:7px; margin:-1.55rem -1.55rem 1.35rem; background:var(--brand); }
.product-grid-standard .product-card:nth-of-type(2) .product-content::before { background:#9bc9bb; }
.product-grid-flexi .product-card:nth-of-type(1) .product-content::before { background:#efe0bc; }
.product-grid-flexi .product-card:nth-of-type(2) .product-content::before { background:#5f9fad; }
.product-grid-flexi .product-card:nth-of-type(3) .product-content::before { background:#63c7d2; }
.product-card input:checked+.product-content { border-color:#55aebb; box-shadow:0 0 0 3px rgba(120,208,217,.24); }
.product-hours { color:var(--brand-dark); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-heading { margin:1.55rem 0 .5rem; display:block; }
.product-heading strong { display:block; min-height:2.9rem; font-size:1.12rem; }
.product-heading b { display:block; margin-top:.35rem; color:var(--lilac); font-size:3.4rem; line-height:1; letter-spacing:-.055em; }
.product-description { min-height:3.5rem; color:var(--muted); font-size:.88rem; }
.product-meta { margin:.6rem 0 1.25rem; color:#8b8790; font-size:.78rem; }
.product-action { margin-top:auto; min-height:45px; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; background:var(--brand); color:#fff; font-weight:800; }
.details-card { border-radius:0; border-color:#dfe3e5; }
.quantity-panel { display:grid; grid-template-columns:minmax(0,1fr) 8rem; gap:1rem; align-items:center; }
.quantity-panel label small { display:block; margin-top:.2rem; color:var(--muted); font-weight:400; }
.quantity-panel[hidden] { display:none; }
.quantity-panel,.customer-details { scroll-margin-top:1.25rem; }
.quantity-proceed { grid-column:1/-1; justify-self:end; margin-top:.25rem; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
input::placeholder { color:#aaa5af; font-style:italic; opacity:1; }
.button { border-radius:0; }
.returning-customer a { color:var(--brand-dark); font-weight:700; text-decoration:none; }
.site-footer { min-height:180px; padding:2.5rem max(1.5rem,calc((100% - 1080px)/2)); display:flex; align-items:center; justify-content:center; gap:1rem; background:var(--ink); color:#fff; text-align:left; }
.site-footer img { width:78px; height:96px; object-fit:contain; }
.site-footer div { display:flex; flex-direction:column; }
.site-footer span { color:#cbc7d1; font-size:.85rem; }
.site-footer small { margin-top:.35rem; color:#aaa5b2; font-size:.72rem; }
.site-footer nav { margin-left:2rem; display:flex; gap:1.2rem; color:var(--brand); font-size:.86rem; font-weight:700; }
.site-footer nav a { color:var(--brand); text-decoration:none; }
.amenities-dialog { width:min(620px,calc(100% - 2rem)); padding:0; border:0; color:var(--ink); box-shadow:0 24px 80px rgba(20,28,35,.3); }
.amenities-dialog::backdrop { background:rgba(31,37,47,.58); }
.amenities-dialog form { position:relative; padding:clamp(1.5rem,5vw,2.6rem); }
.amenities-dialog h2 { margin:.25rem 2rem 1.5rem 0; font:400 clamp(2rem,6vw,3rem)/1.05 Georgia,serif; letter-spacing:-.035em; }
.amenities-dialog ul { margin:0 0 1.7rem; padding:0; display:grid; gap:.8rem; list-style:none; }
.amenities-dialog li { padding:.85rem 0; display:grid; grid-template-columns:9rem 1fr; gap:1rem; border-bottom:1px solid var(--line); }
.amenities-dialog li span { color:var(--muted); }
.dialog-close { position:absolute; top:1rem; right:1rem; width:2.4rem; height:2.4rem; border:0; border-radius:50%; background:#e8f8f9; color:var(--brand-dark); font-size:1.5rem; cursor:pointer; }
.wifi-dialog { width:min(900px,calc(100% - 2rem)); max-height:90vh; }
.wifi-dialog form { max-height:90vh; overflow:auto; }
.wifi-page { width:min(1000px,calc(100% - 2rem)); margin:0 auto; padding:4rem 0; }
.wifi-details>h2 { margin:.3rem 0 1rem; font:400 clamp(2.2rem,5vw,3.6rem)/1.05 Georgia,serif; }
.wifi-lede { max-width:760px; color:var(--muted); font-size:1.08rem; }
.speed-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.speed-gallery button { padding:0; display:flex; flex-direction:column; border:0; background:none; color:var(--brand-dark); font:inherit; font-size:.82rem; font-weight:700; text-align:left; cursor:zoom-in; }
.speed-gallery img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#f4f7f7; border:1px solid var(--line); }
.speed-gallery span { padding:.5rem 0; }
.network-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.network-grid section { padding:1.25rem; background:#effafb; border-left:4px solid var(--brand); }
.network-grid p { margin:.35rem 0 0; color:var(--muted); }
.wifi-full-link,.inline-detail-link { color:var(--brand-dark); font:inherit; font-weight:700; }
.wifi-full-link { text-decoration:none; }
.inline-detail-link { padding:0; border:0; background:none; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.speed-image-overlay { position:fixed; inset:0; z-index:100; padding:clamp(1rem,4vw,3rem); display:grid; place-items:center; background:rgba(31,37,47,.9); }
.speed-image-overlay[hidden] { display:none; }
.speed-image-overlay img { max-width:100%; max-height:100%; object-fit:contain; background:#fff; box-shadow:0 16px 55px rgba(0,0,0,.35); }
.speed-image-overlay button { position:absolute; top:1rem; right:1rem; z-index:1; width:2.6rem; height:2.6rem; border:0; border-radius:50%; background:#fff; color:var(--ink); font-size:1.6rem; cursor:pointer; }
.wednesday-dialog { width:min(620px,calc(100% - 2rem)); padding:0; border:0; color:var(--ink); box-shadow:0 24px 80px rgba(20,28,35,.3); }
.wednesday-dialog::backdrop { background:rgba(31,37,47,.62); }
.wednesday-dialog>div { position:relative; padding:clamp(1.5rem,5vw,2.6rem); }
.wednesday-dialog h2 { margin:.25rem 2rem .9rem 0; font:400 clamp(2rem,6vw,3rem)/1.05 Georgia,serif; letter-spacing:-.035em; }
.wednesday-dialog p:not(.eyebrow) { color:var(--muted); }
.wednesday-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.wednesday-actions .button { margin:0; }
@media (max-width:850px) { .site-header { grid-template-columns:1fr auto 1fr; } .site-header .brand { grid-column:2; grid-row:1; justify-self:center; } .site-header .header-help { grid-column:3; grid-row:1; justify-self:end; } .site-header nav { order:3; grid-column:1/-1; grid-row:2; padding-bottom:.5rem; overflow-x:auto; justify-content:center; font-size:1rem; } .intro { grid-template-columns:1fr; gap:2.5rem; padding-top:3.4rem; } .opening-card { max-width:430px; } .account-note { grid-template-columns:auto 1fr; } .account-note>a { grid-column:2; } .product-grid-flexi { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .site-header { min-height:78px; padding-left:1rem; padding-right:1rem; } .brand img { width:48px; height:48px; } .brand-title,.header-help span { display:inline; } .brand-title { font-size:.98rem; } .site-header nav { width:100%; gap:1.5rem; justify-content:center; } .header-help { font-size:.85rem; } .intro { min-height:auto; padding:3rem 1.25rem 4.5rem; } .intro h1 { font-size:clamp(3rem,15vw,4.4rem); } .intro-copy { font-size:1.05rem; } .account-note { margin-top:-2rem; padding:1.3rem; grid-template-columns:1fr; } .account-note .note-icon { display:none; } .account-note>a { grid-column:auto; } .checkout-form { padding-top:4.25rem; } .section-title { align-items:start; flex-direction:column; } .section-title>small { text-align:left; } .product-grid-standard,.product-grid-flexi { grid-template-columns:1fr; } .product-content { min-height:300px; } .quantity-panel { grid-template-columns:1fr; } .phone-input { grid-template-columns:minmax(6.5rem,.36fr) minmax(0,1fr); } .site-footer { flex-direction:column; text-align:center; } .site-footer nav { margin-left:0; flex-wrap:wrap; justify-content:center; } .amenities-dialog li { grid-template-columns:1fr; gap:.2rem; } .speed-gallery,.network-grid { grid-template-columns:1fr; } }

@media (max-width:850px) { .site-header nav { font-size:.94rem; } }
@media (max-width:600px) { .brand img { width:56px; height:56px; margin:0; } .brand-title,.header-help span { display:flex; } .brand-title { font-size:.94rem; } }
.availability-warning { grid-column:1/-1; margin:0 0 .5rem; }
#pending-confirmation-details { margin-top:1.25rem; }
#check-payment-status[disabled] { cursor:wait; opacity:.7; }
#pending-confirmation-help { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.product-card-unavailable{opacity:.58;cursor:not-allowed}
.product-card-unavailable .product-action{color:inherit}

/* Marketing-page integration */
.checkout-shell { width:100%; margin:0; padding:0; border-top:10px solid var(--brand); }
.work-hero { min-height:650px; padding:clamp(3rem,7vw,6rem) max(1.5rem,calc((100% - 1120px)/2)); display:flex; align-items:center; background-color:#bfe9ec; background-image:var(--hero-image); background-position:center; background-size:cover; }
.work-hero-panel { width:min(650px,58%); padding:clamp(2rem,5vw,4rem); background:linear-gradient(125deg,rgba(232,249,249,.94),rgba(191,233,236,.84)); box-shadow:0 20px 60px rgba(28,55,59,.18); backdrop-filter:blur(2px); }
.work-hero h1 { margin:0; font:500 clamp(3rem,7vw,6.2rem)/.98 Georgia,serif; letter-spacing:-.05em; }
.work-hero-panel>p:not(.eyebrow) { max-width:610px; color:#5d5969; font-size:1.08rem; }
.work-hours-line { margin:.8rem 0; color:var(--ink)!important; font-size:1.08rem!important; }
.work-arrival-note { margin:1.2rem 0!important; padding:.85rem 1rem; border-left:4px solid var(--brand-dark); background:rgba(255,255,255,.58); }
.work-feature-strip { margin:0; padding:1.15rem max(1.5rem,calc((100% - 1120px)/2)); display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem 2rem; background:var(--ink); color:#fff; list-style:none; font-weight:700; }
.work-feature-strip button { padding:0; border:0; background:none; color:var(--brand); font:inherit; font-weight:800; cursor:pointer; }
.work-content-section { padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100% - 1080px)/2)); }
.work-section-heading { max-width:760px; margin:0 auto 2.5rem; text-align:center; }
.work-section-heading h2,.work-image-section h2,.work-final-cta h2 { margin:0; font:400 clamp(2.3rem,5vw,4rem)/1 Georgia,serif; }
.work-inclusion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.work-inclusion-grid article { padding:1.5rem; background:#fff; border-left:5px solid var(--brand); }
.work-inclusion-grid h3,.work-how h3 { margin:0; }
.work-inclusion-grid p,.work-how p,.work-image-section p,.work-final-cta>p:not(.eyebrow) { color:var(--muted); }
.work-inclusion-grid a,.work-text-link { color:var(--brand-dark); font-weight:700; text-decoration:none; }
.work-inclusion-grid button.work-text-link { padding:0; border:0; background:none; font:inherit; cursor:pointer; }
.work-how { padding-bottom:2.5rem; background:#eef9fa; }
.work-how ol { max-width:1080px; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; list-style:none; }
.work-how li { padding:1.4rem; background:#fff; border-top:5px solid var(--brand); }
.work-how li>span { display:grid; place-items:center; width:2rem; height:2rem; margin-bottom:1rem; border-radius:50%; background:var(--ink); color:#fff; font-weight:800; }
.work-how li p { margin:.35rem 0 0; }
.work-hours-reminder { margin:2rem auto 0!important; text-align:center; font-weight:800; }
.work-questions-cta { padding:0 max(1.5rem,calc((100% - 1080px)/2)) 5rem; background:#eef9fa; text-align:center; }
.work-questions-cta .site-button { background:#fff; color:var(--ink); box-shadow:0 4px 14px rgba(63,58,77,.09); }
.work-questions-cta .site-button:hover,.work-questions-cta .site-button:focus-visible { background:var(--ink); color:#fff; box-shadow:0 8px 20px rgba(63,58,77,.24); }
.work-passes { padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100% - 1080px)/2)); scroll-margin-top:1rem; }
.work-passes-compact { min-height:55vh; padding-top:3rem; }
.work-passes>.notice,.work-passes>.checkout-form { width:100%; margin-left:auto; margin-right:auto; }
.checkout-form { padding-top:0; }
.work-image-section { padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100% - 1080px)/2)); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(2rem,6vw,5rem); background:#eef9fa; }
.work-image-section-reverse { grid-template-columns:.9fr 1.1fr; background:var(--background); }
.work-image-section-reverse figure { order:2; }
.work-image-section figure { margin:0; overflow:hidden; box-shadow:0 20px 55px rgba(42,88,92,.15); }
.work-image-section img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.work-image-section h2 { margin:.25rem 0 1.2rem; }
.work-final-cta { padding:clamp(4rem,8vw,6rem) max(1.5rem,calc((100% - 760px)/2)); text-align:center; background:var(--brand); }
.work-final-cta h2 { margin:.2rem 0 1rem; }
.work-final-cta>div { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.work-final-cta .site-button { background:#fff; }
.work-final-cta .site-button:hover { background:var(--ink); color:#fff; }
.work-transactional .checkout-shell { padding:3rem 0 5rem; background:#f4f7f7; }
.work-transactional .result-card { width:min(650px,calc(100% - 2rem)); margin:0 auto; }
.confirmation-navigation { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; }

@media (max-width:850px) {
    .work-hero { min-height:600px; align-items:flex-end; background-position:55% center; }
    .work-hero-panel { width:min(620px,92%); }
    .work-how ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .work-image-section,.work-image-section-reverse { grid-template-columns:1fr; }
    .work-image-section-reverse figure { order:0; }
}

@media (max-width:600px) {
    .work-hero { min-height:660px; padding:2rem 1.25rem; }
    .work-hero-panel { width:100%; padding:1.6rem; }
    .work-hero h1 { font-size:clamp(3rem,15vw,4.5rem); }
    .work-inclusion-grid,.work-how ol { grid-template-columns:1fr; }
    .work-passes { padding-right:1rem; padding-left:1rem; }
    .quantity-proceed { width:100%; }
    .confirmation-navigation .button { width:100%; }
}
