/* Reference-led homepage: mobile is the base layout. */
.reference-homepage { background:#f5f7f0; color:#113c45; font-family:"Segoe UI",Arial,sans-serif; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.market-header { position:relative; display:flex; align-items:center; gap:10px; min-height:72px; padding:8px 16px; margin:auto; background:#ecf6fa; z-index:10; }
.market-header .logo { width:148px; height:48px; margin-right:auto; }
.market-header .logo img { width:155px; left:-5px; top:-33px; }
.mobile-account { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:700; white-space:nowrap; }
.mobile-account>a { display:flex; align-items:center; justify-content:center; min-height:44px; }
.market-header .join { background:#ff850d; color:#123b3f; padding:0 18px; border-radius:7px; text-decoration:none; font-weight:700; }
.reference-homepage .market-header .menu-toggle { display:flex; width:44px; height:44px; padding:10px 7px; align-items:center; justify-content:center; flex-shrink:0; }
.menu-toggle>span { width:25px; height:2px; background:#173f49; box-shadow:0 -7px #173f49,0 7px #173f49; }
.market-header nav { display:none; position:absolute; top:100%; left:12px; right:12px; background:#f2f8f4; padding:12px; border:1px solid #c1d2cb; border-radius:10px; box-shadow:0 10px 22px #173f4920; }
.market-header .menu-toggle[aria-expanded=true]+nav { display:flex; flex-direction:column; }
.market-header nav>a { padding:13px; font-size:15px; font-weight:600; }
.market-header nav .desktop-account { display:none; }
.market-screen { position:relative; background:#f5f7f0; margin:auto; }
.market-visual { position:relative; height:clamp(430px,125vw,730px); overflow:hidden; background:#eef7f7; }
.people-photo { display:block; position:absolute; inset:0; pointer-events:none; }
.people-photo img { display:block; width:100%; height:auto; mask-image:linear-gradient(#000 83%,transparent 100%); }
.market-copy { position:relative; z-index:1; width:53%; padding:15px 0 0 18px; }
.market-copy .eyebrow { display:none; }
.market-copy h1 { font-size:clamp(35px,10.6vw,64px); line-height:.98; letter-spacing:-1.8px; font-weight:800; margin:0 0 20px; }
.market-copy h1 .something { display:block; }
.market-copy h1 br { display:none; }
.market-copy h1 em { display:block; font-style:normal; color:#d24a06; text-decoration:underline; text-decoration-color:#ff8b24; text-underline-offset:6px; text-decoration-thickness:3px; }
.market-description { font-size:clamp(13px,3.55vw,18px); line-height:1.32; margin:0 0 8px; }
.market-sub { font-size:12px; line-height:1.35; color:#496975; margin:0; }
.handwritten { font-family:"Segoe Print","Bradley Hand",cursive; font-style:italic; font-weight:700; line-height:1.05; letter-spacing:-.8px; }
.hero-slogan { position:absolute; top:0; right:12px; margin:0; max-width:25%; text-align:center; font-size:clamp(15px,4.1vw,22px); transform:rotate(-7deg); }
.hero-slogan::after { content:""; display:block; width:55%; height:3px; margin:6px 0 0 auto; border-radius:50%; background:#ff942b; transform:rotate(-5deg); }
.desktop-slogan { display:none; }
.profession-label { position:absolute; z-index:2; border-radius:6px; padding:7px 9px; font-size:12px; font-weight:700; line-height:1.1; text-align:center; box-shadow:0 3px 8px #143f4412; }
.label-home { top:34%; right:9%; background:#fff0ce; transform:rotate(-8deg); }
.label-beauty { top:53%; left:4%; background:#f7d1e3; transform:rotate(-9deg); }
.label-tyres { top:76%; left:47%; background:#e0eafb; transform:rotate(-5deg); }
.label-cleaning { top:63%; right:4%; background:#e1f1d1; transform:rotate(-9deg); }
.label-digital { bottom:4%; right:3%; background:#e2e7fe; transform:rotate(-7deg); }
.market-controls { position:relative; z-index:3; margin:-8px 16px 0; }
.market-search { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto; border:1px solid #abc7c8; background:#fff; border-radius:11px; min-height:52px; box-shadow:0 5px 13px #1d596220; }
.market-search>div { display:flex; align-items:center; min-width:0; gap:6px; padding:0 9px; }
.market-search svg { display:block; width:17px; height:17px; flex-shrink:0; }
.market-search input { width:100%; min-width:0; font-size:16px; padding:8px 0; color:#123e48; border:0; background:transparent; }
.market-search input::placeholder { color:#657c8a; opacity:1; }
.place-input { border-left:1px solid #d7e2e3; margin:10px 0; }
.market-search button { background:#125259; color:#fff; font-size:14px; font-weight:700; border-radius:9px; padding:0 13px; display:flex; align-items:center; gap:8px; min-height:50px; }
.market-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.market-actions>a,.market-actions>button { display:flex; align-items:center; justify-content:center; gap:20px; padding:14px 10px; font-size:14px; font-weight:700; border-radius:9px; border:1px solid #b8cccc; background:#f6f7f0; min-height:48px; }
.market-actions .service-action { background:#ff963e; border-color:#ff963e; color:#103c43; }
.market-actions span { font-size:22px; line-height:1; }
.category-shortcuts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; margin:18px 12px; }
.category-shortcuts a { display:flex; flex-direction:column; align-items:center; gap:7px; font-size:12px; text-align:center; line-height:1.15; min-width:0; }
.shortcut-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; }
.shortcut-icon svg { width:23px; height:23px; }
.shortcut-icon.green { background:#dcefd1; }.shortcut-icon.blue { background:#d3ecfc; }.shortcut-icon.pink { background:#f5d1e2; }.shortcut-icon.lavender { background:#e0daf7; }.shortcut-icon.neutral { background:#e7ebe1; }
.market-trust { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:8px; margin:16px; padding:12px 8px; background:#eaf2ec; border-radius:10px; }
.market-trust>div { display:flex; align-items:center; gap:7px; }
.market-trust>div>span { display:grid; place-items:center; background:#176269; color:#eef6eb; border-radius:50%; width:27px; height:27px; flex-shrink:0; }
.market-trust svg { width:18px; height:18px; }.market-trust p { margin:0; font-size:12px; line-height:1.2; }
.market-signoff { text-align:center; font-size:clamp(19px,5vw,28px); margin:14px 12px 34px; }
.market-signoff::after { content:""; display:block; width:150px; height:4px; background:#f19535; border-radius:50%; margin:8px auto 0; transform:rotate(-6deg); }
.reference-homepage .paths { margin-top:28px; }
.category-shortcuts a:hover .shortcut-icon { outline:2px solid #577f75; outline-offset:3px; }
@media(max-width:359px) {
 .market-header { padding-inline:10px; gap:4px; }.market-header .logo { width:120px; height:42px; }.market-header .logo img { width:130px; top:-28px; }.mobile-account { gap:7px; font-size:12px; }.market-header .join { padding-inline:12px; }
 .market-copy { padding-left:14px; width:56%; }.market-description { font-size:13px; }.market-trust { gap:5px; padding:10px 6px; }.market-trust>div { flex-direction:column; align-items:flex-start; }.market-search>div { padding-inline:6px; gap:3px; }.market-search button { padding-inline:10px; }.market-search button span { display:none; }
}
@media(min-width:600px) and (max-width:899px) {
 .market-header,.market-screen { max-width:650px; }.market-copy { padding-top:28px; padding-left:26px; }.market-description { max-width:290px; }.market-sub { font-size:14px; }.profession-label { font-size:14px; }.market-controls { margin-inline:24px; }.market-search { min-height:60px; }.market-actions>a,.market-actions>button { min-height:54px; }.category-shortcuts { margin:22px; }.market-trust { padding:16px; margin:24px; }
}
@media(min-width:900px) {
 .reference-homepage { padding-top:22px; background:#edf4ed; }
 .market-header { width:calc(100% - 64px); max-width:1280px; min-height:72px; background:#163e41; color:#f0f7ed; border-radius:12px; padding:8px 22px; box-shadow:0 9px 20px #1c4d4724; }
 .mobile-account,.reference-homepage .market-header .menu-toggle { display:none; }
 .market-header .logo { width:158px; height:50px; }.market-header .logo img { width:167px; top:-35px; }
 .market-header nav { display:flex; align-items:center; gap:17px; position:static; padding:0; border:0; background:none; box-shadow:none; }
 .market-header nav>a { padding:12px 0; font-size:13px; white-space:nowrap; }.market-header nav .desktop-account { display:block; }.market-header nav .join { padding:12px 16px; background:#ffb85d; }.market-header nav .join span { margin-left:12px; }
 .market-screen { width:calc(100% - 64px); max-width:1280px; background:#edf4ed; }
 .market-visual { height:440px; background:#eef6f3; }
 .people-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; mask-image:linear-gradient(#000 83%,transparent 100%); }
 .market-copy { width:44%; padding:55px 0 0 20px; }.market-copy .eyebrow { display:block; font-size:10px; letter-spacing:1px; margin-bottom:17px; color:#386c65; }
 .market-copy h1 { font-size:clamp(43px,4.8vw,65px); line-height:1.01; letter-spacing:-2.6px; margin-bottom:26px; }.market-copy h1 .something { display:inline; }.market-copy h1 br { display:block; }.market-copy h1 em { display:inline; }
 .market-description { font-size:18px; max-width:420px; line-height:1.4; }.market-sub { font-size:13px; }.market-sub br { display:none; }
 .hero-slogan { top:16px; right:24px; font-size:24px; max-width:240px; }.mobile-slogan { display:none; }.desktop-slogan { display:inline; }
 .profession-label { font-size:13px; padding:8px 12px; }.label-home { top:25%; right:27%; }.label-beauty { top:51%; left:46%; }.label-tyres { top:58%; left:62%; }.label-cleaning { top:43%; right:2%; }.label-digital { bottom:19%; right:16%; }
 .market-controls { position:absolute; left:20px; top:365px; width:38%; margin:0; }.market-search { min-height:46px; grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) auto; }.market-search>div { padding:0 8px; }.market-search input { font-size:13px; padding:3px 0; }.market-search .place-input { margin:0; }.market-search button { min-height:44px; padding:0 11px; font-size:13px; }.market-actions { grid-template-columns:165px 135px; margin-top:20px; }.market-actions>a,.market-actions>button { min-height:46px; padding:10px; font-size:13px; }
 .category-shortcuts { position:absolute; left:15px; top:511px; width:42%; margin:0; gap:7px; }.shortcut-icon { width:34px; height:34px; }.shortcut-icon svg { width:20px; height:20px; }.category-shortcuts a { font-size:11px; }
 .market-trust { position:relative; width:53%; margin:141px 0 0 15px; padding:12px; background:#e4eee6; }.market-trust p { font-size:12px; }
 .market-signoff { position:absolute; right:10px; bottom:8px; width:42%; font-size:25px; margin:0; }
 .reference-homepage .paths { margin-top:36px; }
}
@media(min-width:900px) and (max-width:1099px) {
 .market-header { padding-inline:16px; }.market-header nav { gap:11px; }.market-header nav>a { font-size:12px; }.market-header .logo { width:135px; }.market-header .logo img { width:145px; top:-30px; }.market-copy { padding-top:45px; width:46%; }.market-description { font-size:16px; max-width:320px; }.market-controls { top:320px; width:40%; }.market-search>div { padding-inline:6px; }.market-search input { font-size:12px; }.market-search .place-input { margin:0; }.market-actions { grid-template-columns:155px 130px; }.hero-slogan { font-size:20px; }.market-trust { width:55%; }.market-signoff { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .reference-homepage * { scroll-behavior:auto; transition:none; } }

/* Phone input dimensions and portrait framing; desktop composition remains unchanged. */
@media(max-width:599px) {
 .reference-homepage { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
 .mobile-account>a { min-width:44px; }
 .market-visual { height:auto; aspect-ratio:9/16; }
 .people-photo img { height:100%; object-fit:cover; object-position:center top; }
 .market-copy { padding-bottom:12px; background:linear-gradient(90deg,#eef7f7ed,#eef7f7bb 78%,transparent); }
 .market-search { grid-template-columns:minmax(0,1fr) auto; }
 .market-search .query-input { grid-column:1/-1; min-height:48px; border-bottom:1px solid #d7e2e3; }
 .market-search input { min-height:48px; }
 .market-search .place-input { min-height:48px; margin:0; border-left:0; }
 .market-search button { min-width:96px; min-height:48px; justify-content:center; }
 .category-shortcuts a { min-height:72px; }
 .reference-homepage .text-link { min-height:44px; }
 .footer-main>div>a:not(.logo),.footer-main button { min-height:44px; display:flex; align-items:center; margin-block:2px; }
}

/* Category search and expansion controls remain comfortable on touch screens. */
.market-search input,#all-categories{min-height:44px}









