css = r'''/* =========================================================
   DREAMDESK — FRESH UTILITY CSS
   Part 2 / Full CSS
   ========================================================= */

*,::before,::after{
    box-sizing:border-box;
    border-width:0;
    border-style:solid;
    border-color:#e5e7eb;
}

::before,::after{--tw-content:"";}

html{
    line-height:1.5;
    -webkit-text-size-adjust:100%;
    tab-size:4;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    scroll-behavior:smooth;
}

body{
    margin:0;
    line-height:inherit;
}

img,svg,video,canvas,audio,iframe,embed,object{
    display:block;
    vertical-align:middle;
}

img,video{
    max-width:100%;
    height:auto;
}

button,input,optgroup,select,textarea{
    font-family:inherit;
    font-size:100%;
    line-height:inherit;
    color:inherit;
    margin:0;
}

button,select{
    text-transform:none;
}

button,
[role="button"]{
    cursor:pointer;
}

a{
    color:inherit;
    text-decoration:inherit;
}

h1,h2,h3,h4,h5,h6,p,ul,ol,figure{
    margin:0;
}

ul,ol{
    list-style:none;
    padding:0;
}

/* =========================
   CONTAINER
   ========================= */

.container{
    width:100%;
    margin-left:auto;
    margin-right:auto;
}

@media(min-width:640px){.container{max-width:640px}}
@media(min-width:768px){.container{max-width:768px}}
@media(min-width:1024px){.container{max-width:1024px}}
@media(min-width:1280px){.container{max-width:1280px}}
@media(min-width:1536px){.container{max-width:1536px}}

/* =========================
   POSITION
   ========================= */

.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}

.inset-0{inset:0}
.top-0{top:0}
.top-1\/2{top:50%}
.top-full{top:100%}
.right-0{right:0}
.right-2{right:.5rem}
.right-3{right:.75rem}
.right-4{right:1rem}
.right-5{right:1.25rem}
.left-0{left:0}
.left-1\/2{left:50%}
.bottom-0{bottom:0}
.bottom-3{bottom:.75rem}
.bottom-6{bottom:1.5rem}

/* =========================
   Z INDEX
   ========================= */

.z-10{z-index:10}
.z-20{z-index:20}
.z-30{z-index:30}
.z-40{z-index:40}
.z-50{z-index:50}
.z-\[99999\]{z-index:99999}
.z-\[999999\]{z-index:999999}

/* =========================
   DISPLAY
   ========================= */

.block{display:block}
.inline{display:inline}
.inline-block{display:inline-block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}

/* =========================
   FLEX
   ========================= */

.flex-1{flex:1 1 0%}
.flex-shrink-0{flex-shrink:0}
.flex-grow{flex-grow:1}

.flex-row{flex-direction:row}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-nowrap{flex-wrap:nowrap}

.items-start{align-items:flex-start}
.items-center{align-items:center}
.items-baseline{align-items:baseline}
.items-stretch{align-items:stretch}

.justify-center{justify-content:center}
.justify-between{justify-content:space-between}

/* =========================
   GRID
   ========================= */

.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* =========================
   GAP
   ========================= */

.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}

/* =========================
   WIDTH
   ========================= */

.w-full{width:100%}
.w-auto{width:auto}
.w-10{width:2.5rem}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-28{width:7rem}
.w-72{width:18rem}
.w-80{width:20rem}
.w-96{width:24rem}

.max-w-full{max-width:100%}
.max-w-sm{max-width:24rem}
.max-w-md{max-width:28rem}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-\[1400px\]{max-width:1400px}

/* =========================
   HEIGHT
   ========================= */

.h-full{height:100%}
.h-auto{height:auto}
.h-2{height:.5rem}
.h-3\.5{height:.875rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-20{height:5rem}
.h-32{height:8rem}
.h-48{height:12rem}
.h-80{height:20rem}
.h-96{height:24rem}

.min-h-screen{min-height:100vh}

/* =========================
   MARGIN
   ========================= */

.m-0{margin:0}
.mx-auto{margin-left:auto;margin-right:auto}

.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}

.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-14{margin-bottom:3.5rem}
.mb-16{margin-bottom:4rem}

/* =========================
   PADDING
   ========================= */

.p-1{padding:.25rem}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}

.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}

.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}

/* =========================
   TEXT
   ========================= */

.text-left{text-align:left}
.text-center{text-align:center}

.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}

.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}

.uppercase{text-transform:uppercase}
.italic{font-style:italic}

.leading-none{line-height:1}
.leading-tight{line-height:1.25}
.leading-snug{line-height:1.375}
.leading-relaxed{line-height:1.625}

.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}

/* =========================
   COLORS
   ========================= */

.text-black{color:#000}
.text-white{color:#fff}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-slate-950{color:#020617}

.text-amber-300{color:#fcd34d}
.text-amber-400{color:#fbbf24}
.text-amber-500{color:#f59e0b}
.text-amber-600{color:#d97706}
.text-amber-700{color:#b45309}
.text-amber-800{color:#92400e}
.text-amber-900{color:#78350f}

.text-emerald-500{color:#10b981}
.text-emerald-600{color:#059669}
.text-blue-600{color:#2563eb}
.text-red-600{color:#dc2626}
.text-orange-600{color:#ea580c}

.text-\[\#111111\]{color:#111}
.text-\[\#222\]{color:#222}
.text-\[\#444\]{color:#444}
.text-\[\#555\]{color:#555}
.text-\[\#666\]{color:#666}
.text-\[\#777\]{color:#777}
.text-\[\#d8232a\]{color:#d8232a}
.text-\[\#f84846\]{color:#f84846}

/* =========================
   BACKGROUNDS
   ========================= */

.bg-white{background-color:#fff}
.bg-black{background-color:#000}
.bg-transparent{background-color:transparent}

.bg-slate-50{background-color:#f8fafc}
.bg-slate-100{background-color:#f1f5f9}
.bg-slate-200{background-color:#e2e8f0}
.bg-slate-700{background-color:#334155}
.bg-slate-800{background-color:#1e293b}
/*.bg-slate-900{background-color:#0f172a}*/
.bg-slate-950{background-color:#020617}

.bg-amber-50{background-color:#fffbeb}
.bg-amber-100{background-color:#fef3c7}
.bg-amber-300{background-color:#fcd34d}
.bg-amber-400{background-color:#f2d803}
.bg-amber-500{background-color:#f59e0b}

.bg-emerald-50{background-color:#ecfdf5}
.bg-emerald-100{background-color:#d1fae5}
.bg-emerald-400{background-color:#34d399}
.bg-emerald-500{background-color:#10b981}
.bg-emerald-600{background-color:#059669}

.bg-blue-50{background-color:#eff6ff}
.bg-orange-50{background-color:#fff7ed}
.bg-red-500{background-color:#ef4444}
.bg-red-600{background-color:#dc2626}

.bg-\[\#222222\]{background-color:#222}
.bg-\[\#FAF5EE\]{background-color:#faf5ee}
.bg-\[\#FCFBF8\]{background-color:#fcfbf8}
.bg-\[\#FFFDF7\]{background-color:#fffdf7}
.bg-\[\#f5f5f5\]{background-color:#f5f5f5}
.bg-\[\#f5c518\]{background-color:#f5c518}
.bg-\[\#f2d803\]{background-color:#f2d803}

/* Opacity backgrounds */

.bg-white\/10{background-color:rgba(255,255,255,.1)}
.bg-white\/20{background-color:rgba(255,255,255,.2)}
.bg-white\/40{background-color:rgba(255,255,255,.4)}
.bg-white\/70{background-color:rgba(255,255,255,.7)}
.bg-white\/95{background-color:rgba(255,255,255,.95)}

.bg-black\/15{background-color:rgba(0,0,0,.15)}
.bg-black\/35{background-color:rgba(0,0,0,.35)}
.bg-black\/70{background-color:rgba(0,0,0,.7)}
.bg-black\/80{background-color:rgba(0,0,0,.8)}

.bg-slate-900\/10{background-color:rgba(15,23,42,.1)}
.bg-slate-950\/75{background-color:rgba(2,6,23,.75)}
.bg-slate-950\/85{background-color:rgba(2,6,23,.85)}
.bg-slate-950\/90{background-color:rgba(2,6,23,.9)}

.bg-amber-400\/10{background-color:#f2d803}
.bg-amber-400\/20{background-color:#f2d803}
.bg-amber-400\/30{background-color:#f2d803}
.bg-amber-500\/10{background-color:rgba(245,158,11,.1)}
.bg-amber-500\/30{background-color:rgba(245,158,11,.3)}

/* =========================
   GRADIENTS
   ========================= */

.bg-gradient-to-r{
    background-image:linear-gradient(to right,var(--tw-gradient-stops));
}

.bg-gradient-to-b{
    background-image:linear-gradient(to bottom,var(--tw-gradient-stops));
}

.bg-gradient-to-br{
    background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));
}

.from-white{
    --tw-gradient-from:#fff;
    --tw-gradient-to:rgba(255,255,255,0);
    --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
}

.from-slate-50{
    --tw-gradient-from:#f8fafc;
    --tw-gradient-to:rgba(248,250,252,0);
    --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
}

.from-slate-800{
    --tw-gradient-from:#1e293b;
    --tw-gradient-to:rgba(30,41,59,0);
    --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
}

.from-slate-900{
    --tw-gradient-from:#0f172a;
    --tw-gradient-to:rgba(15,23,42,0);
    --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
}

.from-amber-500{
    --tw-gradient-from:#f59e0b;
    --tw-gradient-to:rgba(245,158,11,0);
    --tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);
}

.via-amber-400{
    --tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);
}

.via-transparent{
    --tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to);
}

.to-white{--tw-gradient-to:#fff}
.to-slate-50{--tw-gradient-to:#f8fafc}
.to-slate-800{--tw-gradient-to:#1e293b}
.to-slate-900{--tw-gradient-to:#0f172a}
.to-amber-500{--tw-gradient-to:#f59e0b}
.to-transparent{--tw-gradient-to:transparent}

/* =========================
   BORDER
   ========================= */

.border{border-width:1px}
.border-0{border-width:0}
.border-2{border-width:2px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-r{border-right-width:1px}
.border-dashed{border-style:dashed}

.border-white\/20{border-color:rgba(255,255,255,.2)}
.border-white\/80{border-color:rgba(255,255,255,.8)}

.border-slate-100{border-color:#f1f5f9}
.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}
.border-slate-700{border-color:#334155}
.border-slate-800{border-color:#1e293b}
.border-slate-900{border-color:#0f172a}

.border-amber-100{border-color:#fef3c7}
.border-amber-200{border-color:#fde68a}
.border-amber-300{border-color:#fcd34d}
.border-amber-400{border-color:#fbbf24}

.border-\[\#f5c518\]{border-color:#f5c518}

/* =========================
   RADIUS
   ========================= */

.rounded{border-radius:.25rem}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}

/* =========================
   OBJECT
   ========================= */

.object-contain{object-fit:contain}
.object-cover{object-fit:cover}
.object-center{object-position:center}
.object-top{object-position:top}

.bg-cover{background-size:cover}
.bg-center{background-position:center}
.bg-no-repeat{background-repeat:no-repeat}

/* =========================
   OVERFLOW
   ========================= */

.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}

.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{
    -ms-overflow-style:none;
    scrollbar-width:none;
}

/* =========================
   SHADOW
   ========================= */

.shadow-sm{
    box-shadow:0 1px 2px rgba(0,0,0,.05);
}

.shadow-md{
    box-shadow:0 4px 6px -1px rgba(0,0,0,.1),
               0 2px 4px -2px rgba(0,0,0,.1);
}

.shadow-lg{
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1),
               0 4px 6px -4px rgba(0,0,0,.1);
}

.shadow-xl{
    box-shadow:0 20px 25px -5px rgba(0,0,0,.1),
               0 8px 10px -6px rgba(0,0,0,.1);
}

.shadow-2xl{
    box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
}

/* =========================
   TRANSITIONS
   ========================= */

.transition{
    transition:all .15s cubic-bezier(.4,0,.2,1);
}

.transition-all{
    transition:all .3s cubic-bezier(.4,0,.2,1);
}

.transition-colors{
    transition:color .2s,background-color .2s,border-color .2s;
}

.transition-opacity{
    transition:opacity .2s;
}

.transition-transform{
    transition:transform .3s cubic-bezier(.4,0,.2,1);
}

.duration-150{transition-duration:.15s}
.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}
.duration-500{transition-duration:.5s}
.duration-700{transition-duration:.7s}

.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}

/* =========================
   TRANSFORM
   ========================= */

.transform{
    transform:translate(var(--tw-translate-x,0),
                       var(--tw-translate-y,0))
              rotate(var(--tw-rotate,0))
              skewX(var(--tw-skew-x,0))
              skewY(var(--tw-skew-y,0))
              scaleX(var(--tw-scale-x,1))
              scaleY(var(--tw-scale-y,1));
}

.-translate-x-1\/2{
    transform:translateX(-50%);
}

.-translate-y-1\/2{
    transform:translateY(-50%);
}

.scale-105{transform:scale(1.05)}
.scale-110{transform:scale(1.1)}
.rotate-12{transform:rotate(12deg)}
.rotate-180{transform:rotate(180deg)}

/* =========================
   HOVER
   ========================= */

.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:scale-110:hover{transform:scale(1.1)}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}

.hover\:bg-white:hover{background-color:#fff}
.hover\:bg-slate-100:hover{background-color:#f1f5f9}
.hover\:bg-slate-700:hover{background-color:#334155}
.hover\:bg-slate-800:hover{background-color:#1e293b}
.hover\:bg-slate-900:hover{background-color:#0f172a}

.hover\:bg-amber-400:hover{background-color:#f2d803}
.hover\:bg-amber-500:hover{background-color:#f59e0b}

.hover\:text-white:hover{color:#fff}
.hover\:text-black:hover{color:#000}
.hover\:text-amber-500:hover{color:#f59e0b}
.hover\:text-amber-600:hover{color:#d97706}
.hover\:text-slate-900:hover{color:#0f172a}

.hover\:border-amber-400:hover{border-color:#fbbf24}
.hover\:border-slate-300:hover{border-color:#cbd5e1}

.hover\:shadow-lg:hover{
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1),
               0 4px 6px -4px rgba(0,0,0,.1);
}

.hover\:shadow-xl:hover{
    box-shadow:0 20px 25px -5px rgba(0,0,0,.1),
               0 8px 10px -6px rgba(0,0,0,.1);
}

/* =========================
   FOCUS
   ========================= */

.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:border-amber-400:focus{border-color:#fbbf24}

/* =========================
   OPACITY
   ========================= */

.opacity-0{opacity:0}
.opacity-10{opacity:.1}
.opacity-25{opacity:.25}
.opacity-60{opacity:.6}
.opacity-70{opacity:.7}
.opacity-100{opacity:1}

.hover\:opacity-100:hover{opacity:1}

/* =========================
   CURSOR / USER SELECT
   ========================= */

.cursor-pointer{cursor:pointer}
.select-none{user-select:none}

/* =========================
   BACKDROP
   ========================= */

.backdrop-blur-sm{
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
}

.backdrop-blur-md{
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}

/* =========================
   SPECIAL GOOGLE REVIEW UI
   ========================= */

.dd-google-review-bar-2026{
    margin:0 auto 28px;
    padding:10px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:100%;
}

.dd-google-review-left-2026{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.dd-google-logo-2026{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(0,0,0,.1);
}

.dd-google-logo-2026 img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.dd-google-review-info-2026{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    min-width:0;
}

.dd-google-review-info-2026 strong{
    color:#111;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
}

.dd-google-rating-2026{
    display:flex;
    align-items:center;
    gap:8px;
}

.dd-google-score-2026{
    color:#000;
    font-size:18px;
    font-weight:700;
    line-height:1;
}

.dd-google-stars-2026{
    color:#fbbc04;
    font-size:17px;
    letter-spacing:1px;
    white-space:nowrap;
}

.dd-google-review-info-2026 small{
    color:#64748b;
    font-size:12px;
}

.dd-all-reviews-btn-2026{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 24px;
    border-radius:50px;
    background:#f2d803;
    color:#000;
    font-size:14px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 5px 15px rgba(242,216,3,.25);
    transition:transform .25s ease,box-shadow .25s ease;
}

.dd-all-reviews-btn-2026:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(242,216,3,.35);
}

.dd-all-reviews-btn-2026 b{
    transition:transform .25s ease;
}

.dd-all-reviews-btn-2026:hover b{
    transform:translate(2px,-2px);
}

/* =========================
   REVIEW CARDS
   ========================= */

.dd-review-card-2026{
    position:relative;
    flex:0 0 380px;
    width:380px;
    min-height:220px;
    padding:25px;
    border:1px solid #eee;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 30px rgba(0,0,0,.06);
    display:flex;
    flex-direction:column;
    transition:transform .3s ease,
                box-shadow .3s ease,
                border-color .3s ease;
}

.dd-review-card-2026:hover{
    transform:translateY(-7px);
    border-color:#f2d803;
    box-shadow:0 18px 45px rgba(0,0,0,.1);
}

.dd-review-user-2026{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.dd-review-user-2026 img{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #f2d803;
    background:#f5f5f5;
}

.dd-review-user-2026 h3{
    margin:0 0 5px;
    font-size:17px;
    line-height:1.2;
    font-weight:600;
    color:#111;
}

.dd-review-stars-2026{
    font-size:16px;
    line-height:1;
    letter-spacing:1px;
    color:#f2d803;
}

.dd-review-rating-text-2026{
    position:absolute;
    top:24px;
    right:24px;
    padding:6px 10px;
    border-radius:8px;
    background:#111;
    color:#fff;
    font-size:12px;
    font-weight:700;
}

.dd-review-card-2026>p{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:#666;
}

/* =========================
   REVIEW MARQUEE
   ========================= */

@keyframes ddReviewLTR2026{
    from{transform:translateX(-50%)}
    to{transform:translateX(0)}
}

@keyframes ddReviewRTL2026{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

.animate-review-ltr,
.animate-review-rtl{
    display:flex;
    width:max-content;
    gap:20px;
    will-change:transform;
}

.animate-review-ltr{
    animation:ddReviewLTR2026 45s linear infinite;
}

.animate-review-rtl{
    animation:ddReviewRTL2026 45s linear infinite;
}

.animate-review-ltr:hover,
.animate-review-rtl:hover{
    animation-play-state:paused;
}

/* =========================
   MARQUEE
   ========================= */

@keyframes marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

.animate-marquee{
    display:flex;
    width:max-content;
    animation:marquee 25s linear infinite;
}

.animate-marquee:hover{
    animation-play-state:paused;
}

/* =========================
   PULSE
   ========================= */

@keyframes pulseGlow{
    0%,100%{opacity:1}
    50%{opacity:.7}
}

.pulse-glow{
    animation:pulseGlow 2.5s ease-in-out infinite;
}

/* =========================
   SCROLLBAR
   ========================= */

::-webkit-scrollbar{
    width:8px;
    height:8px;
}

::-webkit-scrollbar-track{
    background:#f1f5f9;
}

::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:4px;
}

::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}

/* =========================================================
   RESPONSIVE — 640px+
   ========================================================= */

@media(min-width:640px){

    .sm\:block{display:block}
    .sm\:inline{display:inline}
    .sm\:inline-block{display:inline-block}
    .sm\:flex{display:flex}
    .sm\:hidden{display:none}

    .sm\:flex-row{flex-direction:row}
    .sm\:flex-wrap{flex-wrap:wrap}

    .sm\:items-center{align-items:center}
    .sm\:justify-start{justify-content:flex-start}

    .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
    .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

    .sm\:gap-2{gap:.5rem}
    .sm\:gap-3{gap:.75rem}
    .sm\:gap-4{gap:1rem}
    .sm\:gap-5{gap:1.25rem}
    .sm\:gap-6{gap:1.5rem}
    .sm\:gap-8{gap:2rem}
    .sm\:gap-10{gap:2.5rem}

    .sm\:p-4{padding:1rem}
    .sm\:p-5{padding:1.25rem}
    .sm\:p-6{padding:1.5rem}
    .sm\:p-8{padding:2rem}
    .sm\:p-10{padding:2.5rem}
    .sm\:p-12{padding:3rem}

    .sm\:px-4{padding-left:1rem;padding-right:1rem}
    .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
    .sm\:px-8{padding-left:2rem;padding-right:2rem}

    .sm\:py-8{padding-top:2rem;padding-bottom:2rem}
    .sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}
    .sm\:py-12{padding-top:3rem;padding-bottom:3rem}
    .sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}
    .sm\:py-20{padding-top:5rem;padding-bottom:5rem}
    .sm\:py-24{padding-top:6rem;padding-bottom:6rem}

    .sm\:text-left{text-align:left}
    .sm\:text-2xl{font-size:1.5rem;line-height:2rem}
    .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
    .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
    .sm\:text-5xl{font-size:3rem;line-height:1}
    .sm\:text-base{font-size:1rem;line-height:1.5rem}
    .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
    .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}

    .sm\:rounded-xl{border-radius:.75rem}
    .sm\:rounded-2xl{border-radius:1rem}
    .sm\:rounded-3xl{border-radius:1.5rem}

    .sm\:w-auto{width:auto}
    .sm\:w-36{width:9rem}
}

/* =========================================================
   RESPONSIVE — 768px+
   ========================================================= */

@media(min-width:768px){

    .md\:block{display:block}
    .md\:inline{display:inline}
    .md\:hidden{display:none}
    .md\:grid{display:grid}

    .md\:flex-row{flex-direction:row}
    .md\:justify-start{justify-content:flex-start}

    .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
    .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}

    .md\:gap-6{gap:1.5rem}
    .md\:gap-8{gap:2rem}

    .md\:p-0{padding:0}
    .md\:p-6{padding:1.5rem}

    .md\:px-0{padding-left:0;padding-right:0}
    .md\:px-6{padding-left:1.5rem;padding-right:1.5rem}

    .md\:text-left{text-align:left}
    .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
    .md\:text-6xl{font-size:3.75rem;line-height:1}
}

/* =========================================================
   RESPONSIVE — 1024px+
   ========================================================= */

@media(min-width:1024px){

    .lg\:block{display:block}
    .lg\:inline{display:inline}
    .lg\:flex{display:flex}
    .lg\:hidden{display:none}

    .lg\:flex-row{flex-direction:row}
    .lg\:items-start{align-items:flex-start}
    .lg\:items-center{align-items:center}
    .lg\:items-end{align-items:flex-end}
    .lg\:justify-start{justify-content:flex-start}

    .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
    .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
    .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}

    .lg\:gap-4{gap:1rem}
    .lg\:gap-5{gap:1.25rem}
    .lg\:gap-6{gap:1.5rem}
    .lg\:gap-8{gap:2rem}
    .lg\:gap-10{gap:2.5rem}
    .lg\:gap-12{gap:3rem}
    .lg\:gap-16{gap:4rem}

    .lg\:p-12{padding:3rem}
    .lg\:p-16{padding:4rem}

    .lg\:px-8{padding-left:2rem;padding-right:2rem}
    .lg\:px-12{padding-left:3rem;padding-right:3rem}

    .lg\:py-20{padding-top:5rem;padding-bottom:5rem}

    .lg\:text-left{text-align:left}
    .lg\:text-5xl{font-size:3rem;line-height:1}
    .lg\:text-\[52px\]{font-size:52px}
    .lg\:text-\[64px\]{font-size:64px}
}

/* =========================================================
   RESPONSIVE — 1280px+
   ========================================================= */

@media(min-width:1280px){

    .xl\:inline{display:inline}
    .xl\:gap-6{gap:1.5rem}

    .xl\:px-5{
        padding-left:1.25rem;
        padding-right:1.25rem;
    }

    .xl\:py-2\.5{
        padding-top:.625rem;
        padding-bottom:.625rem;
    }

    .xl\:text-sm{
        font-size:.875rem;
        line-height:1.25rem;
    }

    .xl\:text-xs{
        font-size:.75rem;
        line-height:1rem;
    }
}

/* =========================================================
   MOBILE REVIEW FIX
   ========================================================= */

@media(max-width:767px){

    .dd-google-review-bar-2026{
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .dd-google-review-left-2026{
        width:100%;
    }

    .dd-all-reviews-btn-2026{
        width:100%;
    }

    .dd-review-card-2026{
        flex-basis:calc(100vw - 32px);
        width:calc(100vw - 32px);
        min-height:210px;
        padding:20px;
    }

    .dd-review-rating-text-2026{
        top:20px;
        right:20px;
    }
}

/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}
'''

path = "/mnt/data/dreamdesk-part-2-fresh-final.css"
with open(path, "w", encoding="utf-8") as f:
    f.write(css)

print(path)
print(f"{len(css):,} characters")
