html[data-theme="dark"] {
 --background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 6% 10%;--card-foreground:0 0% 98%;
 --popover:240 6% 10%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;
 --secondary:240 3.7% 15.3%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.3%;--muted-foreground:240 5% 69%;
 --accent:240 3.7% 15.3%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 45%;--destructive-foreground:0 0% 98%;
 --border:240 3.7% 24%;--input:240 3.7% 24%;--ring:240 4.9% 83.9%;
}
html[data-theme] body{background-color:hsl(var(--background));color:hsl(var(--foreground));}
html[data-theme] input,html[data-theme] textarea,html[data-theme] select{color:inherit;}
html[data-theme="dark"] .bg-white{background-color:hsl(var(--card))!important}
html[data-theme="dark"] :is(.bg-gray-50,.bg-gray-100,.bg-slate-50,.bg-slate-100){background-color:hsl(var(--muted))!important}
html[data-theme="dark"] :is(.text-gray-900,.text-gray-800,.text-slate-900,.text-slate-800,.text-black){color:hsl(var(--foreground))!important}
html[data-theme="dark"] :is(.text-gray-500,.text-gray-600,.text-gray-700,.text-slate-500,.text-slate-600,.text-slate-700){color:hsl(var(--muted-foreground))!important}
html[data-theme="dark"] :is(.border-gray-100,.border-gray-200,.border-gray-300,.border-slate-200){border-color:hsl(var(--border))!important}
html[data-theme="dark"] :is(.bg-red-50,.bg-red-100){background-color:#361619!important}
html[data-theme="dark"] :is(.text-red-600,.text-red-700,.text-red-800){color:#fca5a5!important}
html[data-theme="dark"] :is(.bg-blue-50,.bg-blue-100){background-color:#14243b!important}
html[data-theme="dark"] :is(.text-blue-600,.text-blue-700,.text-blue-800){color:#93c5fd!important}
html[data-theme="dark"] :is(.bg-green-50,.bg-green-100,.bg-emerald-50){background-color:#132d24!important}
html[data-theme="dark"] :is(.text-green-600,.text-green-700,.text-green-800,.text-emerald-600){color:#86efac!important}
html[data-theme="dark"] :is(.bg-amber-50,.bg-yellow-50){background-color:#35270f!important}
html[data-theme="dark"] :is(.text-amber-800,.text-amber-700,.text-yellow-700){color:#fcd34d!important}
html[data-theme="dark"] :is(#ticket-modal-content,#offer-modal-content){background-color:hsl(var(--card))!important;color:hsl(var(--foreground))}
.site-theme-picker{position:relative;flex-shrink:0}
.site-theme-picker summary{list-style:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid hsl(var(--input));border-radius:6px;cursor:pointer;background:hsl(var(--background));color:hsl(var(--foreground));}
.site-theme-picker summary::-webkit-details-marker{display:none}
.site-theme-picker summary:hover,.site-theme-options button:hover{background:hsl(var(--accent))}
.site-theme-picker summary:focus-visible,.site-theme-options button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
.site-theme-options{position:absolute;right:0;top:calc(100% + 8px);width:160px;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:0 8px 24px #0002;z-index:110;}
.site-theme-options button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;text-align:left;border-radius:4px;font-size:14px}
.site-theme-options button[aria-pressed="true"]{background:hsl(var(--accent));font-weight:600}
.site-theme-options button[aria-pressed="true"]::after{content:'✓';margin-left:auto}
@media(max-width:420px){header .container{padding-left:12px;padding-right:12px}header .container>div:first-child{min-width:0;margin-right:8px}header .container>div:last-child{gap:6px}}
/* Checkout remains a single form; summary and payment layout are responsive. */
.order-checkout{padding:48px 0 72px}
.order-shell{max-width:1180px;margin:0 auto}
.order-heading{margin-bottom:28px}
.order-heading h1{font-size:clamp(28px,4vw,36px);font-weight:700;letter-spacing:-.025em;margin-bottom:8px}
.order-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.order-summary,.order-payment{min-width:0;border:1px solid hsl(var(--border));border-radius:16px;padding:28px;background:hsl(var(--card));color:hsl(var(--card-foreground))}
.order-summary{position:sticky;top:88px}
.order-summary>div:not(#price-details){gap:16px;align-items:flex-start}
.order-summary span{overflow-wrap:anywhere}
.order-summary #promo-code-input{min-width:0}
.order-payment>h2{font-size:20px;font-weight:600;margin-bottom:8px}
.order-payment>p{font-size:14px;color:hsl(var(--muted-foreground));margin-bottom:24px}
.order-layout input:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.payment-method-card:focus-within{outline:2px solid hsl(var(--ring));outline-offset:3px}
.order-checkout .payment-method-card{padding:18px}
.order-checkout #price-details{font-variant-numeric:tabular-nums}
.order-checkout #price-details>div{gap:12px;flex-wrap:wrap}
.order-checkout #final-price{font-size:28px}
.order-features{margin:18px 0;padding:16px;border:1px solid hsl(var(--border));border-radius:10px;font-size:14px}
.order-features li{display:flex;gap:8px;margin:6px 0}
@media(max-width:900px){.order-layout{grid-template-columns:minmax(0,1fr)}.order-summary{position:static}.order-checkout{padding-top:28px}.order-summary,.order-payment{padding:20px}}
html[data-theme="dark"] .order-summary :is(.border-b,.border-t){border-color:hsl(var(--border))}
html[data-theme="dark"] .order-checkout input{border-color:hsl(var(--input))}
@media(prefers-reduced-motion:reduce){.site-theme-picker *{transition:none}}
/* Corporate order review: line items, a clear total and separate customer details. */
.order-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px}
.order-summary{position:static}
.order-summary,.order-payment,.order-customer{border-radius:8px;padding:24px;box-shadow:none}
.order-heading{position:relative;padding-top:8px;margin-bottom:36px}
.order-heading h1{font-size:30px;margin-top:12px}
.order-status{display:inline-flex;border-radius:20px;background:hsl(var(--muted));font-size:12px;padding:5px 10px;color:hsl(var(--muted-foreground))}
.order-back{float:right;font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center;padding:6px 0}
.order-section-title{font-size:20px;font-weight:650;margin:0 0 22px}
.order-line{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid hsl(var(--border));font-size:14px}
.order-base-line{padding-top:0}
.order-line-info{flex:1;min-width:0}
.order-line-info h3{font-weight:600;margin-bottom:4px}
.order-line-info p,.order-line-info span{color:hsl(var(--muted-foreground));font-size:13px}
.order-line strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.order-service-icon{width:52px;height:52px;display:grid;place-items:center;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:8px;flex-shrink:0;font-size:24px}
.order-right-column{min-width:0;display:grid;gap:24px}
.order-customer{border:1px solid hsl(var(--border));background:hsl(var(--card))}
.order-contact{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.order-caption{display:block;font-size:11px;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-bottom:10px}
.order-checkout #price-details{padding-top:8px}
.order-checkout #price-details>div:last-child{margin-top:18px;padding-top:18px;font-size:16px}
.order-checkout #final-price{font-size:22px}
.order-features{background:transparent;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;padding:0 0 16px;color:hsl(var(--muted-foreground))}
.order-features h3{color:hsl(var(--foreground))}
@media(max-width:1000px){.order-layout{grid-template-columns:minmax(0,1fr)}.order-summary,.order-payment,.order-customer{padding:20px}.order-back{float:none;justify-content:flex-end;margin-bottom:12px}.order-line{gap:10px}.order-service-icon{width:40px;height:40px}.order-line strong{font-size:13px}}

/* Native scroll containers match the shadcn ScrollArea's rounded border thumb.
   Zero-specificity selectors preserve intentionally hidden and Radix scrollbars. */
:where(*){scrollbar-width:thin;scrollbar-color:hsl(var(--border)) transparent}
@supports selector(::-webkit-scrollbar){
 :where(*){scrollbar-width:auto;scrollbar-color:auto}
 :where(*)::-webkit-scrollbar{width:10px;height:10px}
 :where(*)::-webkit-scrollbar-track{background:transparent}
 :where(*)::-webkit-scrollbar-thumb{background-color:hsl(var(--border));border:2px solid transparent;background-clip:padding-box;border-radius:9999px;min-height:24px;min-width:24px}
 :where(*)::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,hsl(var(--border)) 70%,currentColor 30%)}
 :where(*)::-webkit-scrollbar-corner{background:transparent}
 :where(*)::-webkit-scrollbar-button{display:none;width:0;height:0}
}

/* Project CTA uses the same dark surface as the surrounding cards. */
html[data-theme="dark"] .project-cta{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));box-shadow:none}
html[data-theme="dark"] .project-cta p{color:hsl(var(--muted-foreground))}
html[data-theme="dark"] .project-cta button{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
html[data-theme="dark"] .project-cta button:hover{opacity:.9}
html[data-theme="dark"] .project-cta a{color:hsl(var(--foreground));border-color:hsl(var(--border))}
html[data-theme="dark"] .project-cta>.absolute{opacity:.2}