/* Clyvio: guest requests, contextual questions and responsive discovery. */
.mobile-menu,.mobile-project-head{display:none}
.home-how{display:inline-block;font-size:14px}
.guest-request{padding-top:28px;padding-bottom:40px}
.guest-intro{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 18px;margin:0 0 24px;background:var(--teal-soft);border-radius:6px;font-size:14px}
.guest-intro .link{margin-left:auto}
.guest-intro .badge{background:#fff;color:var(--teal)}
.request-create{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:32px}
.request-form{padding:28px}
.request-form h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:19px}
.step-number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:14px;flex-shrink:0}
.form-footnote{text-align:center;margin-bottom:0}
.guest-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;max-width:1080px;padding-top:52px;padding-bottom:56px;align-items:start}
.guest-story h1{font-size:38px;line-height:1.2;font-weight:500}
.guest-story>p{color:var(--muted)}
.guest-panel{min-width:0;padding:30px}
.guest-panel h2{font-size:25px}
.guest-panel p{overflow-wrap:anywhere}
.guest-secondary{display:block;text-align:center;margin-top:20px}
.guest-next{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.guest-activation .check{margin:18px 0}
.success-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);margin-bottom:20px}
.success-mark .icon{width:26px;height:26px}
.guest-login-link{border:1px solid var(--line);padding:12px;border-radius:5px}
.request-questions{margin:24px 0}
.request-questions h2{font-size:21px;margin:0 0 8px}
.request-questions>.row{align-items:start;flex-wrap:wrap}
.request-questions>.muted{font-size:14px}
.request-questions .eyebrow{margin-top:0;margin-bottom:6px}
.question-thread{border:1px solid var(--line);border-radius:5px;padding:14px 16px;background:#fbfcfc}
.question-thread summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;list-style:none}
.question-thread summary::after{content:'+';font-size:22px;font-weight:400;color:var(--teal)}
.question-thread[open] summary::after{content:'−'}
.question-thread summary .fine{display:inline}
.question-thread summary::-webkit-details-marker{display:none}
.thread-status{color:var(--teal);font-size:12px;font-weight:400;margin-left:auto}
.question-answer{border-top:1px solid #e8eded;padding:12px 0}
.question-answer p{margin:6px 0;font-size:14px}
.question-answer textarea{min-height:80px}
.answer-text{padding-left:12px;border-left:3px solid #b9dcd8}
.ask-questions{border-top:1px solid var(--line);padding-top:18px}
.ask-questions summary{color:var(--teal);font-size:14px}
.ask-questions textarea{min-height:70px}
.question-link{margin-top:10px}
.recommend-context{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--soft);padding:20px 24px;border-radius:6px;margin-bottom:24px}
.recommend-context h2{font-size:20px;margin:4px 0}
.recommend-context p{font-size:14px;color:var(--muted);margin:0}
.recommend-context .badge{white-space:normal;text-align:center;background:#fff}
.recommend-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}
.recommend-shortcuts .chip{border-radius:24px}
.professional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.professional-card{display:flex;flex-direction:column;min-width:0;padding:22px;transition:border-color .15s}
.professional-card:hover{border-color:#9abfc1}
.professional-card.is-selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.professional-card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}
.professional-card .identity{align-items:start}
.professional-card .identity h3{font-size:16px}
.professional-zone{display:flex;align-items:start;gap:7px;font-size:13px;color:var(--muted);margin:18px 0 12px;overflow-wrap:anywhere}
.professional-zone .icon{width:17px;height:17px;margin-top:2px}
.specialty-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:start}
.specialty-tags>span{padding:5px 9px;background:var(--soft);border-radius:4px;font-size:12px;overflow-wrap:anywhere;max-width:100%}
.professional-rating{margin:18px 0}
.professional-rating .rating{color:#89601e}
.more-specialties{font-size:12px;color:var(--muted)}
.more-specialties summary{font-weight:400}
.match-label{display:flex;align-items:center;gap:6px;color:var(--teal);font-size:12px;margin:0 0 12px}
.match-label .icon{width:16px;height:16px}
.already-recommended{display:block;border:1px solid var(--line);padding:12px 8px;text-align:center;border-radius:4px;font-size:12px;color:var(--muted)}
.professional-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:36px;border-color:var(--teal);margin-bottom:28px;scroll-margin-top:20px;background:#fcfefe}
.professional-selection label{margin-top:0}
.professional-selection h2{font-size:22px}
.professional-selection .identity{margin-top:20px}
.professional-filters>div:first-of-type{flex:1.4}
.workspace,.market-detail>*,.split>*,.formgrid>*,.row>*,.grid>*,.identity>div{min-width:0}
.card,.notice,.request-info,.breadcrumbs,.professional-selection{overflow-wrap:anywhere}
.badge{max-width:100%;white-space:normal}
.tablewrap{max-width:100%;overscroll-behavior-x:contain}
.check input{flex-shrink:0}
.pagination{flex-wrap:wrap}
details>summary:focus-visible{outline:3px solid #88c9cb;outline-offset:4px;border-radius:3px}
@media(max-width:1100px){
 .request-create{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:22px}
 .professional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .professional-card{padding:20px}
 .request-form{padding:22px}
}
@media(max-width:1024px){
 .header-main{position:relative;display:grid;grid-template-columns:1fr auto;height:auto;min-height:0;gap:10px 16px;padding-top:12px;padding-bottom:12px}
 .header-main>.brand{justify-self:start;font-size:30px}
 .header-actions{display:none}
 .global-search{grid-row:2;grid-column:1/-1;order:initial;margin:0;width:100%;min-width:0;height:42px}
 .global-search input{flex:1;width:0;min-width:0;font-size:16px}
 .global-search select{height:42px;width:105px}
 .search-submit{min-width:42px;min-height:42px}
 .mobile-menu{display:block;grid-row:1;grid-column:2;position:static;margin:0}
 .mobile-menu>summary{width:44px;height:40px;display:grid;place-items:center;list-style:none;border-radius:4px;color:var(--muted)}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu[open]>summary{background:var(--soft)}
 .menu-lines{width:21px;height:15px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative;display:block}
 .menu-lines::after{content:'';position:absolute;top:6px;left:0;width:21px;border-top:1px solid currentColor}
 .mobile-menu>nav{position:absolute;z-index:20;top:58px;right:24px;left:24px;max-width:430px;margin-left:auto;padding:16px;display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 24px #17343a1f}
 .mobile-menu>nav>a:not(.btn){padding:12px 10px;font-size:15px}
 .mobile-menu>nav>.inline{display:block;margin:4px 0}.mobile-menu>nav>.inline button{width:100%;min-height:44px}
 .category-nav{border-top:0}
 .category-nav .wrap{gap:8px;padding-top:0;padding-bottom:10px;scrollbar-width:none}
 .category-nav .wrap::-webkit-scrollbar{display:none}
 .category-nav a,.category-nav a:first-child{padding:8px 14px;font-size:13px;border:1px solid #bdc7c9;border-radius:24px;min-height:36px;flex:none}
 .category-nav a[aria-current=page]{box-shadow:none;background:var(--teal-soft);border-color:var(--teal)}
 .market-detail,.split{gap:24px;grid-template-columns:minmax(0,1fr)}
 .request-create>.detail-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .request-create>.detail-aside>.wf-callback{grid-column:1/-1}
 .guest-layout{gap:32px;padding-top:36px}
 .guest-story h1{font-size:32px}
 .home-detail{position:relative;display:block}
 .home-detail .discovery-gallery{grid-template-columns:1fr;grid-template-rows:360px;border-radius:6px}
 .home-detail .discovery-gallery a:not(:first-child){display:none}
 .home-detail .discovery-main{grid-row:auto}
 .home-detail .discovery-main span{display:none}
 .home-detail .gallery-caption,.home-detail .breadcrumbs{display:none}
 .home-detail .detail-aside{display:flex;margin:-40px 18px 0;position:relative;gap:20px}
 .home-detail .summary-card{padding:26px 30px;text-align:center;border-radius:9px;background:#fff;box-shadow:0 2px 10px #17343a0a}
 .home-detail .summary-card h1{font-size:25px;max-width:520px;margin:0 auto 10px}
 .home-detail .summary-card>.muted{max-width:520px;margin:0 auto 12px}
 .home-detail .summary-card .value-highlight,.home-detail .home-extra{display:none}
 .home-detail .home-how{margin-top:8px}
 .home-detail .vertical-actions{max-width:480px;margin:18px auto 0}
 .home-detail .reassurance{text-align:left}
 .home-detail .btn{min-height:44px}
 .sidebar{scrollbar-width:none;padding-top:12px;padding-bottom:12px}
 .sidebar::-webkit-scrollbar{display:none}
 .mobile-project-head{display:block;margin:0 0 22px}
 .mobile-project-head h1{font-size:26px;margin-bottom:8px}
 .mobile-project-head p{color:var(--muted);font-size:14px}
 .mobile-project-head .link{font-size:13px}
 .project-detail .summary-card h1{display:none}
 .sidebar a{min-height:44px;display:flex;align-items:center;white-space:nowrap}
 .formgrid input,.formgrid select{min-width:0}
 .row{flex-wrap:wrap}
}
@media(max-width:680px){
 .wrap,.shell{padding-left:16px;padding-right:16px}
 .header-main{padding:7px 12px 10px;gap:5px 12px}
 .header-main>.brand{font-size:28px}
 .mobile-menu>nav{left:12px;right:12px;top:50px;max-width:none}
 .category-nav .wrap{padding-left:12px;padding-right:12px;gap:7px}
 .category-nav a,.category-nav a:first-child{font-size:12px;padding:7px 12px}
 .market-home{padding-top:0}
 .home-detail{margin:0 -16px}
 .home-detail .discovery-gallery{grid-template-rows:275px;border-radius:0}
 .home-detail .detail-aside{margin:-32px 12px 0;gap:22px}
 .home-detail .summary-card{padding:24px 20px 26px;border-color:transparent;box-shadow:none}
 .home-detail .summary-card h1{font-size:23px}
 .home-detail .summary-card>.muted{font-size:14px}
 .home-detail .summary-card .fine{font-size:12px}
 .home-detail .reassurance{font-size:12px}
 .home-detail .vertical-actions{margin-top:16px}
 .home-detail .home-how{font-size:14px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .service-cover{height:auto;aspect-ratio:4/3}
 .service-card h3{font-size:15px}
 .service-card p{font-size:12px}
 .section-heading{align-items:start;gap:8px}
 .section-heading h2{font-size:20px;flex-basis:100%;margin:0}
 .section-heading .link{font-size:13px}
 .request-create>.detail-aside{display:flex}
 .request-form{padding:18px}
 .request-form h2{font-size:18px}
 .formgrid{grid-template-columns:minmax(0,1fr)}
 .form-section{margin-bottom:20px;padding-bottom:20px}
 .form-section .wide{grid-column:auto}
 .request-form input,.request-form select,.request-form textarea,.guest-panel input,.filterbar input,.filterbar select,.question-answer textarea,.ask-questions textarea,.professional-selection textarea{font-size:16px}
 .request-form .upload-zone input{font-size:12px;max-width:100%;min-width:0}
 .upload-zone{padding:18px 10px}
 button,.btn,.btn.small{min-height:44px}
 .wf-voice button{width:100%;font-size:14px}
 .guest-intro{align-items:start;padding:14px;font-size:13px;gap:10px}
 .guest-intro .link{margin-left:0}
 .guest-layout{display:flex;flex-direction:column-reverse;gap:28px;padding-top:24px;padding-bottom:32px}
 .guest-layout>*{width:100%}
 .guest-story h1{font-size:26px}
 .guest-story{padding:0 6px}
 .guest-panel{padding:22px 18px}
 .guest-panel h2{font-size:24px}
 .professional-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .professional-card{padding:20px}
 .professional-card .identity h3{font-size:17px}
 .professional-selection{grid-template-columns:minmax(0,1fr);gap:24px;padding:20px}
 .recommend-context{flex-direction:column;align-items:start;padding:18px;gap:12px}
 .professional-filters{display:grid;grid-template-columns:minmax(0,1fr);padding:16px}
 .professional-filters>div{min-width:0}
 .professional-filters button{width:100%}
 .request-questions{padding:18px}
 .question-thread{padding:12px}
 .question-thread summary{flex-wrap:wrap;gap:4px 10px}
 .question-thread summary>span:first-child{flex-basis:100%}
 .thread-status{margin-left:0;margin-right:auto}
 .question-answer textarea{width:100%}
 .question-thread button,.ask-questions button{width:100%}
 .request-grid{grid-template-columns:minmax(0,1fr)}
 .requests-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .requests-filters>div{min-width:0}
 .requests-filters>div:first-of-type,.requests-filters>button{grid-column:1/-1}
 .subnav{gap:8px}.subnav .chip{padding:10px 12px}
 .pagination span{flex-basis:100%;text-align:center;margin:8px 0 0}
 .pagination a{min-width:44px;min-height:44px;text-align:center}
 .footer nav{gap:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.professional-card{transition:none}}

/* Navigation remains available without covering the document flow. */
.market-header{position:sticky;top:0;z-index:100;background:#fff}
html{scroll-padding-top:170px}
.mobile-action-bar{display:none}
@media(max-width:1024px){
body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
.mobile-action-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid var(--line);padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
.mobile-action-bar .btn{min-height:44px;padding:10px 8px;font-size:14px}
.market-header .category-nav{display:none}
html{scroll-padding-top:125px}
.project-detail .gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px}
.project-detail .gallery-count-1{height:380px;display:block}
.project-detail .gallery-count-2{grid-template-columns:1fr 1fr;grid-template-rows:380px}
.project-detail .gallery-tile:first-child{grid-column:auto;grid-row:span 2}
.project-detail .gallery-count-2 .gallery-tile:first-child{grid-row:auto}
}
@media(max-width:520px){.project-detail .gallery{grid-template-rows:145px 145px}.project-detail .gallery-count-1{height:290px}.project-detail .gallery-count-2{grid-template-rows:290px}}
