/* Full-viewport service scene. The photograph and controls stay in the same visual space. */
#service-dialog.service-screen{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg);color:var(--text);box-shadow:none;overflow:hidden;overscroll-behavior:contain}
#service-dialog::backdrop{background:transparent;backdrop-filter:none}
#service-dialog[open]{display:grid;grid-template-rows:80px minmax(0,1fr) 88px}
.service-screen *{box-sizing:border-box}.service-screen button,.service-screen a{touch-action:manipulation}
.screen-header,.screen-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(32px,calc((100vw - 1440px)/2 + 48px));background:var(--bg);z-index:2}
.screen-header{border-bottom:1px solid var(--line)}.screen-footer{border-top:1px solid var(--line)}
.screen-back{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-size:12px;color:var(--muted)}.screen-back span[aria-hidden]{font-size:22px}
.screen-brand{font-size:16px;letter-spacing:.3em;font-weight:300}.screen-position{font-size:10px;letter-spacing:.12em;color:var(--subtle);min-width:68px;text-align:right}
.screen-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;max-width:1440px;width:100%;margin:auto;padding:32px 48px;min-height:0;height:100%}
.screen-visual{position:relative;margin:0;overflow:hidden;min-height:0;background:var(--surface);isolation:isolate}
.screen-photo{width:100%;height:100%;object-fit:cover}
.screen-identity{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;gap:20px;padding:40px;background:linear-gradient(0deg,#050505f2,#05050566 50%,transparent 85%);color:#f5f5f7}
.service-screen .screen-identity h2{margin:0;font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-.025em;max-width:20ch}
.service-screen .screen-identity p{font-size:14px;line-height:1.7;color:#f5f5f7;max-width:38ch;margin:0}
.screen-workspace{display:flex;flex-direction:column;min-height:0;min-width:0;gap:24px;padding:0}
.screen-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);flex-shrink:0}
.screen-tabs button{position:relative;min-height:48px;padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.screen-tabs button[aria-selected=true]{border-color:var(--text);color:var(--text)}
.screen-tabs button:focus-visible,.screen-back:focus-visible{outline-offset:2px}
.screen-questions{display:flex;flex-wrap:wrap;gap:8px 16px;flex-shrink:0}
.screen-questions button{padding:8px 0;min-height:44px;font-size:12px;border-bottom:1px solid var(--line);color:var(--muted)}
.screen-questions button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--text)}
.screen-pane{position:relative;flex:1;min-height:0;overflow:hidden;outline-offset:4px}
.screen-pane:focus-visible{outline:2px solid var(--text)}
.screen-page{display:flex;flex-direction:column;gap:20px;width:100%;min-width:0}
.service-screen .screen-page p{font-size:15px;line-height:1.7;color:var(--muted);margin:0;overflow-wrap:anywhere;white-space:pre-line}
.screen-feature{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:baseline;padding-bottom:16px;border-bottom:1px solid var(--line)}
.screen-feature>span{font-size:10px;color:var(--subtle);font-variant-numeric:tabular-nums}
.service-screen .screen-feature p{color:var(--text);font-size:14px;line-height:1.6}
.service-screen .screen-page .screen-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);margin-bottom:12px}
.service-screen .screen-page h3{margin:0 0 16px;font-size:21px;line-height:1.45;color:var(--text);letter-spacing:-.015em;text-wrap:pretty}
.screen-pages{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;flex-shrink:0}
.screen-pages button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font-size:11px;color:var(--muted)}.screen-pages button span{font-size:20px}
.screen-page-count{font-size:10px;letter-spacing:.06em;color:var(--subtle)}
.screen-pages[data-single=true]{visibility:hidden;min-height:0;height:0}
.screen-browse{display:flex;gap:24px;align-items:center}.screen-browse button{min-height:44px;display:flex;gap:12px;align-items:center;padding:8px 0;font-size:12px}.screen-browse span[aria-hidden]{font-size:22px}
.service-screen .screen-primary{margin:0;min-height:48px;font-size:11px;padding:16px 24px;min-width:240px;justify-content:space-between}
.screen-contact{font-size:13px;min-height:44px;display:flex;align-items:center}
.screen-form{height:100%;display:flex;flex-direction:column;gap:24px;margin:0}
.screen-form label{font-size:12px;display:block;margin-bottom:8px}.screen-form label span{font-size:10px;color:var(--subtle)}
.screen-form input,.screen-form select,.screen-form textarea{width:100%;font-size:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:12px;min-height:48px;box-sizing:border-box;max-width:100%}
.screen-form textarea{resize:none;flex:1;min-height:96px;height:180px}
.screen-wish{flex:1;min-height:0;display:flex;flex-direction:column}
.screen-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-screen .screen-form .screen-notice,.service-screen .screen-notice{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.service-screen .screen-error{font-size:12px;line-height:1.5;color:var(--text);border-left:2px solid currentColor;padding-left:12px;margin:0}
.screen-status{font-size:12px;color:var(--muted)}
.screen-measure{position:absolute;top:0;left:-10000px;visibility:hidden;pointer-events:none;height:auto;max-height:none}
.screen-identity h2:focus{outline:none}
@media(hover:hover) and (pointer:fine){.screen-back:hover,.screen-browse button:hover,.screen-pages button:hover,.screen-contact:hover{color:var(--text)}.screen-tabs button:hover,.screen-questions button:hover{color:var(--text)}}
@media(max-width:1100px){.screen-layout{gap:32px;padding:24px 32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.screen-identity{padding:24px}.screen-workspace{gap:20px}.screen-tabs{gap:20px}.service-screen .screen-page p{font-size:14px}.screen-feature{gap:12px;padding-bottom:12px}.screen-page{gap:16px}}
@media(max-width:760px){
 #service-dialog[open]{grid-template-rows:64px minmax(0,1fr) 80px}
 .screen-header,.screen-footer{padding:12px 24px;gap:12px}.screen-back{font-size:11px;gap:8px}.screen-brand{font-size:12px;letter-spacing:.2em}.screen-position{font-size:9px;min-width:48px}
 .screen-layout{grid-template-columns:1fr;grid-template-rows:144px minmax(0,1fr);gap:24px;padding:20px 24px}
 .screen-visual{display:grid;grid-template-columns:80px 1fr;gap:20px;overflow:hidden;background:transparent;align-items:center}
 .screen-photo{width:80px;height:100%;object-fit:cover}
 .screen-identity{position:static;display:block;padding:0;background:none;color:var(--text)}
 .service-screen .screen-identity h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0}
 .service-screen .screen-identity p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:12px}
 .screen-workspace{gap:16px}.screen-tabs{gap:24px;justify-content:space-between}.screen-tabs button{font-size:12px;min-height:44px;padding:10px 0}
 .screen-page{gap:16px}.screen-feature{padding-bottom:12px;gap:12px;grid-template-columns:20px 1fr}.service-screen .screen-page p,.service-screen .screen-feature p{font-size:14px;line-height:1.65}
 .service-screen .screen-page h3{font-size:18px;line-height:1.45;margin-bottom:12px}.service-screen .screen-page .screen-label{font-size:9px;margin-bottom:8px}
 .screen-questions{gap:4px 16px}.screen-questions button{font-size:11px;min-height:40px;padding:8px 0}
 .screen-browse{gap:16px}.screen-browse button{min-width:32px;min-height:44px;padding:0;justify-content:center}.screen-browse .browse-label{display:none}
 .service-screen .screen-primary{font-size:10px;padding:12px 16px;min-width:0;min-height:48px;gap:16px;flex:1;max-width:240px;letter-spacing:.04em;text-transform:none}
 .screen-footer .screen-contact{font-size:11px}.screen-form{gap:16px}.screen-form-grid{gap:16px}.screen-form input,.screen-form select{min-height:44px;padding:10px 8px}.screen-form textarea{min-height:72px}.screen-form label{font-size:11px;margin-bottom:8px}.screen-form label span{font-size:9px}.service-screen .screen-form .screen-notice{font-size:11px}
 .screen-pages{min-height:44px}.screen-pages button{font-size:10px}.screen-page-count{font-size:9px}
}
@media(max-height:760px){
 #service-dialog[open]{grid-template-rows:64px minmax(0,1fr) 72px}.screen-layout{padding-top:20px;padding-bottom:20px}.screen-workspace{gap:16px}.screen-identity{gap:12px}.screen-page{gap:12px}.screen-feature{padding-bottom:8px}.service-screen .screen-page h3{font-size:18px}
}
@media(max-width:760px) and (max-height:720px){
 #service-dialog[open]{grid-template-rows:56px minmax(0,1fr) 72px}
 .screen-header,.screen-footer{padding:8px 20px}.screen-layout{grid-template-rows:68px minmax(0,1fr);gap:12px;padding:12px 20px}.screen-visual{grid-template-columns:56px 1fr;gap:16px}.screen-photo{width:56px}.service-screen .screen-identity h2{font-size:21px}.service-screen .screen-identity p{display:none}.screen-workspace{gap:12px}.screen-tabs{gap:16px}.screen-page{gap:12px}.screen-form{gap:12px}.screen-form textarea{min-height:56px}.screen-form-grid{gap:12px}.screen-questions{gap:0 12px}
}
@media(max-height:440px){.screen-layout{grid-template-rows:minmax(0,1fr)}.screen-visual{display:none}.screen-brand{display:none}.screen-header{position:relative}.screen-header::after{content:attr(data-title);font-size:12px;max-width:44%;line-height:1.3}.screen-position{order:3}.screen-workspace{gap:8px}.screen-tabs button{min-height:36px}.screen-form textarea{min-height:44px}.service-screen .screen-form .screen-notice{font-size:10px}}
@media(max-width:420px){.screen-brand{display:none}}
@media(prefers-reduced-motion:reduce){.service-screen *{animation:none!important;transition:none!important}}
