/* assets/site-system.css */
/* Shared XLR system. Adapted from 21st form and Origin UI tab primitives. */
@font-face{font-family:Inter;src:url('fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#17191d;--blue:#194bff;--muted:#59616e;--line:#dce0e6;--paper:#f4f5f3;--dark:#101216;--gutter:clamp(20px,5vw,72px)}
*{box-sizing:border-box}body.site-interior{margin:0;font:16px/1.6 Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}
.site-interior h1,.site-interior h2,.site-interior h3{line-height:1.12;letter-spacing:-.035em;margin:0;font-weight:650}.site-interior h1{font-size:clamp(38px,4.8vw,66px)}.site-interior h2{font-size:clamp(26px,3vw,40px)}.site-interior h3{font-size:22px}.site-interior p{margin:0}.site-interior a{color:inherit}.site-interior img{display:block;max-width:100%}.site-interior figure{margin:0}.site-interior button,.site-interior input,.site-interior select,.site-interior textarea{font:inherit}.site-interior button{cursor:pointer}
.site-interior .skip-link{position:fixed;z-index:200;left:12px;top:12px;background:#fff;color:#101216;padding:12px 20px;transform:translateY(-160%)}.site-interior .skip-link:focus{transform:none}.site-interior .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #194bff;outline-offset:4px}.xlr-topbar a:focus-visible,.xlr-footer a:focus-visible{outline-color:#fff}
.xlr-topbar{min-height:88px;padding:16px var(--gutter);display:flex;align-items:center;gap:32px;background:var(--dark);color:#fff;font-family:Inter,Arial,sans-serif;border-bottom:1px solid #30343c}.xlr-brand{display:inline-flex;gap:12px;align-items:center;font-size:42px;font-weight:900;letter-spacing:-.075em;line-height:1;text-decoration:none}.xlr-brand span{font-size:9px;letter-spacing:.1em;font-weight:600}.xlr-topbar nav{display:flex;gap:30px;margin-left:auto}.xlr-topbar nav a{font-size:14px;padding:12px 0;color:#c7cdd8;text-decoration:none}.xlr-topbar nav a[aria-current],.xlr-topbar nav a:hover{color:white;text-decoration:underline;text-underline-offset:8px}.xlr-date{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 18px;min-height:46px;border-radius:5px;background:#fff;color:#101216!important;text-decoration:none;font-size:13px;font-weight:650}
.xlr-footer{padding:42px var(--gutter) 26px;background:var(--dark);color:white;font-family:Inter,Arial,sans-serif}.xlr-footer-top{display:flex;justify-content:space-between;gap:28px;align-items:start}.xlr-footer-top p{font-size:13px;color:#bdc5d2}.xlr-footer-top>a:last-child{font-size:17px;text-decoration:none}.xlr-footer nav{display:flex;gap:10px 25px;flex-wrap:wrap;padding:32px 0 24px;border-bottom:1px solid #343840}.xlr-footer nav a{font-size:13px;min-height:36px;display:flex;align-items:center;text-decoration:none;color:#c9cfd9}.xlr-footer a:hover{text-decoration:underline;text-underline-offset:5px}.xlr-footer small{display:block;color:#b1bac8;margin-top:22px;font-size:11px}
.site-interior .button,.site-interior .primary-action,.site-interior .pw-primary{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;border:1px solid var(--blue);border-radius:6px;padding:12px 22px;background:var(--blue);color:white;text-decoration:none;font-size:14px;font-weight:600}.site-interior .button:hover,.site-interior .primary-action:hover{background:#123bd2}.site-interior .button-disabled{background:#e5e8ee;color:#515b6a;border-color:#d1d7e0;cursor:not-allowed}.page-label,.site-interior .eyebrow,.site-interior .kicker,.directory-label{font-size:13px;color:var(--muted);margin-bottom:14px!important}.site-interior .eyebrow+.section-copy{margin-top:14px}
/* Package comparison */
#catalog{padding:0 var(--gutter) 64px;max-width:1440px;margin:auto}.catalog-intro{background:var(--dark);color:white;margin:0 calc(-1 * var(--gutter)) 38px;padding:46px var(--gutter) 48px;border-bottom:6px solid var(--blue)}.catalog-intro .page-label{color:#b9c5dd}.catalog-intro .intro{max-width:720px;color:#c8d0dc;margin-top:20px;font-size:16px}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.package-row{display:flex;flex-direction:column;min-width:0;padding:28px;background:white;border:1px solid var(--line);border-radius:10px}.package-title-line{display:flex;justify-content:space-between;gap:18px;align-items:start}.package-title-line h2{font-size:28px}.package-status{font-size:11px;color:var(--muted);max-width:150px;text-align:right}.package-copy>p{font-size:14px;color:var(--muted);margin-top:14px;max-width:540px}.package-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.package-meta>span{font-size:14px}.package-meta strong{font-weight:400;white-space:nowrap}.starting-label{font-size:11px;display:block;color:var(--muted)}.rate-amount{font-size:34px;letter-spacing:-.04em;font-weight:650}.package-meta small{font-size:12px;margin-left:4px}.package-facts{margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.package-facts>div:last-child{display:none}.package-facts dt{font-size:11px;color:var(--muted);margin-bottom:5px}.package-facts dd{margin:0;font-size:13px}.catalog-actions{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:auto;padding-top:8px}.catalog-actions>a:first-child{font-size:13px;min-height:44px;display:flex;align-items:center;text-underline-offset:4px}.catalog-actions .button{font-size:13px;padding:11px 16px}.package-row.is-featured{grid-column:1/-1;background:var(--blue);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:0 38px}.is-featured .package-copy>p,.is-featured .package-status,.is-featured dt,.is-featured .starting-label{color:#fff}.is-featured .package-meta{border-color:#7c9cff}.is-featured .button{background:white;color:#153ecb;border-color:white}.is-featured .catalog-actions{justify-content:end}.help-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0 0}.help-strip p{font-size:20px;font-weight:600}.help-strip span{font-size:14px;color:var(--muted)}.help-strip a{min-height:46px;padding:11px 20px;border:1px solid var(--ink);border-radius:6px;text-decoration:none;white-space:nowrap;font-size:14px}.help-strip b{margin-left:18px}
/* Package detail: photo and decision together */
.detail-breadcrumb{padding:24px var(--gutter);font-size:13px}.detail-breadcrumb a{display:inline-flex;min-height:36px;align-items:center;text-decoration:none}.content-shell{padding:0 var(--gutter) 64px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px 48px;max-width:1440px;margin:auto}.visual-stage{min-width:0}.visual-stage figure{background:#e8ebee;border-radius:10px;overflow:hidden}.visual-stage img{width:100%;height:420px;object-fit:cover}.visual-stage figcaption{padding:14px 18px;font-size:12px;color:#4d5869;background:#eef0f3}.view-tabs{display:flex;gap:4px;background:#e4e7eb;border-radius:8px;padding:5px;margin-top:14px}.view-tabs button{flex:1;border:0;background:transparent;color:#465165;border-radius:5px;min-height:42px;font-size:13px;padding:8px}.view-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #00000015}.detail-band{min-width:0;padding:18px 0}.package-intro .eyebrow{color:#194bff}.package-intro h1{font-size:clamp(38px,4.5vw,58px)}.package-intro .summary{font-size:16px;color:var(--muted);margin:18px 0 24px}.rate-row{padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:20px}.rate-row span{font-size:12px;color:var(--muted)}.rate-row strong{font-size:36px;display:block;line-height:1.4}.rate-row strong small{font-size:14px;font-weight:400}.rate-delivery{font-size:12px;color:var(--muted);margin-top:8px!important}.rate-row a{background:var(--blue);color:#fff;padding:13px 18px;text-align:center;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600}.at-a-glance{margin-top:26px}.at-a-glance h2{font-size:20px}.at-a-glance dl{margin:14px 0 0}.at-a-glance dl>div{display:grid;grid-template-columns:80px 1fr;gap:18px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.at-a-glance dt{color:var(--muted)}.at-a-glance dd{margin:0}.package-manifest{grid-column:1/-1;background:var(--dark);color:white;border-radius:10px;padding:36px;display:grid;grid-template-columns:1fr 1.5fr;gap:40px}.package-manifest .eyebrow{color:#aabbdf}.package-manifest>div>p:last-child{color:#c3cbd9;font-size:14px;margin-top:16px}.package-manifest ol{list-style:none;margin:0;padding:0}.package-manifest li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #3b414a}.package-manifest li>span{font-size:24px;color:#9cb4ff;min-width:35px}.package-manifest strong{font-size:15px}.package-manifest li p{font-size:13px;color:#c3cbd9;margin-top:4px}
/* Pro and applications */
.pro-intro{background:var(--dark);color:white;padding:50px var(--gutter);display:grid;grid-template-columns:1.3fr .8fr;gap:28px 70px;align-items:center}.pro-title-block .page-label{color:#b9c5dd}.pro-intro .intro-copy{grid-column:1;max-width:560px}.intro-copy>p{color:#c4ccda;font-size:17px}.intro-actions{display:flex;gap:26px;align-items:center;margin-top:26px}.intro-actions .member-link{font-size:14px}.intro-copy .approval-note{font-size:13px;margin-top:18px}.pro-event{grid-column:2;grid-row:1/3;max-width:330px;justify-self:end}.pro-event img{width:100%;height:395px;object-fit:cover;border-radius:8px}.pro-event figcaption{font-size:11px;color:#c3cbd9;margin-top:12px}.benefits{padding:56px var(--gutter)}.benefits ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;margin:28px 0 0}.benefits li{border-top:3px solid var(--blue);padding:22px 0}.benefits li strong{font-size:20px;display:block}.benefits li span{display:block;font-size:14px;color:var(--muted);margin-top:10px}.member-access{margin:0 var(--gutter) 56px;padding:30px;background:#e7ebf2;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:32px}.member-access h2{font-size:26px}.member-access p{max-width:570px;font-size:14px;color:var(--muted);margin-top:12px}.member-access .button{max-width:260px;text-align:center}
.apply-main{max-width:1180px;margin:auto;padding:48px var(--gutter) 64px;display:grid;grid-template-columns:.8fr 1.3fr;gap:48px;align-items:start}.apply-intro{position:sticky;top:28px}.apply-intro h1{font-size:44px}.apply-intro p:not(.kicker){font-size:16px;color:var(--muted);margin-top:18px}.apply-intro .access-rule{font-size:13px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.form-panel,#partnerForm{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.form-heading{padding-bottom:22px}.form-heading h2{font-size:24px}.form-heading .kicker{display:none}.field-grid,#applyForm{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:13px;font-weight:600}.field i{font-style:normal;font-weight:400;color:var(--muted);font-size:11px;margin-left:5px}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:48px;border:1px solid #c8ced8;border-radius:6px;background:#fff;color:var(--ink);padding:11px 12px;font-size:16px}.field textarea{resize:vertical;min-height:100px}.field-wide{grid-column:1/-1}.pickup-check{display:flex;align-items:start;gap:10px;font-size:13px}.pickup-check input{accent-color:var(--blue);width:18px;height:18px;flex:none}.form-error{color:#b21d28;font-size:13px}.form-error:empty{display:none}.form-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.form-foot a{display:inline-block;margin-top:10px;min-height:32px}.result-panel,.partner-result{padding:30px;background:#e9efff;border:1px solid #acbef4;border-radius:10px}.result-panel h3,.partner-result h2{font-size:28px}.result-panel p,.partner-result>div{margin-top:14px;font-size:14px}.result-actions,.partner-result-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.result-actions a,.result-actions button,.partner-result-actions a,.partner-result-actions button{border:1px solid #7e8fac;border-radius:5px;min-height:44px;padding:10px 14px;background:white;font-size:13px;color:var(--ink);text-decoration:none}.copy-preview,.partner-copy-preview{width:100%;min-height:160px;margin-top:16px}
/* Directory: honest empty state, accessible segmented tabs */
.directory-intro{padding:48px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:56px;background:var(--dark);color:white;align-items:center}.directory-copy h1{font-size:clamp(38px,4.5vw,60px)}.directory-label{color:#b9c5dd}.directory-copy>p:last-child{color:#c5cdd9;max-width:470px;font-size:15px;margin-top:20px}.directory-browser{background:#fff;border-radius:12px;padding:12px;color:var(--ink)}.directory-tabs{display:flex;gap:4px;background:#e9edf2;border-radius:7px;padding:4px}.directory-tabs button{flex:1;min-width:0;min-height:44px;border:0;background:transparent;border-radius:5px;font-size:13px;color:#4f5b6d;padding:8px}.directory-tabs button[aria-selected=true]{background:var(--blue);color:white}.directory-panel{padding:28px 20px 20px;min-height:270px}.directory-panel>p:first-child{font-size:12px;color:#194bff;margin-bottom:12px}.directory-panel h2{font-size:28px}.directory-detail{font-size:14px;color:var(--muted);margin-top:14px!important}.directory-apply{display:inline-flex;margin-top:20px;min-height:44px;align-items:center;font-size:14px;font-weight:600;text-underline-offset:4px}.directory-grid{display:grid;gap:16px}.application-layout{display:grid;grid-template-columns:.75fr 1.3fr;gap:48px;align-items:start;max-width:1280px;margin:auto;padding:56px var(--gutter)}.apply-head .intro{font-size:16px;color:var(--muted);margin-top:18px}.publish-note{font-size:13px;color:var(--muted);margin-top:24px!important;padding-top:22px;border-top:1px solid var(--line)}.form-head{margin-bottom:24px}.form-head .eyebrow{display:none}.form-head>p:last-child{font-size:23px;font-weight:600;letter-spacing:-.02em}.form-actions{margin-top:24px}.form-actions .primary-action{width:100%}.partner-result{grid-column:2}
/* Local service pages share the same layout, not mobile-only shells. */
.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:48px var(--gutter);background:var(--dark);color:white}.service-hero .hero-copy{grid-column:1;grid-row:1}.service-hero .hero-media{grid-column:2;grid-row:1;min-width:0}.service-hero img{width:100%;height:360px;object-fit:cover;border-radius:8px}.service-hero figcaption{font-size:11px;color:#bec8d9;margin-top:10px}.service-hero .eyebrow{color:#b9c5dd}.service-hero .hero-copy>p:not(.eyebrow){color:#c7cfdb;font-size:16px;margin-top:20px;max-width:510px}.service-hero .hero-copy>a{display:inline-flex;gap:25px;min-height:48px;align-items:center;margin-top:24px;padding:12px 20px;border-radius:6px;background:var(--blue);color:white;text-decoration:none;font-size:14px}.dj-page .hero-media img{object-position:center 40%}.wedding-page .hero-media{overflow:hidden}.wedding-page .hero-media img{object-fit:cover}.service-strip{padding:16px var(--gutter);display:flex;gap:24px;align-items:center;background:var(--blue);color:white;font-size:14px}.service-strip i{font-style:normal;opacity:.6}.starting-points,.planning,.process,.request-help{padding:52px var(--gutter)}.section-copy{color:var(--muted);font-size:15px;margin-top:14px!important;max-width:680px}.package-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.package-split>a{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;color:var(--ink);text-decoration:none}.package-split>a>span{font-size:24px;font-weight:650;letter-spacing:-.03em}.package-split>a>small{color:var(--muted);font-size:13px}.package-split strong{display:flex;gap:6px;align-items:baseline;margin-top:8px;font-weight:400}.package-split .rate-prefix{font-size:11px}.package-split strong>b{font-size:36px;font-weight:650}.package-split strong>em{font-size:13px;font-style:normal}.package-split>a>b{color:#194bff;font-size:14px;margin-top:12px}.planning{background:white}.planning-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:28px}.planning-list article{border-top:2px solid var(--blue);padding-top:20px}.planning-list h3{font-size:21px}.planning-list p{font-size:14px;color:var(--muted);margin-top:12px}.process{background:var(--dark);color:white}.process .eyebrow{color:#b9c5dd}.process ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:0;margin:28px 0 0}.process li{display:flex;gap:18px}.process li>span{font-size:24px;color:#8eaaff}.process strong{font-size:17px}.process li p{color:#c4ccda;font-size:14px;margin-top:10px}.request-help dl{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:28px 0 0}.request-help dt{font-size:18px;font-weight:600}.request-help dd{margin:10px 0 0;color:var(--muted);font-size:14px}.local-cta{padding:42px var(--gutter);background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr auto;gap:18px 40px;align-items:center}.local-cta>p{font-size:13px}.local-cta h2{grid-column:1;font-size:32px;max-width:700px}.local-cta>a{grid-column:2;grid-row:1/3;padding:13px 22px;background:#fff;border-radius:6px;color:#153ecb;text-decoration:none;font-size:14px;white-space:nowrap}
/* Privacy and unavailable member workspace */
.privacy-intro{padding:48px var(--gutter);background:var(--dark);color:white}.privacy-intro>p{color:#b9c5dd;margin-bottom:14px}.privacy-intro>span{display:block;font-size:12px;color:#c6cedb;margin-top:18px}.privacy-content{max-width:860px;margin:0 auto;padding:20px var(--gutter) 56px}.privacy-content section{padding:28px 0;border-bottom:1px solid var(--line)}.privacy-content h2{font-size:26px}.privacy-content p{font-size:15px;color:#4d5868;margin-top:14px}.privacy-content .section-number{display:none}.site-interior.pro-workspace-page{background:var(--paper)}.site-interior .pw-gate{max-width:780px;margin:52px auto;padding:38px;border-radius:12px;border-color:var(--line);background:white}.site-interior .pw-gate h1{font-size:42px}.site-interior .pw-gate>p{font-size:15px;color:var(--muted)}.site-interior .pw-gate-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.site-interior .pw-secondary{border:1px solid #a6afbd;padding:12px 20px;border-radius:6px;text-decoration:none;font-size:14px}.build-moved{font-family:Inter,Arial,sans-serif}.site-interior .build-moved>div{border-radius:12px;border-color:var(--line)}.site-interior .build-moved h1{font-size:46px;line-height:1.1;letter-spacing:-.035em}.site-interior .build-moved a{border-radius:6px;background:var(--blue)}
@media(min-width:1600px){body.site-interior{max-width:1600px;margin:auto}}
@media(max-width:1000px){.xlr-brand span{display:none}.xlr-topbar{gap:24px}.xlr-topbar nav{gap:22px}.content-shell{gap:28px}.visual-stage img{height:360px}.apply-main,.application-layout{grid-template-columns:1fr;gap:28px}.apply-intro{position:static;max-width:650px}.apply-intro .access-rule{margin-top:18px;padding-top:16px}.partner-result{grid-column:1}.directory-intro{gap:32px}.pro-intro{gap:28px 40px}.pro-event img{height:370px}.member-access{flex-direction:column;align-items:start}.service-hero{gap:30px}.service-hero h1{font-size:42px}.service-hero img{height:330px}}
@media(max-width:700px){.xlr-topbar{padding:14px 20px;gap:12px;flex-wrap:wrap;min-height:0}.xlr-brand{font-size:36px}.xlr-topbar nav{order:3;width:100%;margin:0;justify-content:center;gap:32px;border-top:1px solid #30343c;padding-top:5px}.xlr-topbar nav a{font-size:13px;padding:9px 0}.xlr-date{margin-left:auto;min-height:42px;padding:10px 14px;font-size:12px}.xlr-footer{padding-top:32px}.xlr-footer-top{flex-wrap:wrap;gap:22px}.xlr-footer-top p{width:100%;order:3}.xlr-footer-top>a:last-child{font-size:14px}.xlr-footer nav{gap:5px 20px;padding-top:24px}.catalog-intro{padding-top:32px;padding-bottom:32px}.catalog-intro .intro{font-size:14px}.catalog-list{grid-template-columns:1fr;gap:16px}.package-row{padding:22px}.package-title-line h2{font-size:26px}.package-meta{padding:18px 0}.package-facts{grid-template-columns:1fr;gap:12px}.package-facts>div:nth-child(1){display:none}.catalog-actions{gap:12px}.catalog-actions .button{padding:11px 13px;font-size:12px}.catalog-actions>a:first-child{font-size:12px}.package-row.is-featured{display:flex;grid-column:1}.help-strip{flex-direction:column;align-items:start}.content-shell{grid-template-columns:1fr;padding-bottom:40px;gap:20px}.detail-band{grid-row:1;padding:0}.visual-stage img{height:300px}.rate-row{padding:20px}.rate-row strong{font-size:32px}.at-a-glance{margin-top:24px}.package-manifest{grid-template-columns:1fr;padding:26px;gap:18px}.pro-intro{grid-template-columns:1fr;padding-top:32px;padding-bottom:32px;gap:24px}.pro-event{grid-column:1;grid-row:auto;justify-self:stretch;max-width:none}.pro-event img{height:260px;object-position:center 45%}.intro-actions{gap:20px}.intro-copy>p{font-size:15px}.benefits{padding:36px var(--gutter)}.benefits ul{grid-template-columns:1fr;gap:8px;margin-top:20px}.benefits li{padding:18px 0}.member-access{margin-bottom:36px;padding:24px}.apply-main,.application-layout{padding:32px var(--gutter) 40px;gap:24px}.apply-intro h1{font-size:36px}.form-panel,#partnerForm{padding:22px 18px}.field-grid,#applyForm{grid-template-columns:1fr;gap:18px}.field-wide{grid-column:auto}.directory-intro{grid-template-columns:1fr;padding:32px var(--gutter);gap:26px}.directory-tabs button{font-size:12px;padding:7px 5px}.directory-panel{padding:22px 14px;min-height:0}.directory-panel h2{font-size:25px}.directory-copy h1{font-size:40px}.service-hero{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:32px}.service-hero .hero-copy,.service-hero .hero-media{grid-column:1;grid-row:auto}.service-hero .hero-copy{grid-row:1}.service-hero h1{font-size:38px}.service-hero img{height:280px}.service-strip{gap:12px;flex-wrap:wrap;font-size:12px}.starting-points,.planning,.process,.request-help{padding:36px var(--gutter)}.package-split{grid-template-columns:1fr;gap:16px}.package-split>a{padding:22px}.planning-list,.process ol,.request-help dl{grid-template-columns:1fr;gap:24px}.process ol{margin-top:24px}.local-cta{grid-template-columns:1fr;padding-top:32px;padding-bottom:32px;gap:16px}.local-cta h2{font-size:28px}.local-cta>a{grid-column:1;grid-row:auto;justify-self:start}.privacy-intro{padding-top:32px;padding-bottom:32px}.privacy-content{padding-bottom:36px}.site-interior .pw-gate{margin:30px 20px;padding:26px}.site-interior .pw-gate h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.is-featured a:focus-visible,.evolve a:focus-visible,.evolve button:focus-visible,.local-cta a:focus-visible{outline-color:white}


/* assets/home-request.css */
/* Compact native-dialog adaptation of 21st Multi-Step Form (ravikatiyar162). */
.request-open,.request-open body{overflow:hidden;overscroll-behavior:none}
.request-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #d7dce5;border-radius:14px;background:#fff;color:#17191d;overflow:auto;overscroll-behavior:contain;font-family:Inter,Arial,sans-serif;box-shadow:0 24px 70px #0000003d}
.request-dialog::backdrop{background:#0a0f1db3}.request-dialog:focus{outline:none}.request-shell{display:block;background:#fff}
.request-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;background:#101216;color:white;position:sticky;top:0;z-index:2}.request-head strong{font-size:26px;letter-spacing:-.06em;font-weight:900}.request-head strong span{font-size:12px;letter-spacing:0;font-weight:500;margin-left:12px;color:#c2cada}.request-head button{display:grid;place-items:center;width:36px;height:36px;background:#292e37;border:1px solid #464f5e;border-radius:50%;color:white;font-size:25px;line-height:1;padding:0;cursor:pointer}.request-head button:focus-visible{outline-color:#fff}
.request-progress{display:flex;gap:20px;list-style:none;padding:22px 28px 0;margin:0}.request-progress li{flex:1;display:flex;align-items:center;gap:9px;font-size:12px;color:#586272;border-bottom:3px solid #dce2eb;padding-bottom:12px}.request-progress li span{width:23px;height:23px;border-radius:50%;background:#e8ecf3;display:grid;place-items:center;font-size:11px;font-weight:600}.request-progress .is-current{border-color:#194bff;color:#153dbf;font-weight:650}.request-progress .is-current span,.request-progress .is-complete span{background:#194bff;color:white}.request-progress .is-complete{border-color:#194bff;color:#445777}
.request-package{margin:22px 28px 0;background:#f2f4f8;border:1px solid #e2e6ed;border-radius:8px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.request-package>label{font-size:11px;color:#586272;grid-column:1/-1}.request-package select{background:transparent;border:0;border-radius:4px;width:100%;min-width:0;font:600 14px Inter,Arial,sans-serif;color:#17191d;min-height:36px;padding:5px 26px 5px 0}.request-package>b{font-size:11px;font-weight:500;color:#4c5b73;white-space:nowrap}
#requestForm{margin:0;padding:0}.request-step{padding:26px 28px 0}.request-step h2{font-size:27px;font-weight:650;line-height:1.18;letter-spacing:-.035em;margin:0;color:#17191d;outline:none}.request-intro{font-size:13px!important;color:#596375;margin:10px 0 22px!important;line-height:1.55}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-fields label{display:flex;flex-direction:column;gap:8px;min-width:0}.request-fields label>span{font-size:13px;font-weight:550;color:#343d4a}.request-fields label small{font-size:11px;font-weight:400;color:#647086}.request-fields .field-wide{grid-column:1/-1}.request-fields input,.request-fields select,.request-fields textarea{width:100%;max-width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #c5cdd9;border-radius:6px;background:#fff;font:400 16px Inter,Arial,sans-serif;color:#17191d;line-height:1.4}.request-fields textarea{resize:vertical;min-height:86px}.request-fields input:disabled{background:#edf0f5;color:#778295}.request-fields input::placeholder,.request-fields textarea::placeholder{color:#717b8d}.request-fields [aria-invalid=true]{border-color:#b82132;box-shadow:0 0 0 1px #b82132}
.flexible-date{display:flex;align-items:center;gap:10px;font-size:12px;color:#4c5869;margin:15px 0 22px;min-height:30px;cursor:pointer}.flexible-date input{width:18px;height:18px;accent-color:#194bff;margin:0}.request-primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;width:100%;min-height:48px;border:1px solid #194bff;border-radius:6px;background:#194bff;color:white;font:600 14px Inter,Arial,sans-serif;padding:12px 18px;text-decoration:none;cursor:pointer}.request-primary:hover{background:#123bd2}.request-primary:disabled{opacity:.6;cursor:wait}.request-primary span{margin-left:auto}.request-error{font-size:12px;color:#b21d28;line-height:1.5;margin:12px 0}.request-error:empty{display:none}.request-actions{display:flex;gap:14px;align-items:center;margin-top:20px}.request-actions>button:first-child{min-width:78px;min-height:48px;border:1px solid #c5cdd9;border-radius:6px;background:white;font-size:13px;color:#33415b}.request-actions .request-primary{flex:1}.request-truth{font-size:11px;color:#586579;line-height:1.55;margin:16px 0 0!important}.request-rail-truth{font-size:11px;color:#657084;line-height:1.55;padding:18px 28px 24px;margin:0!important}.request-status{font-size:12px;color:#194bff;font-weight:650;margin:0 0 12px!important}.request-complete>p:not(.request-status){font-size:14px;color:#586579;margin:14px 0 22px!important}.request-complete{padding-top:30px;padding-bottom:8px}.request-fallback-actions{display:flex;flex-direction:column;gap:14px}.request-fallback-actions>button{min-height:42px;background:white;border:1px solid #c5cdd9;border-radius:6px;color:#33415b;font-size:13px}
@media(max-width:560px){.request-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.request-head{padding:12px 18px}.request-progress{padding:18px 20px 0;gap:16px}.request-package{margin:18px 20px 0;grid-template-columns:1fr;padding:10px 12px;gap:2px}.request-package>b{padding-bottom:3px}.request-step{padding:22px 20px 0}.request-step h2{font-size:25px}.request-intro{margin-bottom:18px!important}.request-fields{gap:16px;grid-template-columns:1fr}.request-fields .field-wide{grid-column:auto}.request-rail-truth{padding:16px 20px 20px}.request-head strong span{font-size:11px}}
/* Keep the first step comfortable on laptop-height viewports. */
.request-progress{padding-top:16px}.request-package{margin-top:16px}.request-step{padding-top:20px}.request-intro{margin-bottom:18px!important}.request-rail-truth{padding-top:14px;padding-bottom:18px}


/* assets/package-upgrade.css */
/* September 2026 package refresh: current XLR design, clearer scope and Signature priority. */
.signature-feature { overflow:hidden; }
.signature-label,.flagship-label { display:inline-flex; align-items:center; font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.signature-label { border:1px solid #a4b8ff; border-radius:30px; padding:7px 12px; margin-bottom:20px; }
.signature-feature .evolve-photo { height:440px; gap:clamp(20px,4vw,65px); }
.signature-feature h2 { font-size:clamp(38px,4vw,60px); line-height:1.03; }
.signature-feature h2 span { font-weight:450; }
.signature-feature .signature-intro { max-width:560px; font-size:16px; line-height:1.65; }
.signature-feature .signature-inclusions { list-style:none; padding:0; margin:24px 0; }
.signature-inclusions li { border-bottom:1px solid #7291ff; padding:10px 0 10px 24px; position:relative; font-size:13px; }
.signature-inclusions li::before { content:'✓'; position:absolute; left:0; color:#fff; font-weight:750; }
.signature-inclusions strong { font-weight:700; }
.signature-price { display:flex; align-items:center; flex-wrap:wrap; gap:4px 20px; margin:24px 0 22px; }
.signature-price .evolve-rate { margin:0; }
.signature-price .evolve-rate strong { font-size:48px; letter-spacing:-.045em; }
.signature-price > span { font-size:12px; max-width:150px; line-height:1.5; }
.signature-feature .button { gap:26px; }
.signature-details { display:inline-flex; align-items:center; min-height:46px; font-size:12px; margin-left:16px; text-underline-offset:5px; }
.signature-feature .evolve-copy .signature-terms { font-size:12px; line-height:1.65; max-width:600px; margin-top:18px; color:#fff; }
.package-card { display:flex; flex-direction:column; }
.package-card .package-request { margin-top:auto; }
.package-card:last-child { border-top-color:#17191d; }
.package-card:last-child .package-request { background:#fff; color:#163fde; }
.package-card:last-child .package-request:hover { background:#f5f7ff; }
.service-band { flex-wrap:wrap; justify-content:space-between; gap:16px 28px; }
.service-band > span { font-size:clamp(13px,1.35vw,18px); }
.rental-addons { padding:56px var(--gutter) 64px; background:#fff; border-top:1px solid #dfe1e5; }
.eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; color:#194bff; margin-bottom:12px; }
.addon-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.addon-card { padding:24px; background:#f1f3f7; border:1px solid #e0e5ee; border-radius:6px; min-width:0; }
.addon-card:nth-child(-n+2) { background:#eef2ff; border-color:#c4d0ff; }
.addon-card h3 { font-size:20px; line-height:1.3; font-weight:650; margin:0; }
.addon-card .addon-rate,.addon-card > strong { display:block; font-size:17px; font-weight:700; color:#153fcf; margin:14px 0 12px; }
.addon-card p { font-size:13px; line-height:1.65; color:#505d70; }
.addon-footnote { font-size:12px; line-height:1.7; color:#596375; margin-top:20px; max-width:980px; }
.setup-value { padding:54px var(--gutter); display:grid; grid-template-columns:1fr 1.25fr; gap:56px; background:#e9edf4; }
.setup-value h2 { max-width:380px; }
.setup-value > div > p:not(.eyebrow) { margin-bottom:16px; font-size:15px; color:#424f62; }
.setup-value .scope-note { font-size:12px; border-top:1px solid #c4ccda; padding-top:18px; margin-top:24px; }
.upgrade-section { padding:34px 0; border-top:1px solid #dfe1e5; }
.upgrade-section > h2 { margin-bottom:16px; }
.upgrade-section > p { font-size:14px; line-height:1.65; margin:12px 0 22px; }
.local-service-area .service-area-links { display:flex; flex-wrap:wrap; gap:10px 24px; margin-bottom:0; }
.service-area-links a { color:#194bff; text-underline-offset:4px; }
.service-rental-questions { padding:34px 0; border-top:1px solid #dfe1e5; }
.service-rental-questions > h2 { margin:0 0 18px; }
.service-rental-questions details { border-top:1px solid #dfe1e5; }
.service-rental-questions details:last-child { border-bottom:1px solid #dfe1e5; }
.service-rental-questions summary { min-height:44px; padding:16px 0; cursor:pointer; font-weight:650; }
.service-rental-questions details p { max-width:760px; margin:0; padding:0 0 18px; color:#555d68; font-size:14px; line-height:1.65; }
.capacity-note,.service-scope { font-size:12px; line-height:1.65; color:#596375; }
.package-row .capacity-note,.package-row .service-scope { margin-top:12px; }
.package-row.is-featured .capacity-note,.package-row.is-featured .service-scope,.is-featured .flagship-label { color:#fff; }
.flagship-label { display:block; margin-bottom:12px; }
.signature-recommendation { font-size:14px; font-weight:650; margin:12px 0; }
.package-facts > div:last-child { display:block; }
.is-featured .package-facts { grid-template-columns:1fr; }
.package-row.is-featured { order:-1; }
.package-row.is-featured .package-meta { align-items:flex-start; }
.package-row.is-featured .catalog-actions { justify-content:space-between; flex-wrap:wrap; }
.package-row.is-featured .package-title-line { flex-wrap:wrap; }
.package-row.is-featured .package-status { text-align:left; max-width:none; }
.package-row.is-featured .rate-amount { font-size:44px; }
.request-addons { border:1px solid #d5dce8; border-radius:8px; margin:20px 0 0; padding:16px; }
.request-addons legend { font-size:13px; font-weight:650; padding:0 5px; }
.addon-choice { display:flex; align-items:center; gap:12px; min-height:46px; border-bottom:1px solid #e2e6ee; font-size:12px; line-height:1.5; padding:10px 0; cursor:pointer; }
.addon-choice:last-child { border-bottom:0; }
.addon-choice input[type=checkbox] { width:18px; height:18px; flex:0 0 18px; accent-color:#194bff; }
.addon-choice input:disabled + span { color:#69768b; }
.addon-choice select { min-height:44px; width:126px; flex:0 0 126px; font-size:12px; border:1px solid #bcc8d8; border-radius:5px; background:white; padding:6px; }
.request-included { font-size:12px; color:#173fc3; background:#eff3ff; padding:10px; margin-top:12px; border-radius:4px; }
.request-addons .request-truth { margin-top:12px!important; }
@media(max-width:1000px) { .signature-feature .evolve-photo { height:330px; gap:20px; } .signature-details { margin-left:0; margin-right:16px; } .addon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .signature-feature { padding-top:36px; padding-bottom:36px; gap:30px; }
 .signature-feature .evolve-copy { max-width:none; width:100%; }
 .signature-feature .evolve-photo { height:250px; }
 .signature-feature .signature-intro { font-size:14px; }
 .signature-feature h2 { font-size:42px; }
 .signature-label { font-size:10px; margin-bottom:18px; }
 .signature-feature .button { width:100%; }
 .signature-details { margin-top:8px; }
 .signature-price .evolve-rate strong { font-size:42px; }
 .service-band { justify-content:flex-start; gap:8px 18px; }
 .service-band > span { font-size:12px; }
 .rental-addons { padding:36px var(--gutter); }
 .addon-grid { grid-template-columns:1fr; gap:12px; }
 .addon-card { padding:22px; }
 .setup-value { grid-template-columns:1fr; gap:24px; padding:36px var(--gutter); }
 .package-meta { flex-wrap:wrap; }
 .package-row.is-featured .rate-amount { font-size:38px; }
 .package-title-line { flex-wrap:wrap; gap:10px; }
 .package-status { max-width:none; text-align:left; }
 .package-facts > div:nth-child(1) { display:block; }
 .catalog-actions { flex-wrap:wrap; }
}


/* assets/language-switch.css */
/* One persistent language choice, visible on desktop and phone. */
.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #59616f;border-radius:7px;flex:0 0 auto;margin-left:0}
.language-switch button{background:transparent;border:0;border-radius:4px;color:#d7dde9;padding:8px 10px;min-height:38px;font:600 12px Inter,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.language-switch button[aria-pressed=true]{background:#fff;color:#15213a}
.language-switch button:hover{background:#33405b;color:#fff}
.language-switch button:focus-visible{outline:3px solid #a8bcff;outline-offset:3px}
.xlr-topbar{gap:22px;flex-wrap:wrap}
.xlr-topbar nav{gap:22px}
.xlr-topbar .xlr-date{white-space:nowrap}
html[lang=es] .package-meta strong{white-space:normal}
html[lang=es] .request-package>b{white-space:normal}
html[lang=es] .catalog-actions .button{white-space:normal;text-align:center}
html[lang=es] .addon-choice{word-break:normal;overflow-wrap:anywhere}
@media(max-width:1000px){.xlr-topbar nav{gap:18px}.xlr-topbar{gap:16px}.language-switch button{padding:7px 9px}}
@media(max-width:700px){.xlr-topbar{gap:12px}.xlr-topbar>.language-switch{order:2;margin-left:auto}.xlr-topbar>.xlr-date{order:3;margin-left:0}.xlr-topbar>nav{order:4;width:100%;justify-content:space-between;gap:12px}.xlr-topbar nav a{font-size:12px}.language-switch button{font-size:11px;padding:7px 9px;min-height:38px}.xlr-topbar>.xlr-date{font-size:11px;padding:10px 12px}}
@media(max-width:440px){.xlr-topbar>.xlr-date{order:4;width:100%;justify-content:center}.xlr-topbar>nav{order:3}.xlr-topbar>.language-switch{margin-left:auto}.xlr-brand{font-size:34px}}


/* assets/visual-system.css */
/* Product photography leads; blue identifies actions, not full-screen backgrounds. */
#catalog .catalog-intro { background: transparent; color: #17191d; border: 0; margin: 0; padding: 42px 0 30px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 8px 44px; align-items: end; }
#catalog .catalog-intro .page-label { grid-column: 1 / -1; color: #59616e; margin: 0 0 6px !important; }
#catalog .catalog-intro h1 { font-size: clamp(34px, 4vw, 52px); max-width: 600px; }
#catalog .catalog-intro .intro { color: #59616e; font-size: 15px; line-height: 1.6; margin: 0; max-width: 460px; }
.catalog-list { gap: 24px; }
.catalog-list .catalog-card { display: grid; grid-template-columns: 1fr; padding: 0; border: 1px solid #d9dddF; border-radius: 6px; background: #fff; color: #17191d; gap: 0; overflow: hidden; }
.catalog-list .catalog-signature { grid-column: 1 / -1; grid-template-columns: .9fr 1.1fr; background: #fff; color: #17191d; }
.catalog-media { margin: 0; min-width: 0; background: #f4f5f8; display: flex; flex-direction: column; }
.catalog-visual-link { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 22px; min-width: 0; }
.catalog-visual-link img { display: block; width: 100%; height: 190px; object-fit: contain; }
.catalog-media figcaption { font-size: 11px; color: #59616e; line-height: 1.5; padding: 10px 22px 16px; }
.catalog-signature .catalog-media { background: #ececea; justify-content: center; }
.catalog-signature .catalog-visual-link { padding: 34px 30px 12px; gap: clamp(30px, 5vw, 74px); }
.catalog-signature .catalog-visual-link img { width: 34%; height: 380px; object-fit: contain; }
.catalog-signature .catalog-media figcaption { text-align: center; padding-bottom: 24px; }
.catalog-card-body { min-width: 0; padding: 24px 28px; display: flex; flex-direction: column; }
.catalog-signature .catalog-card-body { padding: clamp(24px, 3vw, 40px); }
.catalog-kicker { font-size: 12px; color: #59616e; margin: 0 0 12px; }
.catalog-heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.catalog-heading h2 { font-size: 28px; line-height: 1.08; max-width: 300px; }
.catalog-rate { flex-shrink: 0; white-space: nowrap; font-size: 12px; }
.catalog-rate > span { display: block; color: #59616e; font-size: 11px; }
.catalog-rate strong { font-size: 34px; letter-spacing: -.04em; line-height: 1.3; }
.catalog-rate small { font-size: 12px; margin-left: 3px; }
.catalog-signature .catalog-heading { display: block; }
.catalog-signature .catalog-heading h2 { font-size: clamp(30px, 3.5vw, 42px); max-width: none; }
.catalog-signature .catalog-rate { margin-top: 14px; display: flex; align-items: baseline; gap: 6px; }
.catalog-signature .catalog-rate strong { font-size: 44px; }
.catalog-signature .catalog-rate > span { display: inline; font-size: 12px; }
.catalog-capacity { color: #303c50; font-size: 13px; margin-top: 12px; }
.catalog-use { color: #59616e; font-size: 14px; line-height: 1.6; margin: 14px 0 10px; }
.catalog-inclusions { margin: 18px 0; padding-left: 18px; }
.catalog-inclusions li { font-size: 14px; line-height: 1.5; padding: 3px 0 3px 3px; }
.catalog-service { font-size: 14px; line-height: 1.6; color: #303c50; }
.catalog-scope { color: #59616e; font-size: 12px; line-height: 1.6; margin-top: 10px; }
.catalog-card .catalog-actions { margin-top: auto; padding-top: 20px; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; }
.catalog-card .catalog-actions .button { background: #194bff; color: #fff; border-color: #194bff; }
.catalog-card .catalog-actions .button:hover { background: #123bd2; }
.catalog-planning-note { padding: 20px 0; max-width: 940px; margin: 0; font-size: 12px; }
/* Secondary pages retain real photographs without alternating saturated banners. */
.service-strip { background: #fff; color: #303c50; border-bottom: 1px solid #dfe1e5; flex-wrap: wrap; }
.local-cta { background: #ececea; color: #17191d; border-top: 1px solid #d5d8dc; }
.local-cta > a { background: #194bff; color: #fff; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
.process { background: #fff; color: #17191d; padding-top: 36px; padding-bottom: 36px; border-top: 1px solid #dfe1e5; border-bottom: 1px solid #dfe1e5; }
.process .eyebrow { color: #59616e; }
.process li > span { color: #194bff; }
.process li p { color: #59616e; }
.planning-list article, .benefits li { border-top: 1px solid #b7bfcc; }
.service-hero, .pro-intro { background: #f4f5f3; color: #17191d; }
.service-hero { grid-template-columns: .9fr 1.1fr; }
.service-hero .hero-copy > p:not(.eyebrow), .intro-copy > p, .intro-copy .approval-note { color: #59616e; }
.service-hero .eyebrow, .pro-title-block .page-label, .service-hero figcaption { color: #59616e; }
.service-hero img { height: 420px; border-radius: 4px; }
.pro-intro { grid-template-columns: 1fr 1fr; gap: 24px 48px; }
.pro-event { max-width: 470px; width: 100%; }
.pro-event img { height: 460px; border-radius: 4px; object-position: center 42%; }
.package-manifest { background: #fff; color: #17191d; border: 1px solid #dfe1e5; border-radius: 6px; }
.package-manifest .eyebrow, .package-manifest > div > p:last-child, .package-manifest li p { color: #59616e; }
.package-manifest li { border-bottom-color: #dfe1e5; }
.package-manifest li > span { color: #194bff; }
.directory-intro { background: #f4f5f3; color: #17191d; }
.directory-label, .directory-copy > p:last-child { color: #59616e; }
.directory-browser { border: 1px solid #dfe1e5; border-radius: 6px; }
.directory-tabs button[aria-selected=true] { background: #fff; color: #17191d; box-shadow: inset 0 -2px #194bff; }
@media (max-width: 900px) {
  #catalog .catalog-intro { grid-template-columns: 1fr; gap: 14px; }
  #catalog .catalog-intro .intro { max-width: 650px; }
  .catalog-list .catalog-signature { grid-template-columns: .75fr 1fr; }
  .catalog-signature .catalog-visual-link { padding: 24px 16px 12px; gap: 24px; }
  .catalog-signature .catalog-visual-link img { width: 38%; height: 330px; }
  .catalog-card-body { padding: 22px; }
  .catalog-heading { flex-wrap: wrap; }
  .service-hero img { height: 340px; }
}
@media (max-width: 700px) {
  #catalog .catalog-intro { padding: 28px 0 24px; }
  .catalog-list, .catalog-list .catalog-signature { grid-template-columns: 1fr; }
  .catalog-list { gap: 20px; }
  .catalog-signature .catalog-visual-link img { height: 250px; width: 30%; }
  .catalog-signature .catalog-visual-link { gap: 46px; }
  .catalog-signature .catalog-media figcaption { padding: 4px 20px 16px; }
  .catalog-visual-link img { height: 150px; }
  .catalog-card-body, .catalog-signature .catalog-card-body { padding: 22px; }
  .catalog-heading h2 { font-size: 27px; }
  .catalog-heading { flex-wrap: nowrap; }
  .catalog-signature .catalog-heading h2 { font-size: 32px; }
  .catalog-rate strong { font-size: 30px; }
  .catalog-card .catalog-actions { align-items: stretch; flex-direction: column-reverse; gap: 6px; }
  .catalog-card .catalog-actions > a:first-child { justify-content: center; }
  .service-hero, .pro-intro { grid-template-columns: 1fr; gap: 26px; }
  .service-hero img { height: 280px; }
  .pro-event { max-width: none; }
  .pro-event img { height: 340px; }
  .local-cta { grid-template-columns: minmax(0, 1fr); }
  .local-cta > a { grid-column: 1; grid-row: auto; white-space: normal; text-align: center; }
}


/* assets/site-craft.css */
/* Shared interaction rules and the existing XLR palette; see DESIGN.md. */
:root { --control-edge: #737e91; --copy-secondary: #59616e; }

/* Full-width service sections need the same inset as the hero and package grid.
   Nested package-detail sections already receive padding from their container. */
.site-interior main > .upgrade-section,
.site-interior main > .service-rental-questions {
  padding: 52px var(--gutter);
}
.site-interior .starting-points > .capacity-note {
  margin-top: 20px;
  max-width: 940px;
}
@media (max-width: 700px) {
  .site-interior main > .upgrade-section,
  .site-interior main > .service-rental-questions {
    padding: 36px var(--gutter);
  }
}

/* Transparent variant of the owner's logo. No badge or painted rectangle;
   the dark header/footer shows through the logo's negative spaces. */
a.brand-image {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 174px;
  height: 86px;
  overflow: hidden;
  background: transparent;
  border-radius: 0;
}
a.brand-image img.xlr-brand-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}
.xlr-footer a.brand-image, .footer-links a.brand-image { width: 200px; height: 100px; }
@media (max-width: 1000px) {
  .xlr-topbar a.brand-image { width: 148px; height: 74px; }
}
@media (max-width: 700px) {
  .xlr-topbar a.brand-image { width: 130px; height: 65px; }
  .xlr-footer a.brand-image, .footer-links a.brand-image { width: 174px; height: 87px; }
}
@media (max-width: 360px) {
  .xlr-topbar a.brand-image { width: 124px; height: 62px; }
}

.language-switch button { min-height: 44px; min-width: 60px; }
.xlr-topbar nav a { display: inline-flex; align-items: center; min-height: 44px; }
.xlr-footer nav a, .footer-links nav a, .footer-contact a,
.footer-base a, .detail-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; }
.xlr-footer-top > a:last-child { display: inline-flex; align-items: center; min-height: 44px; }
.view-tabs button, .directory-tabs button { min-height: 44px; }
.request-head button { width: 44px; height: 44px; flex: 0 0 44px; }
.request-package select, .request-fallback-actions > button { min-height: 44px; }
.request-package select { border: 1px solid var(--control-edge); background: #fff; padding: 10px; border-radius: 4px; }
.flexible-date { min-height: 44px; }

.site-interior .field input, .site-interior .field select, .site-interior .field textarea,
.request-fields input, .request-fields select, .request-fields textarea,
.request-package select, .addon-choice select,
.equipment-quantity input, .equipment-quantity select { border-color: var(--control-edge); }
.request-fields input::placeholder, .request-fields textarea::placeholder,
.site-interior input::placeholder, .site-interior textarea::placeholder { color: var(--copy-secondary); opacity: 1; }
.equipment-fields .field input, .equipment-fields .field textarea { border-color: var(--control-edge); }
.request-head button:hover { background: #465165; }

/* A two-tone focus ring remains visible on both paper and the royal-blue feature. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #101216;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff;
}
.xlr-topbar a:focus-visible, .xlr-footer a:focus-visible,
.language-switch button:focus-visible, .hero a:focus-visible,
.equipment-hero a:focus-visible, .footer a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #101216;
}
button:active, .button:active { transform: translateY(1px); }

/* The blue feature is reserved for Jonathan's complete-service package. */
.service-band { background: #fff; color: #303c50; border-top: 1px solid #dce0e6; }
.service-band > span { font-size: 14px; font-weight: 550; letter-spacing: 0; }
.signature-label { border: 0; border-radius: 0; padding: 0; font-size: 13px; font-weight: 550; text-transform: none; letter-spacing: 0; }
.eyebrow, .flagship-label { text-transform: none; letter-spacing: 0; font-size: 13px; }
.signature-inclusions li { padding-left: 0; font-size: 14px; }
.signature-inclusions li::before { content: none; }
.signature-feature { overflow: visible; }
.setup-value { background: #fff; border-top: 1px solid #dce0e6; }
.rental-addons .section-head { max-width: 800px; }
.addon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; }
.addon-card, .addon-card:nth-child(-n+2) { padding: 24px 0; background: transparent; border: 0; border-top: 1px solid #b7bfcc; border-radius: 0; }
.addon-card h3 { font-size: 21px; }
.addon-card p { font-size: 14px; }
.addon-card .addon-rate, .addon-card > strong { font-size: 17px; margin: 10px 0; }
.request-truth, .request-rail-truth { font-size: 12px; }
.help-strip a { white-space: normal; max-width: 100%; }
.package-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.package-split > a { min-width: 0; overflow-wrap: anywhere; }
.package-split > a span { white-space: normal; }
.build-moved { grid-template-columns: minmax(0, 1fr); }
.build-moved > div { min-width: 0; max-width: 100%; }
.site-interior .build-moved h1 { font-size: clamp(32px, 4vw, 46px); overflow-wrap: anywhere; }
.site-interior .build-moved a { max-width: 100%; padding: 12px 18px; text-align: center; color: #fff; }
.build-moved p:first-child { color: #194bff; text-transform: none; letter-spacing: 0; font-size: 13px; }

/* The package guide answers a buying question instead of showing another setup photo. */
.package-views .view-tabs { margin: 0 0 14px; }
.package-view-panel { border: 1px solid #dfe1e5; border-radius: 8px; }
.package-view-panel:focus-visible { outline: 3px solid #101216; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.package-fit-panel { padding: clamp(20px, 3vw, 32px); background: #fff; }
.package-fit-panel h2 { font-size: clamp(25px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.035em; }
.package-fit-panel ul { margin: 24px 0; padding-left: 20px; }
.package-fit-panel li { padding: 8px 0 8px 5px; font-size: 15px; line-height: 1.6; }
.package-fit-check { border-top: 1px solid #dfe1e5; padding-top: 22px; }
.package-fit-check h3 { font-size: 15px; font-weight: 650; }
.package-fit-check p { color: var(--copy-secondary); font-size: 14px; line-height: 1.6; margin: 10px 0 8px; }
.package-fit-check a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-underline-offset: 4px; }
.package-gear-panel figure { margin: 0; }
.package-gear-panel img { object-fit: contain; background: #f4f5f8; }

@media (max-width: 1000px) {
  .xlr-topbar { column-gap: 18px; }
}
@media (max-width: 700px) {
  .language-switch button { min-height: 44px; padding: 8px; }
  .xlr-topbar nav { gap: 8px; }
  .xlr-topbar nav a { font-size: 12px; }
  .service-band { gap: 8px 20px; }
  .service-band > span { font-size: 13px; }
  .addon-grid { grid-template-columns: minmax(0, 1fr); }
  .package-split { grid-template-columns: minmax(0, 1fr); }
  .signature-inclusions li { font-size: 13px; }
  .hero h1 { font-size: clamp(36px, 9vw, 54px); }
  .request-fields input, .request-fields select, .request-fields textarea { font-size: 16px; }
}
@media (max-width: 360px) {
  .xlr-topbar nav { gap: 6px; }
  .xlr-topbar nav a { font-size: 11px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Keep every primary destination visible on narrow screens without a clipped
   horizontal nav. Two compact rows are easier to scan and tap. */
@media (max-width: 700px) {
  .xlr-topbar nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 6px; overflow-x: visible; }
  .xlr-topbar nav a { justify-content: center; font-size: 12px; min-width: 0; }
}

/* Tablet header: aligned controls, then a full-width navigation row. */
@media (min-width: 701px) and (max-width: 1100px) {
  .xlr-topbar { display: grid; grid-template-columns: 1fr auto auto; gap: 12px 20px; }
  .xlr-topbar > .brand-image { grid-column: 1; grid-row: 1; }
  .xlr-topbar > .language-switch { grid-column: 2; grid-row: 1; }
  .xlr-topbar > .xlr-date { grid-column: 3; grid-row: 1; margin: 0; }
  .xlr-topbar > nav { grid-column: 1 / -1; grid-row: 2; margin: 0; justify-content: space-between; border-top: 1px solid #30343c; padding-top: 6px; }
}

/* Mobile navigation is enhanced only after its controller initializes. Without
   JavaScript every destination remains visible in the original navigation. */
.navigation-toggle { display: none; }
@media (max-width: 700px) {
  .xlr-topbar.navigation-ready { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; }
  .xlr-topbar.navigation-ready > .brand-image { grid-column: 1; grid-row: 1; }
  .xlr-topbar.navigation-ready > .language-switch { grid-column: 2; grid-row: 1; justify-self: end; margin: 0; }
  .xlr-topbar.navigation-ready > .navigation-toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    grid-column: 1; grid-row: 2; min-height: 44px; padding: 10px 18px;
    border: 1px solid #737e91; border-radius: 5px; background: transparent;
    color: #fff; font: inherit; font-size: 13px; cursor: pointer;
  }
  .navigation-toggle::after { content: '+'; font-size: 20px; line-height: 1; }
  .navigation-toggle[aria-expanded="true"]::after { content: '−'; }
  .xlr-topbar.navigation-ready > .xlr-date { grid-column: 2; grid-row: 2; width: auto; min-height: 44px; margin: 0; }
  .xlr-topbar.navigation-ready > nav { grid-column: 1 / -1; grid-row: 3; margin: 0; }
  .xlr-topbar.navigation-ready > .navigation-toggle[aria-expanded="false"] ~ nav { display: none; }
  .navigation-toggle:focus-visible { outline-color: #fff; box-shadow: 0 0 0 3px #101216; }
}

/* Analytics choices open only from the Privacy page. There is no automatic
   banner or floating settings control on the browsing experience. */
.analytics-consent {
  position: fixed; z-index: 1200; left: 18px; right: 18px; bottom: 18px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px;
  align-items: end; max-width: 920px; margin: 0 auto; padding: 22px 24px;
  color: #fff; background: #101216; border: 1px solid #434a55;
  border-radius: 8px; box-shadow: 0 18px 60px rgba(0, 0, 0, .32);
}
.analytics-consent[hidden] { display: none !important; }
.analytics-consent__copy strong { display: block; margin-bottom: 8px; font-size: 18px; }
.analytics-consent__copy p { max-width: 680px; margin: 0 0 8px; color: #d8dce4; font-size: 14px; line-height: 1.55; }
.analytics-consent__copy a { color: #fff; font-size: 13px; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.analytics-consent__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.analytics-consent button, [data-analytics-settings] {
  min-height: 44px; padding: 10px 15px; border: 1px solid #737e91; border-radius: 5px;
  background: transparent; color: inherit; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer;
}
.analytics-consent__actions .analytics-consent__allow { border-color: #194bff; background: #194bff; color: #fff; }
.analytics-consent button:hover, .analytics-consent button:focus-visible { border-color: #fff; }
.analytics-consent__actions .analytics-consent__allow:hover,
.analytics-consent__actions .analytics-consent__allow:focus-visible { background: #0d3fe6; border-color: #fff; }
.analytics-consent button:focus-visible, [data-analytics-settings]:focus-visible {
  outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px #101216;
}
[data-analytics-settings] { margin-top: 6px; border-color: #7b8494; background: #fff; color: #101216; }
[data-analytics-settings]:hover { border-color: #101216; }

/* Secondary explanations stay available without dominating the page. */
.more-info-disclosure { margin-top: 10px; color: #424f62; }
.more-info-disclosure summary {
  display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0;
  color: #194bff; font-size: 13px; font-weight: 650; cursor: pointer;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.more-info-disclosure summary::marker { color: #194bff; }
.more-info-disclosure summary:focus-visible { outline: 3px solid #101216; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.more-info-disclosure > p { margin: 6px 0 0; max-width: 760px; color: #596375; font-size: 13px; line-height: 1.65; }
.more-info-disclosure[open] { padding-bottom: 4px; }
.packages-foot > div { min-width: 0; }
.packages-foot .more-info-disclosure { max-width: 760px; }
.addon-card .more-info-disclosure { margin-top: 2px; }
.addon-card .more-info-disclosure > p { margin-top: 4px; }
.section-more-info { margin-top: 18px; max-width: 980px; }
.section-more-info .addon-footnote { margin-top: 6px; }
.setup-copy .more-info-disclosure > p { margin-bottom: 14px; }
.setup-copy .more-info-disclosure .scope-note { margin-top: 18px; }
.how-it-works .more-info-disclosure { margin-top: 6px; }
.how-it-works .more-info-disclosure > p { margin-top: 4px; }

@media (max-width: 700px) {
  .analytics-consent { left: 10px; right: 10px; bottom: 10px; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px; }
  .analytics-consent__actions { justify-content: stretch; }
  .analytics-consent__actions button { flex: 1 1 140px; }
}

