/* Urban Dry Cleaners — site styles (plugin pages, blog, gallery) */
:root{
  --navy-950:#0B1B32; --navy-900:#10233F; --navy-800:#17304F; --navy-700:#24446F;
  --gold-600:#8E6D24; --gold-500:#B98A2E; --gold-400:#CFA24A; --gold-100:#F3E8D0;
  --cream:#FAF8F4; --paper:#FFFFFF; --ink:#1D2430; --ink-soft:#4B5361; --line:#E4DFD3;
  --line-navy:rgba(255,255,255,.14);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --r-s:4px; --r-m:8px; --wrap:1180px;
}
.udc-site{ margin:0; font-family:var(--sans); color:var(--ink); background:var(--cream); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.udc-site *, .udc-site *::before, .udc-site *::after{ box-sizing:border-box; }
.udc-site img{ max-width:100%; height:auto; display:block; }
.udc-site a{ color:inherit; text-decoration:none; }
.udc-site address{ font-style:normal; }
.udc-site h1,.udc-site h2,.udc-site h3,.udc-site h4{ font-family:var(--serif); font-weight:600; color:var(--navy-900); line-height:1.15; margin:0 0 .5em; letter-spacing:0; }
.udc-site h2{ font-size:clamp(26px,3vw,36px); }
.udc-site h3{ font-size:21px; }
.udc-site p{ margin:0 0 1em; }
.udc-site :focus-visible{ outline:2px solid var(--gold-500); outline-offset:3px; }
.u-wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 24px; }
.u-narrow{ max-width:820px; }
.u-center{ text-align:center; justify-content:center; }
.u-muted{ color:var(--ink-soft); font-size:13.5px; }
@media (prefers-reduced-motion:reduce){ .udc-site *{ transition:none!important; animation:none!important; } }

/* Buttons */
.u-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; border-radius:var(--r-s); font:600 15px/1.2 var(--sans); border:1.5px solid transparent; cursor:pointer; transition:background .15s, border-color .15s, color .15s; white-space:nowrap; }
.u-btn svg{ width:18px; height:18px; flex-shrink:0; }
.u-btn-gold{ background:var(--gold-500); color:var(--navy-950)!important; }
.u-btn-gold:hover{ background:var(--gold-400); }
.u-btn-navy{ background:var(--navy-900); color:#fff!important; }
.u-btn-navy:hover{ background:var(--navy-700); }
.u-btn-line{ border-color:rgba(255,255,255,.55); color:#fff!important; background:transparent; }
.u-btn-line:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.u-box .u-btn-line, .u-sec-white .u-btn-line{ border-color:var(--navy-900); color:var(--navy-900)!important; }
.u-box-navy .u-btn-line{ border-color:rgba(255,255,255,.55); color:#fff!important; }
.u-btn-ghost{ border-color:var(--line); color:var(--navy-900)!important; background:#fff; }
.u-btn-sm{ padding:9px 15px; font-size:13.5px; }
.u-btn-block{ width:100%; margin-top:10px; }
.u-actions{ display:flex; flex-wrap:wrap; gap:12px; }

/* Header */
.u-header{ position:sticky; top:0; z-index:100; background:var(--paper); border-bottom:1px solid var(--line); }
.admin-bar .u-header{ top:32px; }
@media (max-width:782px){ .admin-bar .u-header{ top:46px; } }
.u-header-row{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:74px; }
.u-brand{ display:flex; align-items:center; gap:11px; flex-shrink:0; }
.u-brand img{ width:48px; height:48px; border-radius:50%; }
.u-brand strong{ display:block; font-family:var(--serif); font-size:20px; color:var(--navy-900); line-height:1.05; }
.u-brand small{ display:block; font-size:10.5px; letter-spacing:.12em; color:var(--gold-600); font-weight:600; text-transform:uppercase; }
.u-brand-light strong{ color:#fff; }
.u-nav > ul{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.u-nav > ul > li{ position:relative; }
.u-nav > ul > li > a{ display:block; padding:10px 9px; font-size:14.5px; font-weight:500; color:var(--ink-soft); border-radius:var(--r-s); }
.u-nav > ul > li > a:hover, .u-nav li:focus-within > a{ color:var(--navy-900); background:var(--cream); }
.has-mega > a::after, .has-drop > a::after{ content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-3px) rotate(45deg); }
.u-mega, .u-drop{ position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-m); box-shadow:0 18px 40px rgba(11,27,50,.14); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s, transform .15s, visibility .15s; }
.has-mega:hover .u-mega, .has-mega:focus-within .u-mega, .has-drop:hover .u-drop, .has-drop:focus-within .u-drop{ opacity:1; visibility:visible; transform:none; }
.u-mega{ left:50%; transform:translate(-50%,6px); width:min(940px,92vw); padding:24px; }
.has-mega:hover .u-mega, .has-mega:focus-within .u-mega{ transform:translate(-50%,0); }
.u-mega-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.u-mega-head{ display:block; font-family:var(--serif); font-size:18px; font-weight:700; color:var(--navy-900); padding-bottom:8px; margin-bottom:8px; border-bottom:2px solid var(--gold-500); }
.u-mega ul, .u-drop{ list-style:none; margin:0; padding:0; }
.u-mega li a{ display:block; padding:5px 0; font-size:13.5px; color:var(--ink-soft); }
.u-mega li a:hover{ color:var(--gold-600); }
.u-drop{ min-width:250px; padding:10px; }
.u-drop-right{ left:auto; right:0; min-width:180px; }
.u-drop li a{ display:block; padding:7px 10px; font-size:14px; color:var(--navy-900); border-radius:var(--r-s); }
.u-drop li.sub a{ padding-left:24px; color:var(--ink-soft); font-size:13.5px; }
.u-drop li a:hover{ background:var(--cream); }
.u-head-cta{ display:flex; align-items:center; gap:10px; }
.u-burger{ display:none; width:44px; height:44px; border:1px solid var(--line); background:#fff; border-radius:var(--r-s); cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.u-burger span{ display:block; width:20px; height:2px; background:var(--navy-900); }
.u-mobile{ position:fixed; inset:0; z-index:200; background:var(--navy-950); overflow-y:auto; padding:84px 24px 40px; }
.u-mobile-inner{ max-width:520px; margin:0 auto; }
.u-mobile a, .u-mobile summary{ display:block; padding:14px 0; color:#fff; font-family:var(--serif); font-size:22px; border-bottom:1px solid var(--line-navy); cursor:pointer; }
.u-mobile details a{ font-family:var(--sans); font-size:15px; padding:10px 0 10px 12px; color:rgba(255,255,255,.85); }
.u-mobile details a.sub{ padding-left:28px; font-size:14px; color:rgba(255,255,255,.65); }
.u-mobile summary{ list-style:none; }
.u-mobile summary::after{ content:"+"; float:right; color:var(--gold-400); }
.u-mobile details[open] summary::after{ content:"–"; }
.u-mobile-cta{ display:grid; gap:12px; margin-top:28px; }
.u-mobile-cta a{ font-family:var(--sans); font-size:15px; border:0; }
.u-mclose{ position:fixed; top:14px; right:18px; width:46px; height:46px; border:1px solid var(--line-navy); border-radius:50%; background:transparent; color:#fff; font-size:30px; line-height:1; cursor:pointer; z-index:5; }
@media (max-width:1180px){ .u-nav{ display:none; } .u-burger{ display:flex; } }
@media (max-width:1320px){ .u-head-cta .u-hide-sm{ padding:9px 12px; font-size:13px; } }
@media (max-width:600px){ .u-hide-sm{ display:none!important; } .u-brand small{ display:none; } }

/* Breadcrumb */
.u-crumbs{ background:var(--navy-950); color:rgba(255,255,255,.6); font-size:13px; padding-top:14px; }
.u-crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; }
.u-crumbs li+li::before{ content:"›"; margin:0 8px 0 4px; color:var(--gold-400); }
.u-crumbs a{ color:rgba(255,255,255,.82); }
.u-crumbs a:hover{ color:#fff; text-decoration:underline; }
.u-crumbs li[aria-current]{ color:rgba(255,255,255,.6); }

/* Hero */
.u-hero{ background:linear-gradient(160deg,var(--navy-950) 0%,var(--navy-900) 60%,var(--navy-800) 100%); color:#fff; padding:44px 0 64px; }
.u-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.u-hero h1{ color:#fff; font-size:clamp(32px,4.2vw,52px); max-width:18ch; }
.u-kicker{ display:flex; align-items:center; gap:10px; color:var(--gold-400); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
.u-kicker::before{ content:""; width:28px; height:1px; background:var(--gold-400); }
.u-sub{ color:rgba(255,255,255,.8); font-size:18px; max-width:46ch; margin-bottom:28px; }
.u-trust{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px; margin:28px 0 0; padding:0; font-size:14px; color:rgba(255,255,255,.85); }
.u-trust li{ display:flex; align-items:center; gap:8px; }
.u-trust svg{ width:17px; height:17px; color:var(--gold-400); }
.u-hero-img{ border-radius:var(--r-m); overflow:hidden; border:1px solid var(--line-navy); aspect-ratio:4/3.2; background:var(--navy-800); }
.u-hero-img img{ width:100%; height:100%; object-fit:cover; }
.u-hero-compact{ padding:36px 0 48px; }
.u-hero-compact .u-hero-grid{ grid-template-columns:1fr; }
.u-hero-compact h1{ max-width:24ch; }
.u-post-meta{ font-size:15px; margin:0; }
@media (max-width:900px){ .u-hero-grid{ grid-template-columns:1fr; } .u-hero-img{ order:-1; aspect-ratio:16/9; } }

/* Sections */
.u-sec{ padding:64px 0; }
.u-sec-white{ background:var(--paper); }
.u-sec-cream{ background:var(--cream); border-top:1px solid var(--line); }
.u-sec-navy{ background:var(--navy-900); }
.u-sec-head{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; }
.u-sec-head a{ color:var(--gold-600); font-weight:600; font-size:14.5px; }
@media (max-width:640px){ .u-sec{ padding:44px 0; } }
.u-two{ display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:56px; align-items:start; }
@media (max-width:920px){ .u-two{ grid-template-columns:1fr; gap:36px; } }
.u-side{ display:grid; gap:20px; position:sticky; top:100px; }
@media (max-width:920px){ .u-side{ position:static; } }
.u-box{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r-m); padding:24px; }
.u-sec-white .u-box{ background:var(--cream); }
.u-box h3{ margin-bottom:12px; }
.u-box p{ font-size:14.5px; margin-bottom:6px; }
.u-box address{ font-size:14.5px; color:var(--ink-soft); margin-bottom:8px; }
.u-box a:not(.u-btn){ color:var(--navy-900); font-weight:600; }
.u-box-navy{ background:var(--navy-900)!important; border-color:var(--navy-900); color:#fff; }
.u-box-navy h3{ color:#fff; }
.u-box-navy p{ color:rgba(255,255,255,.78); }
.u-box-flat{ background:#fff!important; }
.u-links{ list-style:none; margin:0; padding:0; }
.u-links li{ border-bottom:1px solid var(--line); }
.u-links a{ display:block; padding:9px 0; font-size:14.5px; }
.u-links a:hover{ color:var(--gold-600)!important; }

/* Prose (editable page text + blog posts) */
.u-prose{ font-size:16.5px; color:var(--ink-soft); line-height:1.75; min-width:0; }
.u-prose > *:first-child{ margin-top:0; }
.u-prose h2{ margin-top:1.6em; font-size:clamp(24px,2.6vw,32px); }
.u-prose h3{ margin-top:1.4em; }
.u-prose p, .u-prose li{ max-width:70ch; }
.u-prose ul, .u-prose ol{ padding-left:1.3em; margin:0 0 1.2em; }
.u-prose li{ margin-bottom:.4em; }
.u-prose a{ color:var(--navy-900); border-bottom:1px solid var(--gold-500); }
.u-prose a:hover{ color:var(--gold-600); }
.u-prose strong{ color:var(--ink); }
.u-prose blockquote{ margin:1.5em 0; padding:4px 0 4px 20px; border-left:3px solid var(--gold-500); font-family:var(--serif); font-size:21px; color:var(--navy-900); }
.u-prose img, .u-prose figure{ border-radius:var(--r-m); margin:1.5em 0; }
.u-prose figcaption{ font-size:13px; color:var(--ink-soft); margin-top:6px; }
.u-prose table{ width:100%; border-collapse:collapse; margin:1.2em 0; font-size:15px; }
.u-prose th, .u-prose td{ border-bottom:1px solid var(--line); padding:10px 8px; text-align:left; }
.u-prose .alignleft{ float:left; margin:0 24px 16px 0; max-width:50%; }
.u-prose .alignright{ float:right; margin:0 0 16px 24px; max-width:50%; }
.u-prose .aligncenter{ margin-left:auto; margin-right:auto; }
.u-feature{ width:100%; border-radius:var(--r-m); margin-bottom:28px; }

/* Cards */
.u-cards{ display:grid; gap:18px; }
.u-cols-3{ grid-template-columns:repeat(3,1fr); }
.u-cols-4{ grid-template-columns:repeat(4,1fr); }
.u-cols-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:980px){ .u-cols-3, .u-cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .u-cols-3, .u-cols-4, .u-cols-2{ grid-template-columns:1fr; } }
.u-card{ position:relative; display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; transition:border-color .15s, transform .15s; }
.u-card:hover{ border-color:var(--gold-500); transform:translateY(-2px); }
.u-card img{ width:100%; height:170px; object-fit:cover; }
.u-card-body{ display:flex; flex-direction:column; gap:6px; padding:20px 20px 52px; }
.u-card-body strong{ font-family:var(--serif); font-size:21px; color:var(--navy-900); line-height:1.2; }
.u-card-body > span:not(.u-card-go){ font-size:14px; color:var(--ink-soft); }
.u-card-body em{ font-style:normal; font-size:12.5px; font-weight:600; color:var(--gold-600); }
.u-card-go{ position:absolute; right:16px; bottom:14px; width:30px; height:30px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--navy-900); }
.u-card-go svg{ width:15px; height:15px; }
.u-card:hover .u-card-go{ background:var(--gold-500); border-color:var(--gold-500); }

/* Price table */
.u-price{ width:100%; border-collapse:collapse; }
.u-price td{ padding:11px 4px; border-bottom:1px solid var(--line); font-size:15px; }
.u-price td:last-child{ text-align:right; font-family:var(--serif); font-size:17px; font-weight:700; color:var(--navy-900); white-space:nowrap; }

/* FAQ */
.u-faq details{ border-bottom:1px solid var(--line); }
.u-faq summary{ list-style:none; cursor:pointer; padding:20px 36px 20px 0; position:relative; font-family:var(--serif); font-size:19px; font-weight:600; color:var(--navy-900); }
.u-faq summary::-webkit-details-marker{ display:none; }
.u-faq summary::after{ content:"+"; position:absolute; right:4px; top:16px; font:400 26px/1 var(--sans); color:var(--gold-500); }
.u-faq details[open] summary::after{ content:"–"; }
.u-faq details p{ color:var(--ink-soft); padding-bottom:20px; margin:0; max-width:68ch; }

/* Chips */
.u-chips{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; padding:0; }
.u-chips a{ display:inline-block; padding:8px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:14px; color:var(--navy-900); }
.u-chips a:hover{ border-color:var(--gold-500); }

/* Branch cards + map */
.u-branches{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:820px){ .u-branches{ grid-template-columns:1fr; } }
.u-branch{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; }
.u-branch > img{ width:100%; height:220px; object-fit:cover; }
.u-branch-body{ padding:24px; }
.u-tag{ display:inline-block; background:var(--gold-100); color:var(--gold-600); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:999px; }
.u-branch address{ color:var(--ink-soft); margin-bottom:10px; }
.u-ph{ font-size:14.5px; margin-bottom:4px; }
.u-ph a{ color:var(--navy-900); font-weight:600; }
.u-branch .u-actions{ margin-top:16px; }
.u-map{ position:relative; aspect-ratio:16/10; border-top:1px solid var(--line); }
.u-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.u-map-wide{ aspect-ratio:21/9; border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; }
@media (max-width:700px){ .u-map-wide{ aspect-ratio:4/3; } }

/* Offers */
.u-offers{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:32px; }
@media (max-width:900px){ .u-offers{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .u-offers{ gap:10px; } .u-offer{ padding:18px 10px; } .u-offer-price{ font-size:32px; } }
.u-offer{ border:1px solid var(--gold-500); border-radius:var(--r-m); padding:28px 18px; text-align:center; background:rgba(255,255,255,.04); }
.u-offer-price{ font:700 42px/1 var(--serif); color:var(--gold-400); margin-bottom:12px; }
.u-offer-what{ color:#fff; font-weight:600; }
.u-offer-note{ color:rgba(255,255,255,.55); font-size:13px; margin:0; }

/* Booking form */
.u-form{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r-m); padding:26px; display:grid; gap:12px; scroll-margin-top:110px; }
.u-form label{ display:grid; gap:6px; font-size:14px; font-weight:600; color:var(--navy-900); }
.u-form input, .u-form textarea, .u-form select{ font:400 15px var(--sans); padding:11px 12px; border:1px solid var(--line); border-radius:var(--r-s); background:var(--cream); color:var(--ink); width:100%; }
.u-form input:focus, .u-form textarea:focus, .u-form select:focus{ outline:2px solid var(--gold-400); border-color:var(--gold-400); }
.u-form-err{ color:#b42318; font-size:14px; margin:0; }

/* Blog */
.u-posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:980px){ .u-posts{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .u-posts{ grid-template-columns:1fr; } }
.u-post{ display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; transition:border-color .15s; }
.u-post:hover{ border-color:var(--gold-500); }
.u-post img{ width:100%; height:190px; object-fit:cover; }
.u-post-ph{ height:190px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--navy-900),var(--navy-700)); color:var(--gold-400); font:600 20px var(--serif); }
.u-post-body{ display:flex; flex-direction:column; gap:8px; padding:20px; }
.u-post-body em{ font-style:normal; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-600); }
.u-post-body strong{ font:600 21px/1.2 var(--serif); color:var(--navy-900); }
.u-post-body span{ font-size:14.5px; color:var(--ink-soft); }
.u-post-body small{ font-size:12.5px; color:var(--ink-soft); }
.u-pager ul{ list-style:none; display:flex; gap:8px; justify-content:center; padding:0; margin:36px 0 0; }
.u-pager a, .u-pager span{ display:inline-flex; min-width:40px; height:40px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--r-s); background:#fff; }
.u-pager .current{ background:var(--navy-900); color:#fff; border-color:var(--navy-900); }

/* Gallery */
.u-filter{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.u-filter button{ font:600 14px var(--sans); padding:9px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; cursor:pointer; color:var(--navy-900); }
.u-filter button.is-on{ background:var(--navy-900); color:#fff; border-color:var(--navy-900); }
.u-gallery{ columns:3 260px; column-gap:16px; }
.u-gallery figure{ break-inside:avoid; margin:0 0 16px; border-radius:var(--r-m); overflow:hidden; background:var(--cream); border:1px solid var(--line); }
.u-gallery figure[hidden]{ display:none; }
.u-gallery img{ width:100%; transition:transform .25s; }
.u-gallery a:hover img{ transform:scale(1.03); }
.u-gallery figcaption{ font-size:13.5px; color:var(--ink-soft); padding:10px 12px; }
.u-lightbox{ position:fixed; inset:0; z-index:300; background:rgba(8,16,30,.94); display:flex; align-items:center; justify-content:center; padding:40px 70px; }
.u-lightbox[hidden]{ display:none; }
.u-lightbox img{ max-height:82vh; max-width:100%; border-radius:var(--r-s); }
.u-lightbox button{ position:absolute; background:none; border:0; color:#fff; font-size:44px; cursor:pointer; padding:10px; line-height:1; }
.u-lb-close{ top:10px; right:18px; }
.u-lb-prev{ left:10px; top:50%; transform:translateY(-50%); }
.u-lb-next{ right:10px; top:50%; transform:translateY(-50%); }
.u-lb-cap{ position:absolute; bottom:16px; left:0; right:0; text-align:center; color:rgba(255,255,255,.8); font-size:14px; margin:0; }

/* Sitemap */
.u-sitemap{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; }
.u-sitemap ul{ list-style:none; padding-left:0; margin:0; }
.u-sitemap ul ul{ padding-left:20px; border-left:1px dashed var(--line); margin:4px 0 8px 6px; }
.u-sitemap li{ padding:4px 0; }
.u-sitemap a{ color:var(--navy-900); }
.u-sitemap a:hover{ color:var(--gold-600); }
@media (max-width:760px){ .u-sitemap{ grid-template-columns:1fr; } }

/* CTA + footer */
.u-cta{ background:linear-gradient(135deg,var(--navy-950),var(--navy-800)); text-align:center; padding:72px 0; color:#fff; }
.u-cta h2{ color:#fff; }
.u-cta p{ color:rgba(255,255,255,.75); max-width:52ch; margin:0 auto 28px; }
.u-footer{ background:var(--navy-950); color:rgba(255,255,255,.72); font-size:14.5px; padding:60px 0 24px; }
.u-foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.3fr; gap:36px; margin-bottom:40px; }
@media (max-width:900px){ .u-foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .u-foot-grid{ grid-template-columns:1fr; } }
.u-footer h4{ color:#fff; font:600 13px var(--sans); letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.u-footer ul{ list-style:none; margin:0; padding:0; }
.u-footer li{ margin-bottom:9px; }
.u-footer a:hover{ color:#fff; }
.u-footer .u-brand{ margin-bottom:14px; }
.u-social a{ margin-right:14px; color:var(--gold-400); }
.u-foot-branch strong{ color:var(--gold-400); }
.u-foot-branch a{ color:#fff; }
.u-foot-bottom{ border-top:1px solid var(--line-navy); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:rgba(255,255,255,.5); }
.u-sticky{ display:none; position:fixed; bottom:0; left:0; right:0; z-index:150; background:#fff; border-top:1px solid var(--line); box-shadow:0 -6px 20px rgba(11,27,50,.1); grid-template-columns:repeat(3,1fr); }
.u-sticky a{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 4px 11px; font-size:11.5px; font-weight:600; color:var(--navy-900); }
.u-sticky svg{ width:20px; height:20px; }
.u-sticky .wa{ color:#128C4B; }
.u-sticky .bk{ color:var(--gold-600); }
.u-float-wa{ position:fixed; right:24px; bottom:24px; z-index:150; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.25); }
.u-float-wa svg{ width:28px; height:28px; }
@media (max-width:900px){ .u-sticky{ display:grid; } .udc-site{ padding-bottom:62px; } .u-float-wa{ display:none; } }

/* Home v2 */
.u-steps{ list-style:none; counter-reset:st; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:28px 0 0; padding:0; }
.u-steps li{ counter-increment:st; position:relative; padding-top:54px; }
.u-steps li::before{ content:counter(st); position:absolute; top:0; left:0; width:40px; height:40px; border:1px solid var(--gold-500); border-radius:50%; display:flex; align-items:center; justify-content:center; font:700 17px var(--serif); color:var(--gold-600); }
.u-steps strong{ display:block; font:600 20px var(--serif); color:var(--navy-900); margin-bottom:4px; }
.u-steps span{ font-size:14.5px; color:var(--ink-soft); }
@media (max-width:900px){ .u-steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .u-steps{ grid-template-columns:1fr; } }
.u-gallery-strip{ columns:3 220px; }
