:root{--surface-page:#f3f6f8;--surface-card:#fff;--surface-subtle:#eef4f6;--marine:#087587;--marine-dark:#075c6b;--navy:#102e42;--gold:#d9b36a;--text-1:#173041;--text-2:#4b6070;--text-3:#526777;--line-1:#dce5eb;--line-2:#adbeca;--inverse:#fff;--pastel-sky:#e6f2f7;--on-sky:#17465f;--pastel-seafoam:#e3f4ec;--on-seafoam:#185239;--pastel-sunset:#fff0ed;--on-sunset:#8c3326;--pastel-buttercup:#fff5dc;--on-buttercup:#72541b;--pastel-lavender:#edf0fb;--on-lavender:#3c487b}
*{box-sizing:border-box}html{scroll-padding-top:1.5rem}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page);color:var(--text-1);font:1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--marine);text-underline-offset:3px}a:hover{color:var(--marine-dark)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid #ad770a;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:absolute;left:1rem;top:-10rem;z-index:100;background:#fff;padding:1rem}.skip-link:focus{top:1rem}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(1.65rem,3.5vw,2.15rem);line-height:1.25;margin:0 0 .55rem;font-weight:700;letter-spacing:-.025em}h2{font-size:1.2rem;line-height:1.35;margin:0 0 .9rem;font-weight:650}h3{font-size:1rem;line-height:1.45}p{margin:0 0 1rem}small{font-size:.875rem}.pagesub{color:var(--text-2);margin:0 0 1.6rem;max-width:65ch}.eyebrow{font-size:.875rem;color:var(--marine);font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.5rem}.appbar{background:var(--navy);color:white;border-top:4px solid var(--gold)}.appbar-inner{max-width:1160px;margin:auto;padding:1.05rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand{display:flex;align-items:center;gap:.8rem;color:white;text-decoration:none;min-width:0}.brand:hover{color:white}.mark{display:grid;place-items:center;flex-shrink:0;border:1px solid #7f9aa9;color:#f0d5a0;border-radius:50%;height:44px;width:44px;font-weight:700}.brand-name{display:block;font-size:1.1rem;font-weight:650;line-height:1.3}.brand-sub{display:block;font-size:.875rem;color:#c3d4df}.header-actions{display:flex;gap:1.2rem;align-items:center}.header-actions a{color:#f3f8fb;font-size:.875rem;padding:.6rem 0;white-space:nowrap}.nav{background:white;border-bottom:1px solid var(--line-1)}.nav-inner{max-width:1160px;margin:auto;display:flex;padding:0 1.5rem;gap:.6rem}.nav a{display:flex;gap:.5rem;align-items:center;padding:1rem .75rem;text-decoration:none;font-size:.925rem;font-weight:550;color:var(--text-2);border-bottom:3px solid transparent}.nav a:hover{background:var(--surface-subtle);color:var(--marine)}.nav a.active{color:var(--marine);border-color:var(--marine)}.icon{flex-shrink:0}main{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:2rem 1.5rem 3rem}main:focus{outline:none}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap}.section-heading{align-items:center;margin-bottom:1rem}.section-heading h2{margin:0}.section-heading a{font-size:.925rem}.card{border:1px solid var(--line-1);border-radius:14px;padding:1.5rem;background:white;min-width:0}.stack{display:grid;gap:1.25rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:1.5rem;align-items:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;max-width:100%;padding:.7rem 1.1rem;border:1px solid transparent;border-radius:8px;background:var(--marine);color:white;text-decoration:none;font-weight:650;line-height:1.4;cursor:pointer;text-align:center}.btn:hover{background:var(--marine-dark);color:white}.btn:disabled{opacity:.65;cursor:wait}.btn-quiet{background:white;color:var(--text-1);border-color:var(--line-2)}.btn-quiet:hover{background:var(--surface-subtle);color:var(--text-1)}.btn-block{width:100%}.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.field{margin-bottom:1.2rem}.field label{display:block;font-weight:600;font-size:.925rem;margin-bottom:.4rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:.75rem;background:#fff;color:var(--text-1);min-height:48px}.field textarea{resize:vertical}.hint,.field .hint{display:block;font-size:.875rem;color:var(--text-2);margin:.4rem 0 0}.msg{border-radius:10px;padding:1rem 1.2rem;margin:0 0 1.25rem;border:1px solid transparent}.msg-error{background:var(--pastel-sunset);color:var(--on-sunset);border-color:#f1c8be}.msg-ok{background:var(--pastel-seafoam);color:var(--on-seafoam);border-color:#bfded0}.msg-info{background:var(--pastel-sky);color:var(--on-sky);border-color:#c6dce7}.chip{display:inline-block;font-size:.875rem;padding:.25rem .7rem;border-radius:6px;line-height:1.5;font-weight:600;white-space:nowrap}.chip-sky{background:var(--pastel-sky);color:var(--on-sky)}.chip-seafoam{background:var(--pastel-seafoam);color:var(--on-seafoam)}.chip-sunset{background:var(--pastel-sunset);color:var(--on-sunset)}.chip-buttercup{background:var(--pastel-buttercup);color:var(--on-buttercup)}.chip-lavender{background:var(--pastel-lavender);color:var(--on-lavender)}.table-scroll,.wwo-table-wrap{overflow:auto;max-width:100%;border-radius:6px}table.data{width:100%;border-collapse:collapse;font-size:.925rem}table.data th{text-align:left;font-weight:600;font-size:.875rem;padding:.8rem .7rem;color:var(--text-2);background:#f4f7f9;border-bottom:1px solid var(--line-2)}table.data td{padding:1rem .7rem;border-bottom:1px solid var(--line-1);vertical-align:top}table.data tr:last-child td{border-bottom:0}table.data td a{font-weight:600;display:inline-block;padding:.15rem 0}.text-right{text-align:right!important}.muted{color:var(--text-2)}.empty-state{padding:1.5rem 0;color:var(--text-2)}.empty-state p:last-child{margin-bottom:0}.appfoot{display:flex;justify-content:space-between;align-items:start;gap:1.5rem;padding:1.5rem max(1.5rem,calc((100% - 1112px)/2));border-top:1px solid var(--line-1);background:white;font-size:.875rem;color:var(--text-2)}.appfoot strong,.appfoot span{display:block}.appfoot>div:last-child{display:flex;gap:1.2rem;flex-wrap:wrap}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.quick-link{border:1px solid var(--line-1);background:white;border-radius:12px;text-decoration:none;color:var(--text-1);padding:1.3rem;display:flex;gap:1rem;align-items:start}.quick-link:hover{border-color:var(--marine);color:var(--text-1)}.quick-link .icon{color:var(--marine);margin-top:.1rem}.quick-link strong{display:block;font-size:1.075rem;margin-bottom:.2rem}.quick-link span span{color:var(--text-2);font-size:.925rem}.quick-link.primary{background:var(--navy);color:white;border-color:var(--navy)}.quick-link.primary .icon{color:var(--gold)}.quick-link.primary span span{color:#d5e2ea}.quick-link.primary:hover{background:#1b4057}.notice-strip{border-left:4px solid var(--gold);padding:1rem 1.2rem;margin-bottom:1.5rem;background:white;border-radius:0 8px 8px 0}.notice-strip a{display:inline-block;margin-left:.4rem}.record-list{list-style:none;padding:0;margin:0}.record-list li{padding:1rem 0;border-bottom:1px solid var(--line-1)}.record-list li:first-child{padding-top:0}.record-list li:last-child{border-bottom:0;padding-bottom:0}.record-top{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;align-items:center}.record-top a{font-weight:600}.record-meta{font-size:.875rem;color:var(--text-2);margin-top:.35rem}.access-list{margin:0;display:grid;gap:1rem}.access-list>div{padding-bottom:.85rem;border-bottom:1px solid var(--line-1)}.access-list>div:last-child{border:0;padding-bottom:0}.access-list dt{font-size:.875rem;color:var(--text-2)}.access-list dd{margin:.15rem 0 0;font-family:ui-monospace,monospace;font-size:1.35rem;font-weight:650;letter-spacing:.08em;overflow-wrap:anywhere}.access-code{font-family:ui-monospace,monospace;font-size:2rem;letter-spacing:.2em;margin:.6rem 0}.season-banner{border-top:4px solid var(--gold)}.season-dates{display:flex;gap:1.8rem;flex-wrap:wrap;margin-bottom:1rem}.season-dates strong{display:block;font-size:1.1rem}.season-dates span{font-size:.875rem;color:var(--text-2)}details.memo{margin-top:1rem;border-top:1px solid var(--line-1);padding-top:1rem}summary{cursor:pointer;color:var(--marine);font-weight:650;padding:.4rem 0}details.memo>div{margin-top:1rem}.memo p:last-child{margin-bottom:0}.form-section{border:0;padding:0;margin:0 0 1.5rem}.form-section legend{font-size:1.1rem;font-weight:650;margin-bottom:1rem;padding:0}.step-number{display:inline-grid;place-items:center;background:var(--surface-subtle);color:var(--marine);border-radius:50%;width:30px;height:30px;font-size:.925rem;margin-right:.5rem}.wwo-choice{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid var(--line-1);border-radius:10px;cursor:pointer;margin-bottom:.65rem}.wwo-choice:has(input:checked){background:#eef8f9;border-color:var(--marine)}.wwo-choice input{width:20px;height:20px;flex-shrink:0;margin:.15rem 0 0;accent-color:var(--marine)}.wwo-choice small{display:block;color:var(--text-2);margin-top:.2rem}.wwo-suboptions{background:var(--surface-subtle);padding:1rem;border-radius:10px;margin:.7rem 0 1.5rem}.wwo-suboptions label{display:flex;align-items:center;gap:.65rem;margin:.6rem 0}.wwo-suboptions input{width:20px;height:20px;accent-color:var(--marine)}.wwo-estimate{background:var(--surface-subtle);padding:1.2rem;border-radius:10px;margin:1rem 0}.wwo-estimate strong{font-size:1.25rem}.wwo-estimate p{font-size:.875rem;margin:.5rem 0 0}.estimate-list{list-style:none;padding:0;margin:.8rem 0}.estimate-list li{display:flex;justify-content:space-between;gap:1rem;font-size:.925rem;margin:.5rem 0}.estimate-list li span:last-child{white-space:nowrap}.wwo-actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}.order-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;background:var(--surface-subtle);border-radius:10px;margin:1.2rem 0}.order-info dt{color:var(--text-2);font-size:.875rem}.order-info dd{margin:0;font-weight:650}.form-sidebar{position:sticky;top:1rem}.auth-shell{max-width:490px;margin:2rem auto}.auth-layout{display:grid;grid-template-columns:1.05fr 1fr;max-width:950px;margin:2rem auto;border:1px solid var(--line-1);background:white;border-radius:16px;overflow:hidden}.auth-scene{min-height:500px;background:linear-gradient(180deg,rgba(16,46,66,.15),rgba(16,46,66,.9)),url('../../assets/harbor.jpg') center/cover;display:flex;align-items:end;padding:2rem;color:white}.auth-scene h2{font:2rem/1.2 Georgia,serif;max-width:12ch}.auth-scene p{color:#e0edf4;max-width:30ch;margin-bottom:0}.auth-form{padding:2.2rem}.auth-form h1{font-size:1.75rem}.password-wrap{position:relative}.password-wrap input{padding-right:4.8rem}.password-toggle{position:absolute;right:6px;top:5px;bottom:5px;padding:.4rem .65rem;border:0;border-radius:5px;color:var(--marine);background:var(--surface-subtle);font-size:.875rem;cursor:pointer}.auth-links{margin-top:1.2rem;border-top:1px solid var(--line-1);padding-top:1.2rem;font-size:.925rem}.auth-links p:last-child{margin:0}.request-body{white-space:pre-wrap;margin:.75rem 0;overflow-wrap:anywhere}.staff-response{background:var(--surface-subtle);padding:.85rem 1rem;border-radius:8px;font-size:.925rem}.staff-response p{margin:.3rem 0 0}.payment-help{font-size:.925rem;color:var(--text-2);margin-top:1.5rem}.print-only{display:none}
@media(max-width:950px){.nav-inner{gap:0;padding:0 1rem}.nav a{padding:.85rem .5rem;font-size:.875rem}.nav .icon{display:none}.quick-grid{gap:.75rem}.quick-link{padding:1rem}.quick-link .icon{display:none}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr)}}
@media(max-width:720px){main{padding:1.5rem 1rem 2rem}.appbar-inner{padding:1rem}.header-actions{gap:.75rem}.office-link{display:none}.nav-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 .5rem}.nav a{justify-content:center;text-align:center;padding:.75rem .25rem;line-height:1.4}.quick-grid{grid-template-columns:1fr}.quick-link{padding:1.15rem;align-items:center}.quick-link .icon{display:block}.content-grid{grid-template-columns:1fr}.form-sidebar{position:static}.card{padding:1.2rem}.auth-layout{grid-template-columns:1fr;margin:.5rem auto}.auth-scene{min-height:155px;padding:1.3rem}.auth-scene h2{font-size:1.6rem;max-width:none;margin-bottom:.5rem}.auth-scene p{max-width:none}.auth-form{padding:1.4rem}.appfoot{flex-direction:column;padding:1.3rem 1rem}.auth-shell{margin:1rem auto}.order-info{grid-template-columns:1fr}.table-scroll table,.wwo-table-wrap table{min-width:500px}.data.responsive thead{display:none}.data.responsive,.data.responsive tbody,.data.responsive tr,.data.responsive td{display:block;width:100%}.data.responsive tr{padding:.8rem 0;border-bottom:1px solid var(--line-1)}.data.responsive tr:last-child{border:0}.data.responsive td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.25rem 0;text-align:right!important}.data.responsive td::before{content:attr(data-label);text-align:left;color:var(--text-2);font-size:.875rem;flex:0 0 85px}.data.responsive td a{overflow-wrap:anywhere}.brand-name{font-size:1rem}.mark{width:38px;height:38px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,border-color .15s}}
@media print{body{background:white;color:black;font-size:11pt}.appbar,.nav,.appfoot,.skip-link,.no-print,.wwo-actions,.wwo-form,#winter-list{display:none!important}main{max-width:none;padding:0}.card{border:0;padding:0;box-shadow:none}.print-only{display:block}.table-scroll,.wwo-table-wrap{overflow:visible}table.data{font-size:10pt}.chip{border:1px solid #777}.content-grid{display:block}details.memo{display:none}}
