/* Shared phone layouts, loaded after the individual page styles. */
.request-mobile-fee{display:none}
@media(max-width:900px){
 .header .menu-toggle{min-width:44px;min-height:44px}
 .customer-profile input,.account-card input,.payment-recovery input,.wallet-choice select,#client-message-form textarea{font-size:16px;min-height:48px}
 .checkout-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:680px}
 .checkout-story h1{font-size:58px;letter-spacing:-2.5px;line-height:1.05;margin:20px 0}
 .checkout-steps{display:none}
 .checkout-story .checkout-back{display:none}
}
@media(max-width:760px){
 html{scroll-padding-top:92px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{max-width:100%}
 .wrap{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
 .header{height:76px;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right));gap:12px}
 .header .brand{font-size:20px;gap:8px;min-width:0}
 .header .brand svg{width:24px;height:30px;flex-shrink:0}
 .header-actions{gap:8px;flex-shrink:0}
 .header .header-client-login{min-height:44px;padding:11px 12px;gap:9px;font-size:11px}
 .header .menu-toggle{min-width:44px;min-height:44px;display:grid;place-items:center;padding:10px}
 .header[data-menu-open=true] nav{left:16px;right:16px;max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}
 .header nav a{min-height:48px;display:flex;align-items:center;font-size:14px}
 .hero{padding-top:38px}
 .hero-actions{flex-direction:column;align-items:stretch;gap:12px;width:100%}
 .hero-actions>.button,.hero-actions>.text-link{width:100%;min-width:0;flex-shrink:1;min-height:48px}
 .hero-actions>.button{justify-content:space-between;font-size:13px;padding:16px 18px}
 .hero-actions>.text-link{justify-content:center;font-size:12px;gap:15px}
 .hero-description{font-size:14px;line-height:1.85}
 .price-card .button,.contact-section .button{min-height:48px;font-size:13px}
 .request-intro{padding-top:28px;padding-bottom:24px}
 .request-intro h1{font-size:clamp(29px,8.1vw,36px);line-height:1.13;letter-spacing:-1.2px;margin:18px 0}
 .request-intro>p{font-size:14px;line-height:1.8}
 .request-intro .breadcrumbs{margin-bottom:26px}
 .request-intro .request-mobile-fee{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;border-block:1px solid #49303b;padding:15px 0;margin:22px 0 0;color:#a893a2;font:9px/1.6 monospace;letter-spacing:.4px}
 .request-mobile-fee strong{color:#f4b7c5;font:500 14px 'DM Sans',Arial,sans-serif;letter-spacing:0}
 .request-layout{display:flex;flex-direction:column;gap:24px;padding-bottom:48px}
 .request-workspace{order:1;width:100%;min-width:0;padding:24px 20px}
 .request-recap{order:2;width:100%;min-width:0;position:static;padding:24px}
 .request-account-gate h2{font-size:32px;letter-spacing:-1px}
 .request-account-gate>p,.step-intro{font-size:14px;line-height:1.8}
 .request-account-gate .button{width:100%;min-height:48px;justify-content:space-between;gap:15px;font-size:12px}
 .request-signed-in{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding-bottom:20px;margin-bottom:25px}
 .request-signed-in>span{font-size:9px}.request-signed-in strong{font-size:14px;overflow-wrap:anywhere}
 .request-signed-in a{min-height:44px;display:flex;align-items:center;margin:0;font-size:12px}
 .request-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:20px;margin-bottom:25px}
 .request-progress li{font-size:11px;line-height:1.45;gap:8px;min-width:0;flex-direction:column;align-items:flex-start;flex-wrap:nowrap}
 .request-progress li>span{width:24px;height:24px;font-size:9px;flex-shrink:0}
 .request-workspace fieldset{min-width:0}
 .request-workspace legend{max-width:100%;font-size:26px;line-height:1.2;letter-spacing:-.8px}
 .request-workspace input:not([type=checkbox]),.request-workspace select,.request-workspace textarea{font-size:16px;min-height:48px;max-width:100%}
 .request-workspace textarea{min-height:140px;resize:vertical}
 .request-workspace label:not(.request-check){font-size:13px}
 .request-help{font-size:12px;line-height:1.75}
 .request-check{padding:16px;gap:12px;align-items:flex-start}
 .request-check input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:2px}
 .request-check span,.request-payment-accept span{font-size:12px;line-height:1.8}
 .request-actions{flex-wrap:wrap;gap:12px;padding-top:22px;margin-top:25px}
 .request-actions>#request-next{flex:1 1 190px;min-width:0;min-height:48px;justify-content:space-between;text-align:left;white-space:normal;font-size:12px;padding:15px 16px;gap:12px;margin-left:0}
 .request-actions>#request-back{flex:0 1 auto;min-height:48px;font-size:12px;padding:14px 16px}
 .request-review dt{font-size:11px}.request-review dd{min-width:0;font-size:14px;overflow-wrap:anywhere;line-height:1.65}
 .request-review>div{min-width:0;gap:10px;flex-wrap:wrap}
 .request-privacy,.request-next p,.request-permission{font-size:12px;line-height:1.8}
 .service-footer-links>a,.client-entry-public{display:flex;align-items:center;min-height:44px;font-size:12px}
 footer>div{flex-wrap:wrap;justify-content:flex-start;gap:8px 22px;font-size:12px}
 footer>div>a,footer>div>button{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
 footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 dialog{width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:24px 20px}
 dialog input,dialog select,dialog textarea{font-size:16px}
 dialog button,.faq summary,.check-limits summary,.request-privacy button{min-height:44px}
 .article-header h1,.blog-index h1{font-size:clamp(31px,8.7vw,42px);line-height:1.16;letter-spacing:-1.4px;overflow-wrap:break-word}
 .article-body{min-width:0}.article-body p{font-size:15px;line-height:1.9;overflow-wrap:anywhere}
 .article-body pre{max-width:100%;overflow-x:auto;font-size:12px}
 .article-body table{display:block;max-width:100%;overflow-x:auto}
 .article-body img{max-width:100%;height:auto}
 .customer-header{height:auto;min-height:80px;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));gap:12px;flex-wrap:wrap}
 .customer-brand{font-size:22px;flex-shrink:0}.customer-brand span{display:none}
 .customer-header>a:last-child{min-height:44px;display:flex;align-items:center;font-size:12px}
 .customer-main{padding:35px max(20px,env(safe-area-inset-right)) 30px max(20px,env(safe-area-inset-left));min-width:0}
 .customer-main h1{font-size:clamp(34px,9vw,43px);line-height:1.1;letter-spacing:-1.5px}
 .customer-deck,.customer-profile p{font-size:14px;line-height:1.8}
 .customer-profile{padding:24px 20px;max-width:100%;min-width:0}
 .customer-profile label{font-size:13px}
 .customer-profile input,.account-card input{font-size:16px;min-height:48px;min-width:0}
 .customer-profile small{font-size:11px;line-height:1.8}
 .customer-button{min-height:48px;font-size:13px;padding:15px 17px;gap:16px;min-width:0;text-align:left;white-space:normal}
 .customer-requests{grid-template-columns:minmax(0,1fr)}
 .customer-request{padding:23px 20px}.customer-request h3{font-size:20px}
 .customer-request p{font-size:14px;line-height:1.8}
 .customer-topline>div{min-width:0}.customer-topline strong,.customer-topline small{overflow-wrap:anywhere}
 .customer-topline{align-items:stretch;flex-direction:column}
 .customer-request-bottom{flex-wrap:wrap;gap:10px}
 .customer-request-bottom>a,.customer-project-link{display:flex;align-items:center;min-height:44px;font-size:12px}
 .customer-reference{font-size:9px;line-height:1.7}
 .customer-state{font-size:9px;line-height:1.4}
 .customer-footer{padding:20px max(20px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));flex-wrap:wrap;gap:12px}
 .customer-footer>a{min-height:44px;display:flex;align-items:center;font-size:12px}
 .customer-caveat{font-size:12px;line-height:1.85}.customer-empty{padding:30px 22px}
 .client-project{padding:32px max(20px,env(safe-area-inset-right)) 40px max(20px,env(safe-area-inset-left));min-width:0}
 .client-project-heading h1{font-size:clamp(25px,7vw,34px);letter-spacing:-.8px;overflow-wrap:anywhere}
 .client-project-heading>p{font-size:14px;line-height:1.8}
 .client-project-status span{font-size:9px;line-height:1.5;min-width:0}
 .client-project-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .client-project-grid>section{min-width:0}
 .client-project-tabs{top:0;flex-wrap:wrap;gap:10px 23px;padding:6px 0;min-height:56px}
 .client-project-tabs a{min-height:44px;display:flex;align-items:center;font-size:13px}
 .client-messages{padding:16px;max-height:min(58dvh,460px);min-height:180px;overscroll-behavior:contain}
 .client-message{padding:16px}.client-message p{font-size:14px;line-height:1.8}
 .client-message strong{font-size:10px}.client-message time{font-size:10px}
 #client-message-form textarea{font-size:16px;line-height:1.6;min-height:130px;padding:14px}
 #client-message-form>label{font-size:14px}
 #client-message-form>div{flex-direction:column;align-items:stretch}
 #client-message-form button{font-size:13px;min-height:48px;justify-content:space-between;padding:15px 17px}
 #message-feedback{font-size:12px;line-height:1.7;max-width:none}
 .message-refresh{min-height:44px;padding:12px;font-size:12px}
 .client-report-block p,.client-report-pending p,.client-report-findings>p{font-size:14px;line-height:1.85}
 .client-report-finding{padding:20px 17px}.client-report-block h3{font-size:18px}
 .checkout-layout{padding:30px max(20px,env(safe-area-inset-right)) 45px max(20px,env(safe-area-inset-left));gap:24px}
 .checkout-header{padding:19px max(20px,env(safe-area-inset-right)) 19px max(20px,env(safe-area-inset-left));gap:16px;flex-wrap:wrap}
 .checkout-story h1{font-size:48px;letter-spacing:-2px;line-height:1.04;margin:18px 0}
 .checkout-deck{font-size:14px;line-height:1.75}
 .invoice-card{padding:24px 20px;min-width:0}.invoice-topline{flex-wrap:wrap;gap:12px;font-size:9px;line-height:1.5}
 .invoice-state{font-size:9px}.invoice-amount strong{font-size:68px}
 .invoice-details{font-size:13px}.invoice-details>div{gap:18px}.invoice-details dd{min-width:0}
 .invoice-fiat,.payment-feedback{font-size:13px;line-height:1.8}
 .invoice-recipient summary,.payment-recovery summary{min-height:44px;align-items:center;line-height:1.65;font-size:12px}
 .invoice-recipient code,.linked-wallet code{font-size:12px;line-height:1.8}
 .invoice-recipient p,.invoice-footnote p{font-size:11px}
 .payment-recovery input,.wallet-choice select{font-size:16px;min-height:48px;min-width:0}
 .checkout-button,.checkout-secondary{min-height:48px;font-size:13px}
 .payment-receipt a{min-height:44px;display:flex;align-items:center;font-size:12px}
 .payment-receipt p{font-size:14px}
 .checkout-footer{padding-inline:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom));font-size:10px}
 .checkout-footer a{display:flex;align-items:center;min-height:44px}
 .account-page{padding:20px;min-height:100dvh}.account-card{padding:28px 22px;min-width:0}
 .account-card button,.account-logout{min-height:44px}.account-card .field-hint{font-size:13px}
 .admin-sidebar nav{gap:8px;align-items:stretch}.admin-sidebar nav button{min-height:44px;font-size:12px;padding:12px 8px}
 .admin-sidebar .admin-client-inbox{width:100%;min-height:44px}
 .form-grid>*{min-width:0}.admin-workspace{min-width:0}
 .form-card input,.form-card select,.form-card textarea,.body-editor{font-size:16px!important;min-width:0;max-width:100%}
 .admin-button{min-height:44px;white-space:normal;text-align:left}
 .inbox-actions{flex-wrap:wrap}.request-inbox-card,.workspace-card{min-width:0;overflow-wrap:anywhere}
 .ambient-toggle{min-height:36px;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}
}
@media(max-width:370px){
 .header{gap:8px;padding-inline:14px}.header .brand{font-size:18px;gap:7px}.header .brand svg{width:22px}
 .header .header-client-login{font-size:10px;padding-inline:10px;gap:6px}.header-actions{gap:6px}
 .hero h1{font-size:34px;letter-spacing:-1.8px}.hero-description{font-size:13px}
 .request-workspace{padding-inline:17px}.request-progress{gap:4px}.request-progress li{font-size:10px}
 .customer-header{gap:5px 12px}.customer-brand{font-size:20px}.customer-header>a:last-child{font-size:11px}
 .customer-section-heading{gap:12px;flex-wrap:wrap}
 .client-project-tabs{gap:8px 18px}.client-project-tabs a{font-size:12px}
}
