@font-face{font-family:Inter;src:url('/fonts/inter.woff2') format('woff2');font-display:swap}
@font-face{font-family:Playfair;src:url('/fonts/playfair.woff2') format('woff2');font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#111;background:#b8b8b8;font-synthesis:none;--gold:#d3af63;--gold-ink:#5d4315;--ink:#0c0c0c;--paper:#fff;--line:#d3d3d3;--usable-height:100dvh}
*{box-sizing:border-box}
body{margin:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71531d;outline-offset:3px}
button:disabled{cursor:default}
.app-frame{height:100svh;height:var(--usable-height,100dvh);min-height:540px;max-width:1600px;margin:auto;padding:0 clamp(18px,3.2vw,52px);display:grid;grid-template-rows:72px minmax(0,1fr) 34px;gap:0}
.mast{display:flex;align-items:center;justify-content:space-between;gap:15px}
.mast-actions{display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#181818;font-size:20px;letter-spacing:.2em;font-weight:600;line-height:1}
.brand img{object-fit:contain}
.brand small{display:block;font-size:7px;letter-spacing:.36em;margin-top:6px}
.preview-label{font-size:9px;letter-spacing:.07em;color:#3e3e3e}
.preview-label b{margin-left:6px}
.quote-close{height:38px;min-width:38px;padding:0 11px;border:1px solid #747474;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#171717;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.quote-close:hover{background:#111;border-color:#111;color:#fff}
.quote-close-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.quote-close-icon{font-size:22px;font-weight:300;line-height:1;transform:translateY(-1px)}
.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:minmax(0,1fr);border-radius:24px;overflow:auto;min-height:0;box-shadow:0 18px 50px #0002}
.finder{background:var(--ink);color:#fff;padding:clamp(24px,3vw,45px);min-width:0;min-height:0;display:flex;flex-direction:column;gap:clamp(12px,2.5vh,26px)}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.075em;line-height:1.3;color:var(--gold-ink);display:block;margin:0}
.finder .eyebrow{color:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1{font:400 clamp(34px,3.8vw,55px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.055em;margin:13px 0 0}
h1 em,.form-heading h2 em{color:var(--gold);font-style:normal}
.finder-intro{font-size:14px;color:#c9c9c9;line-height:1.5;margin:15px 0 0}
.service-guide{border-left:2px solid var(--gold);padding:0 0 0 19px}
.guide-top{display:flex;justify-content:space-between;align-items:center}
#service-number{color:#b8b8b8;font-size:11px;letter-spacing:.04em}
.service-guide h2{font:400 clamp(22px,2vw,29px)/1.2 Playfair,Georgia,serif;letter-spacing:-.018em;margin:11px 0 7px}
#guide-description{font-size:14px;line-height:1.52;max-width:440px;color:#eee;margin:0}
#guide-example{font-size:12px;color:#b3b3b3;line-height:1.5;margin:8px 0 0}
.text-link{border:0;background:transparent;padding:0;min-height:32px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--gold);text-align:left}
.text-link span{margin-left:4px}
#compare-open{margin-top:5px}
.desktop-picker{margin-top:auto}
.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.picker-heading .eyebrow{font-size:9px}
.selection-count{margin-left:auto;color:#bdbdbd;font-size:10px;letter-spacing:.04em;white-space:nowrap}
#desktop-services{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.service-option{min-width:0;text-align:left}
.service-index,.service-summary{display:none}
.service-name{flex:1}
.service-chip{border:1px solid #4b4b4b;background:#1e1e1e;border-radius:3px;color:#f3f3f3;padding:8px 12px;min-height:39px;font-size:13px;line-height:1.3;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:background .15s,border-color .15s,transform .15s}
.service-chip:after{content:"+";color:#b8b8b8;font-size:16px;font-weight:300}
.service-chip:hover{border-color:var(--gold);background:#303030;transform:translateY(-1px)}
.service-chip[aria-pressed=true]{border-color:#a6874d;background:#292620;color:#fff}
.service-chip[aria-pressed=true]:after{content:"✓";color:var(--gold);font-size:13px}
.service-chip.is-primary[aria-pressed=true]{border-color:var(--gold);background:var(--gold);color:#111}
.service-chip.is-primary[aria-pressed=true]:after{color:#111}
.service-chip .service-index{display:inline;flex:0 0 24px;font-size:10px;letter-spacing:0;color:#aaa}
.service-chip[aria-pressed=true] .service-index{color:var(--gold)}
.service-chip.is-primary[aria-pressed=true] .service-index{color:#4b3510}
.service-chip .service-name{min-width:0}
.service-chip[data-service=unsure]{background:transparent}
.service-chip[data-service=unsure][aria-pressed=true]{background:var(--gold);color:#111}
.service-chip[data-service=unsure][aria-pressed=true] .service-index,.service-chip[data-service=unsure][aria-pressed=true]:after{color:#111}
.finder button:focus-visible{outline-color:var(--gold)}
.service-guide button:focus-visible{outline-color:var(--gold)}
@media(min-width:901px){
  .finder{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(12px,2.2vh,22px)}
  .service-guide{position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(14px,1fr) auto auto auto;border:1px solid #4b4131;border-left:3px solid var(--gold);border-radius:2px;background:linear-gradient(112deg,#1d1b18 0%,#161616 60%,#111 100%);padding:clamp(15px,2vw,28px);isolation:isolate}
  .service-guide::before{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:43%;background:repeating-linear-gradient(90deg,transparent 0 21px,#d3af632b 21px 22px);mask-image:linear-gradient(90deg,transparent,#000 55%);pointer-events:none}
  .service-guide::after{content:"";position:absolute;right:0;top:0;width:38px;height:38px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);pointer-events:none}
  .guide-top{display:block;position:relative;z-index:1}
  #service-number{position:absolute;right:0;top:clamp(14px,3vh,38px);font:400 clamp(38px,5vw,84px)/1 Playfair,Georgia,serif;letter-spacing:-.06em;color:#d3af634f;white-space:nowrap;pointer-events:none}
  .service-guide h2{grid-row:2;align-self:end;position:relative;z-index:1;font-size:clamp(23px,2.5vw,35px);margin:0 0 9px;max-width:80%}
  #guide-description{position:relative;z-index:1;max-width:75%}
  #guide-example{position:relative;z-index:1;max-width:75%}
  #compare-open{position:relative;z-index:1;justify-self:start}
  .desktop-picker{margin-top:0}
}
@media(min-width:901px){
  .finder{background:#d5d5d5;color:#111;box-shadow:inset -1px 0 #00000018}
  .finder .eyebrow{color:var(--gold-ink)}
  .finder h1 em{color:#111;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:8px}
  .finder-intro{color:#454545}
  .service-guide{border:0;border-top:2px solid #171717;border-bottom:1px solid #7b7b7b;background:linear-gradient(110deg,#e8e8e8 0%,#d9d9d9 100%)}
  .service-guide::before{background:repeating-linear-gradient(90deg,transparent 0 21px,#11111124 21px 22px)}
  .service-guide::after{border-color:#171717}
  #service-number{color:#11111136}
  .service-guide h2{color:#111}
  #guide-description{color:#303030}
  #guide-example{color:#4c4c4c}
  .finder .text-link{color:var(--gold-ink)}
  .selection-count{color:#454545}
  .service-chip{background:#e5e5e5;border-color:#929292;color:#111}
  .service-chip:after{color:#484848}
  .service-chip:hover{background:#f5f5f5;border-color:#111}
  .service-chip[aria-pressed=true]{background:#f4f4f4;border-color:#272727;color:#111}
  .service-chip[aria-pressed=true]:after{color:#111}
  .service-chip .service-index,.service-chip[aria-pressed=true] .service-index{color:#555}
  .service-chip.is-primary[aria-pressed=true],.service-chip[data-service=unsure][aria-pressed=true]{background:#111;border-color:#111;color:#fff}
  .service-chip.is-primary[aria-pressed=true]:after,.service-chip[data-service=unsure][aria-pressed=true]:after{color:#fff}
  .service-chip.is-primary[aria-pressed=true] .service-index,.service-chip[data-service=unsure][aria-pressed=true] .service-index{color:#cecece}
  .service-chip[data-service=unsure]:not([aria-pressed=true]){background:transparent}
  .trust-line{border-color:#11111132}
  .trust-mark{color:#111}
  .trust-line p{color:#454545}
  .trust-line b{color:#111}
  .finder button:focus-visible,.service-guide button:focus-visible{outline-color:#71531d}
}
.trust-line{display:flex;align-items:center;gap:10px;border-top:1px solid #11111132;padding-top:13px}
.trust-mark{font:italic 30px Playfair,Georgia,serif;color:#111}
.trust-line p{font-size:10px;color:#454545;line-height:1.45;margin:0}
.trust-line b{font-weight:700;color:#111;font-size:11px}
.project-form{background:var(--paper);padding:clamp(26px,3.7vw,58px);display:flex;flex-direction:column;gap:18px;min-width:0;min-height:0}
.form-heading{margin-bottom:auto}
.form-heading h2{font:400 clamp(28px,2.7vw,40px)/1.18 Inter,Arial,sans-serif;letter-spacing:-.045em;margin:13px 0 18px}
.form-heading h2 em{color:#111;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:7px}
.label-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.label-row label,.contact-head>label{font-size:13px;font-weight:600}
.label-row>span{font-size:11px;color:#575757}
#idea{display:block;width:100%;height:105px;min-height:72px;border:1px solid var(--line);border-radius:12px;background:#f7f7f7;padding:14px;color:#111;font-size:16px;line-height:1.45;resize:none}
#idea::placeholder{color:#646464;font-size:14px;line-height:1.45}
.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-10px}
.detail-actions>span{font-size:11px;line-height:1.45;color:#575757}
.detail-actions>button{flex-shrink:0;border:0;background:transparent;min-height:34px;padding:0;color:var(--gold-ink);font-size:12px;font-weight:600}
.contact-section{margin-top:auto}
.contact-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.contact-toggle{display:flex;background:#e4e4e4;border-radius:99px;padding:3px;gap:2px}
.contact-toggle button{border:0;background:transparent;color:#535353;border-radius:99px;min-height:30px;min-width:61px;font-size:11px;padding:4px 9px}
.contact-toggle button[aria-pressed=true]{background:#111;color:#fff}
#contact{display:block;width:100%;border:1px solid var(--line);border-radius:12px;background:#f7f7f7;color:#111;font-size:16px;min-height:49px;padding:12px 14px}
#contact[aria-invalid=true]{border-color:#ae412a}
#contact-help{font-size:11px;color:#575757;line-height:1.45;margin:8px 0 0}
#contact[aria-invalid=true]~#contact-help{display:none}
.error{font-size:11px;color:#a63824;line-height:1.4;margin:7px 0 0}
.error:empty{display:none}
.form-bottom{padding-top:6px}
.primary-action{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:99px;min-height:51px;background:#0c0c0c;color:#fff;padding:12px 20px;font-size:13px;font-weight:600;text-align:left}
.primary-action>span:last-child{font-size:21px;color:var(--gold);font-weight:400}
.primary-action:hover{background:#2a2a2a}
.demo-note{font-size:10px;line-height:1.3;text-align:center;color:#575757;margin:9px 0 0}
footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;color:#262626;letter-spacing:.07em}
.mobile-picker,#done-typing{display:none}
.panel-dialog{width:min(550px,calc(100vw - 32px));max-height:calc(var(--usable-height,100dvh) - 32px);border:1px solid #ddd;border-radius:22px;background:var(--paper);color:#111;padding:25px;box-shadow:0 24px 100px #0006}
.panel-dialog::backdrop{background:#0c0c0caa;backdrop-filter:blur(6px)}
.panel-dialog[open]{display:flex;flex-direction:column;gap:15px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-shrink:0}
.panel-head h2{font:400 27px/1.18 Inter,Arial,sans-serif;letter-spacing:-.04em;margin:9px 0 0}
.close-button{width:38px;height:38px;min-width:38px;border:1px solid #ccc;border-radius:50%;background:transparent;color:#222;font-size:25px;line-height:1}
.panel-intro{font-size:12px;line-height:1.5;color:#555;margin:0}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;overflow:auto;min-height:0}
.service-choice{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #d0d0d0;border-radius:10px;background:#f7f7f7;color:#222;min-height:48px;padding:9px 12px;font-size:12px;line-height:1.3}
.service-choice:after{content:"+";font-size:17px;color:#666}
.service-choice[aria-pressed=true]{background:#111;border-color:#111;color:#fff}
.service-choice[aria-pressed=true]:after{content:"✓";color:var(--gold)}
.panel-bottom{margin-top:4px;flex-shrink:0}
.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;overflow:auto}
.detail-fields label{font-size:11px;font-weight:600;min-width:0}
.detail-fields .full{grid-column:1/-1}
.detail-fields input,.detail-fields select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#f7f7f7;color:#111;font-size:16px;min-height:43px;padding:9px 10px}
.detail-fields input::placeholder{font-size:12px;color:#666}
.comparison{display:flex;flex-direction:column;gap:0}
.comparison article{display:flex;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding:16px 0}
.compare-index{font-size:10px;color:var(--gold-ink);padding-top:7px}
.comparison h3{font:400 24px Playfair,Georgia,serif;margin:0 0 5px}
.comparison p{font-size:12px;line-height:1.5;color:#555;margin:0}
.review-notice{font-size:12px;color:#222;background:#efefef;border-left:3px solid var(--gold);padding:11px 12px;border-radius:8px;margin:0}
.review-details{overflow:auto;margin:0;min-height:0}
.review-details>div{border-bottom:1px solid var(--line);padding:12px 0}
.review-details dt{font-size:10px;color:var(--gold-ink);margin-bottom:6px}
.review-details dd{font-size:13px;margin:0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.review-actions{display:flex;gap:10px}
#review-edit{border:1px solid #aaa;border-radius:99px;background:transparent;color:#222;min-width:120px;padding:10px 15px;font-size:12px}
.no-script{position:fixed;bottom:0;left:0;right:0;background:white;padding:15px;text-align:center;margin:0}
@media(min-width:901px) and (max-height:860px){
  .app-frame{grid-template-rows:58px minmax(0,1fr) 27px}
  .finder{padding:24px 28px;gap:13px}
  h1{font-size:37px;margin-top:8px}
  .finder-intro{display:none}
  .service-guide{padding:16px 19px}
  .service-guide h2{font-size:23px;margin:0 0 7px}
  #service-number{font-size:52px;top:-12px}
  #guide-example{display:none}
  .trust-line{padding-top:7px}
  .service-chip{min-height:34px;font-size:12px;padding:6px 9px}
  .project-form{padding:28px 35px;gap:13px}
  .form-heading h2{font-size:31px;margin-bottom:10px}
  #idea{height:85px}
}
@media(max-width:1000px) and (min-width:901px){
  .finder{padding-left:25px;padding-right:25px}
  .project-form{padding-left:28px;padding-right:28px}
  h1{font-size:35px}
  .picker-heading .eyebrow{font-size:8px;letter-spacing:.06em}
  .trust-line p{font-size:9px}
}
@media(min-width:901px) and (max-height:650px){
  .finder{padding:19px 25px;gap:10px}
  h1{font-size:30px}
  .service-guide{display:flex;flex-direction:column;justify-content:center;padding:10px 14px}
  .service-guide::before{opacity:.45}
  .guide-top{display:none}
  .service-guide h2{align-self:stretch;max-width:none;font-size:20px;margin:0 0 5px}
  #guide-description{font-size:12px;line-height:1.45}
  #compare-open{min-height:26px;font-size:10px;margin-top:2px}
  .picker-heading{margin-bottom:5px}
  .picker-heading .text-link{min-height:26px}
  #desktop-services{gap:5px}
  .service-chip{min-height:31px;padding:5px 9px}
  .trust-line{padding-top:5px}
  .trust-mark{font-size:24px}
  .trust-line p{line-height:1.3}
  .project-form{padding:20px 26px;gap:10px}
  .form-heading h2{font-size:26px;margin:8px 0}
  #idea{height:76px}
  .primary-action{min-height:46px}
}
@media(min-width:901px) and (min-height:1050px){
  .service-guide{display:flex;flex-direction:column;justify-content:center;align-self:center;width:100%;max-height:500px;padding:42px 28px 28px}
  .guide-top{position:absolute;top:26px;left:28px;right:28px}
  #service-number{top:20px;font-size:clamp(66px,7vw,94px)}
  .service-guide h2{align-self:stretch;max-width:72%;font-size:clamp(36px,3.6vw,52px);margin:0 0 14px}
  #guide-description{font-size:15px;max-width:65%}
  #guide-example{font-size:12px;max-width:65%;margin-top:14px}
  #compare-open{margin-top:20px}
  .service-chip{min-height:clamp(50px,5vh,66px);font-size:14px;padding:12px 14px}
}
@media(max-width:900px){
  :root{background:#b8b8b8}
  .app-frame{height:var(--usable-height,100dvh);min-height:0;grid-template-rows:55px minmax(0,1fr) 24px;padding:0 18px}
  .mast{gap:8px}
  .mast-actions{gap:8px}
  .brand{font-size:16px;gap:6px;letter-spacing:.17em}
  .brand img{width:30px;height:30px}
  .brand small{font-size:6px;letter-spacing:.27em;margin-top:5px}
  .preview-label{font-size:8px;letter-spacing:.06em;color:#333}
  .quote-close{width:34px;height:34px;min-width:34px;padding:0}
  .quote-close-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .quote-close-icon{font-size:21px}
  .workspace{display:flex;flex-direction:column;overflow:visible;border-radius:0;box-shadow:none;gap:0}
  .finder{padding:0;gap:0;background:transparent;color:#111;flex-shrink:0}
  .finder-heading>.eyebrow,.finder-intro,.desktop-picker,.trust-line,.form-heading{display:none}
  h1{font-size:30px;line-height:1.13;letter-spacing:-.052em;margin:9px 0 17px}
  h1 br{display:none}
  h1 em{display:block;color:#111;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}
  .mobile-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:58px;padding:10px 13px;border:1px solid #fff;border-radius:12px;background:#fff;text-align:left;color:#111}
  .mobile-picker:focus-visible{outline-color:#71531d}
  .mobile-picker small{display:block;color:var(--gold-ink);font-size:9px;font-weight:700;letter-spacing:.055em;margin-bottom:5px}
  #chosen-service{font-size:15px;font-weight:600}
  .picker-plus{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--gold);color:#111;font-size:21px}
  .service-guide{margin:12px 0 0;padding:15px 16px;border:0;border-radius:13px;background:#e8e8e8;color:#111;position:relative;box-shadow:inset 0 2px #111}
  .guide-top{display:none}
  .service-guide h2{font-size:22px;line-height:1.2;margin:0 0 6px;padding-right:12px}
  #guide-description{font-size:13px;line-height:1.5;color:#303030}
  #guide-example{display:none}
  #compare-open{font-size:11px;min-height:27px;margin-top:5px;color:var(--gold-ink)}
  .service-guide button:focus-visible{outline-color:#71531d}
  .project-form{padding:19px 0 0;gap:10px;background:transparent;flex:1}
  .label-row>span,.detail-actions>span,#contact-help,.demo-note{color:#3e3e3e}
  .label-row{margin-bottom:7px}
  .label-row label,.contact-head>label{font-size:12px}
  #idea{height:76px;min-height:64px;padding:11px 12px;font-size:16px}
  #idea::placeholder{font-size:13px}
  .detail-actions{margin-top:-7px}
  .detail-actions>span{font-size:10px}
  .detail-actions>button{font-size:11px;min-height:32px}
  .contact-section{margin-top:auto}
  .contact-head{margin-bottom:7px}
  #contact{min-height:47px;padding:10px 12px}
  .contact-toggle button{min-height:28px;min-width:55px}
  #contact-help{margin-top:6px;font-size:10px}
  .error{color:#6e2318}
  .form-bottom{padding-top:0}
  .primary-action{min-height:49px}
  .demo-note{font-size:9px;margin-top:6px}
  footer{font-size:8px;letter-spacing:0;justify-content:center}
  footer>span:first-child{display:none}
  .panel-dialog{width:calc(100vw - 24px);max-height:calc(var(--usable-height,100dvh) - 24px);padding:20px;gap:12px!important;border-radius:18px}
  .panel-head h2{font-size:25px}
  .panel-head .eyebrow{font-size:9px;letter-spacing:.055em}
}
@media(max-width:900px) and (max-height:730px){
  .app-frame{grid-template-rows:46px minmax(0,1fr) 19px;padding:0 15px}
  h1{font-size:27px;margin:3px 0 12px}
  .mobile-picker{min-height:50px;padding:8px 11px}
  .mobile-picker small{font-size:8px;margin-bottom:3px}
  #chosen-service{font-size:13px}
  .service-guide{margin-top:9px;padding:11px 13px}
  .service-guide h2{font-size:19px;margin-bottom:4px}
  #guide-description{font-size:12px;line-height:1.4}
  #compare-open{font-size:10px;min-height:24px;margin-top:3px}
  .project-form{padding-top:13px;gap:8px}
  #idea{height:64px;min-height:64px;padding:9px 11px}
  .detail-actions>span{max-width:160px}
  .contact-toggle button{min-height:26px}
  #contact{min-height:44px;padding:9px 11px}
  #contact-help{font-size:9px;margin-top:5px}
  .primary-action{min-height:45px;padding:10px 16px}
  .demo-note{font-size:8px;margin-top:5px}
  .panel-dialog{padding:17px;gap:10px!important}
  .panel-head h2{font-size:22px}
  .panel-intro{font-size:11px}
  .service-choice{min-height:45px;font-size:11px;padding:7px 9px}
  .detail-fields{gap:12px 9px}
  .detail-fields input,.detail-fields select{min-height:40px;margin-top:5px}
}
@media(max-width:360px){
  h1{font-size:26px;margin:7px 0 14px}
  .service-guide{margin-top:9px;padding:12px 13px}
  .project-form{padding-top:13px;gap:8px}
  .demo-note{display:none}
}
@media(max-width:360px) and (max-height:620px){
  h1{font-size:24px;margin-bottom:9px}
  .service-guide h2{display:none}
  #guide-description{font-size:12px}
  .service-guide{padding:9px 11px;margin-top:7px}
  #compare-open{min-height:24px}
  .project-form{padding-top:8px;gap:7px}
  .label-row{margin-bottom:5px}
  .detail-actions>span{font-size:8px;max-width:130px}
  #idea{height:52px;min-height:52px;font-size:16px}
  #idea::placeholder{font-size:12px}
  .demo-note{display:none}
  .panel-dialog{padding:15px;gap:9px!important}
  .service-choice{min-height:43px;font-size:10px}
  .service-options{gap:5px}
  .panel-head h2{font-size:20px}
}
/* Reduced browser space must retain access, not crop fields to enforce a slogan. */
@media(max-width:900px) and (max-height:500px){
  .app-frame{height:auto;min-height:100dvh;grid-template-rows:46px auto 24px}
  .project-form{gap:10px}.contact-section{margin-top:10px}.workspace{padding-bottom:12px}
}
.keyboard-open .app-frame{height:var(--usable-height,100dvh);min-height:0;grid-template-rows:40px minmax(0,1fr) 0}
.keyboard-open .preview-label,.keyboard-open footer,.keyboard-open .finder,.keyboard-open .form-heading,.keyboard-open .detail-actions,.keyboard-open .demo-note{display:none}
.keyboard-open #done-typing{display:block;border:0;border-radius:99px;background:#111;color:white;font-size:11px;padding:9px 13px}
.keyboard-open .workspace{display:flex;padding:0;overflow:auto}
.keyboard-open .project-form{padding:12px 0;gap:10px;width:100%}
.keyboard-open[data-editing=idea] .contact-section{display:none}
.keyboard-open[data-editing=contact] .idea-field{display:none}
.keyboard-open .form-bottom{margin-top:auto}
.keyboard-open .contact-section{margin-top:0}
.keyboard-open #idea{height:clamp(70px,25dvh,160px)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Review 10 — a single architectural project sheet, rather than two hard panels. */
@font-face{font-family:Cormorant;src:url('/fonts/cormorant.woff2') format('woff2');font-display:swap}
.panel-dialog{border-radius:14px}
.panel-head h2{font:400 39px/1 Cormorant,Georgia,serif;letter-spacing:-.025em}
.service-choice{background:transparent;border:0;border-bottom:1px solid #ccc;border-radius:0;min-height:49px;font-size:13px}
.service-choice[aria-pressed=true]{background:#111;border-color:#111;color:#fff}
@media(min-width:901px){
  .workspace{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:#d7d7d7;border:1px solid #aaa;border-radius:20px;box-shadow:none;overflow:hidden}
  .finder{background:transparent;color:#111;box-shadow:none;padding:clamp(22px,2.6vw,37px);gap:clamp(10px,2vh,18px)}
  .finder .eyebrow{color:#3a3a3a}
  .finder h1{font:400 clamp(48px,5.1vw,73px)/.91 Cormorant,Georgia,serif;letter-spacing:-.038em;margin:6px 0 0}
  .finder h1 em{color:#111;text-decoration:none}
  .finder-intro{display:block;color:#333;max-width:34ch;font-size:14px;line-height:1.45;margin:13px 0 0}
  .service-guide{display:flex;flex-direction:column;justify-content:center;position:relative;min-height:0;overflow:hidden;border:0;border-top:1px solid #222;border-bottom:1px solid #888;border-radius:0;background:none;padding:12px 0;isolation:auto}
  .service-guide::before,.service-guide::after{display:none}
  .guide-top{display:block;position:static}
  #service-number{position:absolute;right:0;top:8px;font:400 clamp(40px,5vw,76px)/1 Cormorant,Georgia,serif;letter-spacing:-.04em;color:#1112}
  .service-guide h2{display:block;grid-row:auto;align-self:auto;max-width:76%;font:400 clamp(27px,3vw,42px)/1 Cormorant,Georgia,serif;letter-spacing:-.025em;margin:17px 0 6px}
  #guide-description{font-size:13px;line-height:1.45;max-width:75%;color:#333}
  #guide-example{font-size:11px;line-height:1.35;max-width:75%;margin:6px 0 0;color:#4a4a4a}
  #compare-open{margin-top:6px;min-height:25px;font-size:11px;color:#493711}
  .picker-heading{margin-bottom:4px}
  .picker-heading .eyebrow{font-size:9px}
  #desktop-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
  .service-chip,.service-chip:hover,.service-chip[aria-pressed=true],.service-chip.is-primary[aria-pressed=true],.service-chip[data-service=unsure],.service-chip[data-service=unsure][aria-pressed=true]{background:transparent;border:0;border-bottom:1px solid #999;border-radius:0;color:#111;box-shadow:none;transform:none}
  .service-chip{min-height:39px;padding:5px 1px;font-size:13px;line-height:1.15;gap:5px;transition:border-color .15s,color .15s}
  .service-chip:hover{border-bottom-color:#111}
  .service-chip[aria-pressed=true],.service-chip.is-primary[aria-pressed=true],.service-chip[data-service=unsure][aria-pressed=true]{border-bottom:2px solid #111;font-weight:700}
  .service-chip:after,.service-chip[aria-pressed=true]:after,.service-chip.is-primary[aria-pressed=true]:after,.service-chip[data-service=unsure][aria-pressed=true]:after{color:#111}
  .service-chip .service-index,.service-chip[aria-pressed=true] .service-index,.service-chip.is-primary[aria-pressed=true] .service-index,.service-chip[data-service=unsure][aria-pressed=true] .service-index{flex:0 0 17px;font-size:9px;color:#555}
  .service-chip[data-service=unsure]{grid-column:1/-1;min-height:30px}
  .trust-line{border:0;padding-top:0;gap:8px}
  .trust-mark{font-size:26px}
  .trust-line p{font-size:9px;line-height:1.3}
  .trust-line b{font-size:10px}
  .project-form{background:#fff;margin:16px 16px 16px 0;border-radius:15px;box-shadow:0 9px 28px #00000015;padding:clamp(23px,3.2vw,45px);gap:14px}
  .form-heading h2{font:400 clamp(38px,3.8vw,53px)/.94 Cormorant,Georgia,serif;letter-spacing:-.025em;margin:11px 0 0}
  .form-heading h2 em{color:#111;text-decoration:none}
  .form-heading::after{content:"";display:block;width:46px;height:2px;background:#111;margin-top:18px}
  #idea{background:#f4f4f4;border:0;border-bottom:1px solid #aaa;border-radius:2px;height:110px}
  #contact{background:#f4f4f4;border:0;border-bottom:1px solid #aaa;border-radius:2px}
  .primary-action{border-radius:8px}
}
@media(min-width:901px) and (max-height:860px){
  .finder h1{font-size:clamp(42px,4.3vw,58px)}
  .finder-intro{display:none}
  .service-guide h2{font-size:clamp(27px,2.6vw,37px);margin-top:7px}
  #guide-example{display:none}
  .service-chip{min-height:33px;font-size:11px}
  .project-form{padding:clamp(21px,2.6vw,36px);gap:12px}
  .form-heading h2{font-size:clamp(34px,3.2vw,44px)}
  .form-heading::after{margin-top:13px}
  #idea{height:82px}
}
@media(min-width:901px) and (max-height:650px){
  .finder{padding:20px 24px;gap:8px}
  .finder h1{font-size:41px}
  .service-guide{display:flex;padding:7px 0}
  .service-guide h2{font-size:27px;margin:5px 0 4px}
  #guide-description{font-size:12px;line-height:1.3}
  #compare-open{font-size:10px;min-height:23px;margin-top:2px}
  .service-chip{min-height:29px;font-size:11px;padding:3px 1px}
  .service-chip[data-service=unsure]{min-height:24px}
  .trust-mark{font-size:22px}
  .trust-line p{font-size:8px;line-height:1.2}
  .trust-line b{font-size:9px}
  .project-form{margin:12px 12px 12px 0;padding:18px 26px;gap:10px}
  .form-heading h2{font-size:36px}
  .form-heading::after{margin-top:10px}
  #idea{height:76px}
}
@media(max-width:900px){
  .app-frame{grid-template-rows:48px minmax(0,1fr) 20px;padding:0 13px}
  .workspace{display:flex;flex-direction:column;justify-self:center;align-self:center;width:min(100%,520px);height:auto;max-height:100%;overflow:visible;background:#f7f7f7;border:1px solid #eee;border-radius:16px;box-shadow:0 8px 26px #00000014;padding:13px}
  .finder{background:transparent;color:#111;padding:0;gap:0;flex-shrink:0}
  .finder-heading>.eyebrow{display:block;color:#3a3a3a;font-size:9px;letter-spacing:.05em}
  .finder h1{font:400 41px/.9 Cormorant,Georgia,serif;letter-spacing:-.025em;margin:4px 0 10px}
  .finder h1 br{display:block}
  .finder h1 em{display:inline;color:#111;text-decoration:none}
  .mobile-picker{min-height:45px;padding:5px 0;border:0;border-top:1px solid #888;border-bottom:1px solid #888;border-radius:0;background:transparent}
  .mobile-picker small{font-size:8px;letter-spacing:.055em;margin-bottom:3px}
  #chosen-service{font-size:14px}
  .picker-plus{background:#111;color:#fff;width:25px;height:25px;font-size:18px}
  .service-guide{margin:0;padding:8px 0 9px;border:0;border-radius:0;background:transparent;box-shadow:none}
  .service-guide h2{display:none}
  #guide-description{font-size:12px;line-height:1.35;color:#333}
  #compare-open{font-size:10px;min-height:23px;margin:2px 0 0;color:#493711}
  .project-form{flex:0 0 auto;background:transparent;box-shadow:none;margin:0;border:0;border-top:1px solid #999;border-radius:0;padding:10px 0 0;gap:8px}
  .contact-section{margin-top:12px}
  #idea{height:68px;min-height:62px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px 11px}
  #contact{background:#fff;border:1px solid #ddd;border-radius:8px;min-height:44px}
  .primary-action{border-radius:8px;min-height:46px}
  .demo-note{margin-top:5px}
}
@media(max-width:900px) and (max-height:730px){
  .app-frame{grid-template-rows:42px minmax(0,1fr) 17px;padding:0 11px}
  .workspace{padding:10px}
  .finder h1{font-size:34px;margin:2px 0 6px}
  .mobile-picker{min-height:40px;padding:3px 0}
  .service-guide{padding:6px 0}
  .service-guide h2{font-size:21px}
  #guide-description{font-size:11px;line-height:1.25}
  #compare-open{min-height:20px;margin-top:1px}
  .project-form{padding-top:7px;gap:6px}
  #idea{height:59px;min-height:59px}
  #contact{min-height:42px}
  .primary-action{min-height:43px}
}
@media(max-width:360px) and (max-height:620px){
  .finder h1{font-size:32px;margin-bottom:5px}
  .service-guide h2{display:none}
  .service-guide{padding:5px 0}
  #guide-description{font-size:11px;line-height:1.25}
  #compare-open{min-height:20px}
  .project-form{padding-top:6px}
  #idea{height:52px;min-height:52px}
}
@media(max-width:900px){.panel-head h2{font-size:33px}}
@media(max-width:360px){.panel-head h2{font-size:29px}}

/* Review 11 — a compact reference sleeve attached to the project note. */
.reference-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);align-items:stretch;min-height:43px;margin-top:-14px;border:1px solid #c3c3c3;border-top:0;border-radius:0 0 9px 9px;background:#ededed;overflow:hidden}
.reference-rail button{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#161616;padding:7px 9px;font-size:11px;font-weight:650;line-height:1.2;white-space:nowrap}
.reference-rail button:hover{background:#e0e0e0}
.reference-rail button+button{border-left:1px solid #c7c7c7;color:#40300f}
.rail-icon{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#111;color:#fff;font-size:15px;line-height:1;font-weight:400}
.rail-plus{font-size:17px;font-weight:400;line-height:1;color:#654914}
#idea{border-radius:9px 9px 0 0;border-bottom:0;background:#fff;box-shadow:inset 3px 0 #d3af63}
.files-dialog{width:min(520px,calc(100vw - 24px))}
.files-dialog .panel-head h2{max-width:12ch}
.file-list{display:grid;gap:0;min-height:55px;max-height:min(36vh,300px);overflow:auto;border-top:1px solid #bcbcbc;border-bottom:1px solid #bcbcbc}
.file-list:empty::before{content:'No references selected yet.';align-self:center;color:#555;font-size:12px;padding:18px 0}
.file-item{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 0;border-bottom:1px solid #ddd}
.file-item:last-child{border-bottom:0}
.file-marker{display:grid;place-items:center;flex:0 0 33px;width:33px;height:35px;border:1px solid #9a9a9a;background:#f1f1f1;color:#222;font-size:9px;font-weight:700;letter-spacing:.04em}
.file-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.file-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}
.file-info small{color:#555;font-size:10px}
.file-remove{flex:0 0 34px;width:34px;height:34px;border:1px solid #ccc;border-radius:50%;background:#fff;color:#111;font-size:23px;line-height:1}
.file-error{font-size:11px;color:#8c271e;margin:0}
.file-error:empty{display:none}
.file-safety{font-size:11px;line-height:1.4;color:#484848;margin:0}
.file-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#files-add-more{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#111;padding:10px 12px;font-size:11px;font-weight:600;text-align:left}
#files-add-more span{font-size:17px;font-weight:400}
.file-actions .primary-action{min-height:43px;padding:9px 12px;font-size:11px}
.file-actions .primary-action>span:last-child{font-size:17px}
@media(min-width:901px){
  .workspace{position:relative}
  .workspace::before{content:'';position:absolute;z-index:2;left:clamp(22px,2.6vw,37px);top:0;width:70px;height:3px;background:#d3af63}
  .project-form{position:relative;border:1px solid #aaa;box-shadow:0 7px 18px #0000000d}
  .project-form::before{content:'';position:absolute;right:0;top:0;width:0;height:0;border-left:18px solid transparent;border-top:18px solid #d7d7d7}
  .project-form::after{content:'';position:absolute;right:0;top:0;width:18px;height:18px;border-left:1px solid #aaa;border-bottom:1px solid #aaa;clip-path:polygon(0 0,100% 100%,0 100%)}
  .form-heading::after{background:#d3af63}
  .reference-rail{margin-top:-15px}
}
@media(max-width:900px){
  .workspace{position:relative;border-color:#d1d1d1}
  .workspace::before{content:'';position:absolute;left:13px;top:0;width:52px;height:3px;background:#d3af63}
  .reference-rail{min-height:36px;margin-top:-8px;grid-template-columns:minmax(0,1fr) minmax(0,.72fr)}
  .reference-rail button{font-size:10px;padding:5px 4px;gap:5px}
  .rail-icon{width:19px;height:19px;flex-basis:19px;font-size:13px}
  .rail-plus{font-size:15px}
  #idea{border-bottom:0;border-radius:8px 8px 0 0}
  .file-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  .reference-rail button{font-size:11px;gap:4px}
  .rail-icon{width:17px;height:17px;flex-basis:17px;font-size:12px}
  .rail-plus{font-size:14px}
}
@media(max-width:360px) and (max-height:620px){
  .reference-rail{min-height:44px;margin-top:-7px}
  .reference-rail button{padding:4px}
  .contact-section{margin-top:9px}
}

/* The invitation is set as two deliberate lines, with room for the serif forms to breathe. */
.finder h1{line-height:1.025;letter-spacing:-.018em}
.finder h1 br{display:none}
.finder h1 em{display:block;position:relative;width:max-content;max-width:100%;margin-top:.045em;font-style:normal;text-decoration:none}
.finder h1 em::after{content:'';position:absolute;left:.025em;bottom:-.035em;width:34%;height:2px;background:#d3af63}
@media(max-width:900px){.finder h1{margin-bottom:12px}.mobile-picker{border-top:0}}
@media(max-width:360px) and (max-height:620px){.finder h1{font-size:30px;margin-bottom:8px}}
@media(min-width:901px) and (max-height:650px){.demo-note{display:none}}

/* Review 12 — one obvious path: service (optional), idea, reference, reply. */
@media(min-width:901px){
  .workspace{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
  .finder{display:flex;flex-direction:column;padding:clamp(30px,3vw,48px);gap:0}
  .finder h1{font-size:clamp(47px,4.8vw,70px)}
  .finder-intro{display:block;margin:24px 0 0;max-width:30ch;color:#2e2e2e;font-size:15px;line-height:1.5}
  .finder .mobile-picker{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:76px;margin-top:clamp(26px,6vh,62px);padding:13px 16px;border:1px solid #777;border-radius:10px;background:#f7f7f7;color:#111;text-align:left}
  .finder .mobile-picker:hover{border-color:#111;background:#fff}
  .finder .mobile-picker small{display:block;margin-bottom:5px;color:#5d4315;font-size:10px;font-weight:700;letter-spacing:.025em}
  .finder #chosen-service{font-size:17px;font-weight:600}
  .finder .picker-plus{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:#111;color:#fff;font-size:22px;font-weight:300}
  .trust-line{margin-top:auto;padding-top:18px;border-top:1px solid #979797}
  .project-form{justify-content:center;gap:clamp(13px,2.1vh,21px)}
  .form-heading{margin-bottom:0}
  .form-heading h2{font-size:clamp(40px,4vw,56px);line-height:1;white-space:normal}
  .form-heading::after{margin-top:15px}
  #idea{height:clamp(96px,15vh,138px)}
  .contact-section{margin-top:0}
  .label-row label,.contact-head>label{font-size:14px}
  .reference-rail button{font-size:12px}
}
@media(min-width:901px) and (max-height:650px){
  .finder{padding:22px 25px}
  .finder h1{font-size:45px}
  .finder-intro{font-size:13px;margin-top:16px}
  .finder .mobile-picker{min-height:62px;margin-top:22px;padding:9px 13px}
  .finder #chosen-service{font-size:15px}
  .trust-line{padding-top:9px}
  .project-form{justify-content:center;gap:10px}
  .form-heading h2{font-size:37px}
  .form-heading::after{margin-top:9px}
  #idea{height:82px}
  .reference-rail{min-height:41px;margin-top:-11px}
}
@media(max-width:900px){
  .finder-intro{display:block;margin:10px 0 17px;font-size:12px;line-height:1.4;color:#333;max-width:33ch}
  .mobile-picker{min-height:56px;padding:9px 11px;border:1px solid #aaa;border-radius:8px;background:#fff}
  .mobile-picker small{font-size:9px;letter-spacing:.02em}
  #chosen-service{font-size:15px}
  .picker-plus{width:30px;height:30px;font-size:20px}
  .project-form{margin-top:12px;border-top:0;padding-top:0}
  .label-row label,.contact-head>label{font-size:13px}
  .reference-rail{min-height:44px}
  .reference-rail button{font-size:11px}
}
@media(max-width:900px) and (max-height:730px){
  .finder-intro{margin:5px 0 9px;font-size:11px;line-height:1.3}
  .mobile-picker{min-height:48px;padding:5px 10px}
  .project-form{margin-top:8px}
}
@media(max-width:360px) and (max-height:620px){
  .finder h1{margin-bottom:9px}
  .finder-intro{margin:4px 0 7px;font-size:11px}
  .mobile-picker{min-height:46px}
  .project-form{margin-top:7px}
}
/* Review 14 — full selected-service names, not only a count, in the desktop finder. */
[hidden]{display:none!important}
#desktop-picker-label{display:none}
.selected-services{display:none}
.trust-logo{display:block;flex:0 0 auto;width:48px;height:48px;object-fit:contain}
@media(min-width:901px){
  .finder #chosen-service{display:none}
  .finder #desktop-picker-label{display:block;font-size:17px;font-weight:600}
  .selected-services{display:block;margin-top:clamp(14px,2.4vh,25px);min-width:0}
  .selected-services p{margin:0 0 9px;font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.045em;color:#5d4315}
  .selected-services ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px;margin:0;padding:0}
  .selected-services li{position:relative;min-width:0;padding-left:17px;font-size:12px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
  .selected-services li::before{content:'✓';position:absolute;left:0;top:0;color:#5d4315;font-size:12px}
  .trust-line{gap:12px}
}
@media(min-width:901px) and (max-height:650px){
  .selected-services{margin-top:10px}
  .selected-services p{margin-bottom:6px;font-size:9px}
  .selected-services ul{gap:5px 9px}
  .selected-services li{font-size:12px;line-height:1.2}
  .trust-logo{width:40px;height:40px}
}
.service-options{gap:8px}
.service-choice{display:grid;grid-template-columns:20px minmax(0,1fr) 15px;grid-template-rows:auto 1fr;align-items:start;column-gap:7px;min-height:85px;padding:11px;border:1px solid #d0d0d0;border-radius:8px;background:#fafafa}
.service-choice .service-index{display:block;grid-column:1;grid-row:1/3;padding-top:2px;color:#646464;font-size:10px}
.service-choice .service-name{grid-column:2;grid-row:1;font-size:13px;font-weight:650}
.service-choice .service-summary{display:block;grid-column:2;grid-row:2;color:#555;font-size:10px;font-weight:400;line-height:1.3;margin-top:4px}
.service-choice::after{grid-column:3;grid-row:1;font-size:16px;line-height:1}
.service-choice[aria-pressed=true] .service-index,.service-choice[aria-pressed=true] .service-summary{color:#efefef}
@media(max-width:900px){
  .service-choice{display:flex;align-items:center;min-height:52px;padding:8px 9px;gap:5px}
  .service-choice .service-index{display:none}
  .service-choice .service-summary{display:none}
  .service-choice .service-name{font-size:12px;line-height:1.2}
  .service-choice::after{margin-left:auto}
}
@media(max-width:900px){#contact-help{font-size:10px;line-height:1.35}}

/* Review 14 — progressive disclosure keeps all services available without a nine-card first decision. */
.services-dialog .service-options{display:flex;flex-direction:column;gap:7px;overflow:auto}
.service-group{border:1px solid #d0d0d0;border-radius:9px;background:#fafafa}
.service-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;padding:11px 14px;cursor:pointer;list-style:none;font-size:14px;font-weight:650}
.service-group summary::-webkit-details-marker{display:none}
.service-group summary::after{content:'+';font-size:20px;line-height:1;font-weight:400}
.service-group[open] summary::after{content:'−'}
.service-group summary:focus-visible{outline:3px solid #71531d;outline-offset:2px}
.service-group-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 9px 9px}
.service-group .service-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:8px 10px;border-radius:6px;font-size:12px;font-weight:500}
.service-group .service-choice::after{content:'+';font-size:17px;line-height:1}
.service-group .service-choice[aria-pressed=true]::after{content:'✓'}
@media(max-width:450px){.service-group-choices{grid-template-columns:1fr}}

/* Review 15 — a clear primary note, fewer first-screen choices, readable supporting text. */
.mobile-service-action{display:none}
#idea[aria-invalid=true]{border-color:#a63824;box-shadow:inset 3px 0 #a63824}
.idea-error{font-size:12px;line-height:1.35}
@media(min-width:901px){
  .form-heading h2{font-size:clamp(31px,3.25vw,43px);line-height:1.08;letter-spacing:-.025em}
  .form-heading h2 em{text-decoration-thickness:2px;text-underline-offset:6px}
  .finder-intro{font-size:16px;line-height:1.45}
  .selected-services li{font-size:13px;line-height:1.35}
  .trust-line p{font-size:11px;line-height:1.4}
  .trust-line b{font-size:12px}
  #contact-help{font-size:12px}
  .primary-action{min-height:56px;font-size:15px}
}
@media(min-width:901px) and (max-height:650px){
  .form-heading h2{font-size:34px}
  .finder-intro{font-size:13px}
  .selected-services li{font-size:12px;line-height:1.2}
  .trust-line p{font-size:10px}
  .trust-line b{font-size:11px}
  .primary-action{min-height:48px;font-size:13px}
}
@media(max-width:900px){
  .finder>.mobile-picker{display:none}
  .finder-intro{display:block;margin:5px 0 0;font-size:12px;line-height:1.3}
  .mobile-service-action{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-height:37px;margin-top:-5px;padding:4px 2px;border:0;border-bottom:1px solid #aaa;background:transparent;color:#111;text-align:left;font-size:13px;font-weight:650}
  .mobile-service-action small{margin-left:3px;font-size:11px;color:#525252;font-weight:500}
  .mobile-service-action>span:last-child{font-size:21px;line-height:1;color:#5d4315;font-weight:400}
  .label-row label,.contact-head>label{font-size:14px}
  .reference-rail button{font-size:12px}
  #contact-help{font-size:12px;line-height:1.35}
  .contact-toggle button{min-height:34px;font-size:12px}
  .primary-action{font-size:14px}
  .error{font-size:12px}
}
@media(max-width:360px) and (max-height:620px){
  .finder-intro{margin:2px 0 4px;font-size:12px}
  .mobile-service-action{min-height:32px;margin-top:-5px;font-size:12px}
  .mobile-service-action small{font-size:10px}
  .contact-toggle button{min-height:31px}
  #contact-help{font-size:11px}
  #idea{height:66px;min-height:66px}
}

/* Review 16 — keep the one-screen default, but let enlarged or respaced text reflow. */
@media(max-width:900px){
  body:not(.keyboard-open) .app-frame{height:auto;min-height:var(--usable-height,100dvh);grid-template-rows:42px minmax(0,1fr) auto}
  body:not(.keyboard-open) .workspace{max-height:none}
  body:not(.keyboard-open) footer{min-height:17px}
  .mobile-service-action>span:first-child{min-width:0;overflow-wrap:anywhere}
}
@media(min-width:901px) and (max-height:650px){
  .selected-services li{font-size:13px;line-height:1.25}
  .trust-line p{font-size:11px;line-height:1.35}
  .trust-line b{font-size:12px}
}
@media(min-width:901px){
  .workspace{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
}
.send-status{margin:7px 0 0;font-size:12px;line-height:1.35;color:#563d0e;text-align:center}
.send-status:empty{display:none}
.send-fallback{margin:6px 0 0;font-size:12px;line-height:1.4;color:#4c3022;text-align:center}
.send-fallback a{color:#171717;text-decoration:underline}
.primary-action:disabled{opacity:.7;cursor:wait}
.receipt-copy{font-size:14px;line-height:1.5;color:#272727;margin:8px 0}
.receipt-reference{font-size:13px;background:#efefef;border-left:3px solid var(--gold);padding:12px;border-radius:8px;overflow-wrap:anywhere}
.receipt-reference strong{display:block;font-size:15px;margin-top:4px;font-family:ui-monospace,monospace}
.secondary-action{width:100%;min-height:42px;margin-bottom:10px;border:1px solid #171717;border-radius:8px;background:#fff;color:#171717;font-weight:600}

/* One plain identity step: the required customer and project details share one visual system. */
.contact-fields{--identity-head-height:36px;display:grid;grid-template-columns:1fr;gap:12px}
.name-section>label,.address-section>label{display:flex;align-items:center;min-height:var(--identity-head-height);margin-bottom:9px;font-size:14px;font-weight:600}
.contact-fields .contact-head{min-height:var(--identity-head-height)}
#name,#address{display:block;width:100%;min-height:49px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f7f7f7;color:#111;font-size:16px}
#name[aria-invalid=true],#address[aria-invalid=true]{border-color:#ae412a}
.intake-privacy-short{margin:8px 0 2px;color:#393631;font-size:12px;line-height:1.4;text-align:center}
.privacy-link{border:0;background:none;padding:0;color:#27211a;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.privacy-dialog>p{font-size:14px;line-height:1.55;color:#292621;margin:12px 0}
.privacy-dialog a{color:#2b261b;text-decoration:underline;overflow-wrap:anywhere}
@media(min-width:901px){
  .contact-fields{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px;align-items:start}
  .contact-section{grid-column:1 / -1}
  .name-section>label,.address-section>label{margin-bottom:9px}
  #name,#address{background:#fff;border-radius:8px}
}
@media(min-width:1180px){
  .contact-fields{grid-template-columns:minmax(0,.72fr) minmax(0,1fr) minmax(0,1.28fr);gap:12px}
  .contact-section{grid-column:auto}
}
@media(max-width:900px){
  .contact-fields{--identity-head-height:0px;gap:9px}
  .name-section,.contact-section,.address-section{position:relative;min-width:0}
  .name-section>label,.address-section>label{position:absolute;z-index:1;left:12px;top:7px;min-height:0;margin:0;color:#555;font-size:10px;line-height:1;pointer-events:none}
  .contact-fields .contact-head{position:absolute;z-index:1;left:12px;right:6px;top:4px;min-height:27px;margin:0}
  .contact-head>label{color:#555;font-size:10px;line-height:1}
  .contact-toggle{padding:2px}
  .contact-toggle button{min-width:50px;min-height:23px;padding:2px 7px;font-size:10px}
  #name,#contact,#address{min-height:57px;padding:23px 12px 7px}
  .contact-section{margin-top:0}
  #contact-help{margin:4px 2px 0}
  .keyboard-open[data-editing=idea] .contact-fields{display:none}
  .keyboard-open[data-editing=name] .idea-field,.keyboard-open[data-editing=name] .contact-section,.keyboard-open[data-editing=name] .address-section{display:none}
  .keyboard-open[data-editing=contact] .idea-field,.keyboard-open[data-editing=contact] .name-section,.keyboard-open[data-editing=contact] .address-section{display:none}
  .keyboard-open[data-editing=address] .idea-field,.keyboard-open[data-editing=address] .name-section,.keyboard-open[data-editing=address] .contact-section{display:none}
  .intake-privacy-short{margin:4px 0 0;font-size:11px;line-height:1.3}
}
@media(max-width:360px) and (max-height:620px){
  .contact-fields{gap:7px}
  #name,#contact,#address{min-height:53px;padding:21px 11px 6px}
}
