/* Visual explanations inside the established dark-and-gold site. */
#individual-services, #service, #contact2, #project-quiz { scroll-margin-top:100px; }
.single-service { max-width:1320px; margin:88px auto 0; padding:40px 0 0; text-align:left; border-bottom:0; }
.single-service__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.single-service h2 { font-size:clamp(28px,3.5vw,44px); line-height:1.15; letter-spacing:-.03em; }
.single-service__heading p { margin:14px 0 0; font-size:16px; line-height:1.6; }
.service-rail__controls { display:flex; align-items:center; flex-shrink:0; gap:14px; color:#d7b780; font-size:13px; font-variant-numeric:tabular-nums; }
.service-rail__controls button { display:grid; place-items:center; width:46px; height:46px; border:1px solid #817153; border-radius:50%; color:#d7b780; background:transparent; cursor:pointer; }
.service-rail__controls button:first-child svg { transform:rotate(180deg); }
.single-service svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; flex-shrink:0; }
.service-rail { display:flex; overflow-x:auto; gap:22px; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#8b754f #25231f; padding:0 0 18px; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain; }
.single-service .one-service { flex:0 0 calc((100% - 44px)/3); min-width:0; display:flex; flex-direction:column; color:#f8f1e5; text-decoration:none; scroll-snap-align:start; scroll-snap-stop:always; border-bottom:1px solid #62563f; }
.one-service__visual { position:relative; height:260px; overflow:hidden; border-radius:12px; background:#141414; }
.one-service__visual>img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; transition:object-position 1.2s cubic-bezier(.16,1,.3,1); }
.one-service:hover .one-service__visual>img { object-position:50% 55%; }
.one-service__visual>img.one-service__app { object-position:50% 50%; }
.one-service__caption { position:absolute; bottom:12px; left:12px; right:12px; width:fit-content; padding:6px 9px; border-radius:4px; background:#171717ed; color:#f8f1e5; font-size:11px; }
.one-service__copy { padding:22px 2px 24px; display:flex; flex:1; flex-direction:column; }
.one-service__copy h3 { color:#d7b780; font-size:23px; margin:0 0 12px; font-weight:650; }
.one-service__copy p { color:#f8f1e5; font-size:17px; line-height:1.5; margin:0 0 12px; }
.one-service__copy small { color:#beb9b0; font-size:14px; line-height:1.6; display:block; margin-bottom:26px; }
.one-service__link { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#d7b780; font-size:13px; font-weight:650; }
.service-rail__hint { font-size:12px; margin-top:12px!important; }
.service-demo { height:100%; padding:22px; display:flex; flex-direction:column; justify-content:center; gap:13px; }
.service-demo>span { color:#aaa499; font-size:10px; }
.service-demo__search { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px; border:1px solid #706044; border-radius:24px; font-size:12px; color:#f8f1e5; }
.service-demo__result { font-size:12px; }
.service-demo__result small { color:#bcb4a6; font-size:10px; }
.service-demo__result b { display:block; color:#d7b780; font-size:19px; line-height:1.3; margin:8px 0; font-weight:600; }
.service-demo__result p { font-size:12px; line-height:1.5; margin:8px 0; color:#e1dbd0; }
.service-demo__result em { display:inline-flex; align-items:center; gap:15px; padding:7px 10px; border:1px solid #8b754f; color:#d7b780; border-radius:5px; font-style:normal; font-size:11px; }
.service-demo__journey { display:flex; align-items:center; gap:12px; color:#d7b780; font-size:12px; }
.service-demo--ad { background:#25221d; }
.one-service:focus-visible,.service-rail:focus-visible,.service-rail__controls button:focus-visible { outline:2px solid #f1d59e; outline-offset:4px; }
.service-rail__controls button:hover { background:#d7b780; color:#151515; }
.service-rail__controls button:disabled { opacity:.35; cursor:default; }
.package-card { position:relative; }
.package-card a::after { content:""; position:absolute; inset:0; }
.package-card:focus-within { outline:2px solid #d7b780; outline-offset:4px; }
.quiz [hidden] { display:none!important; }
.quiz-btn { min-height:44px; font-size:14px; }
.quiz-option { min-height:48px; }
.form-status { color:#f8f1e5; font-size:14px; line-height:1.6; padding:14px 0; overflow-wrap:anywhere; }
.form-status--success { color:#cce8bd; }
.form-status--error { color:#ffd0c7; }
.form-status a { color:#f1d59e; text-decoration:underline; text-underline-offset:3px; }
.form-status:focus-visible { outline:2px solid #f1d59e; outline-offset:4px; }
@media(max-width:1000px) { .single-service .one-service { flex-basis:calc((100% - 22px)/2); } }
@media(max-width:600px) {
 .single-service { margin-top:56px; padding-top:30px; }
 .single-service__heading { display:block; margin-bottom:20px; }
 .single-service__heading p { font-size:15px; }
 .service-rail__controls { margin-top:20px; justify-content:flex-end; }
 .service-rail { gap:16px; cursor:grab; scrollbar-width:none; }
 .service-rail::-webkit-scrollbar { display:none; }
 .single-service .one-service { flex-basis:100%; }
 .one-service__visual { height:230px; }
 .one-service__copy { padding:20px 2px; }
 .service-demo { padding:20px; }
 .quiz__nav { gap:10px; }
 .quiz-btn { font-size:13px; padding:12px 14px; }
}
@media(prefers-reduced-motion:reduce) { .service-rail { scroll-behavior:auto; } .one-service__visual>img { transition:none; } }
