/* Approved enquiry design: port photography, direct contact and a calm local brief. */
[data-page="quote"] { --dq-blue:#0753a2; --dq-ink:#0b2d43; --dq-muted:#647e90; --dq-surface:#f0f7fb; }
[data-page="quote"] .subpage { background:var(--dq-surface); }
[data-page="quote"] .page-wrap { width:88%; max-width:1440px; }
.dq-hero { position:relative; isolation:isolate; overflow:hidden; margin-top:0; min-height:640px; display:flex; align-items:center; padding:166px 0 106px; color:#fff; background:#143d55; }
.dq-hero-photo { position:absolute; inset:0; z-index:-2; }
.dq-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; display:block; }
.dq-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#062b4799 0,transparent 180px),linear-gradient(90deg,#052d46ed 0%,#07344b9c 36%,#093f5224 65%,transparent 100%); }
[data-page="quote"] .dq-hero h1 { margin:0; font-size:clamp(56px,5.3vw,88px); line-height:1.22; font-weight:650; letter-spacing:-.045em; color:#fff; }
.dq-hero h1>span,.dq-hero p>span { display:block; }
.dq-hero h1>span:last-child { color:#98ccff; }
.dq-hero p { color:#e0edf4; font-size:clamp(17px,1.45vw,21px); line-height:1.85; margin:28px 0 0; }
.dq-hero-edge { position:absolute; inset:auto 0 -1px; height:calc(26px + 25px * var(--section-edge-progress,1)); background:var(--dq-surface); pointer-events:none; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 50' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H190C224 0 236 25 272 25H1168C1204 25 1216 0 1250 0H1440V50H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.dq-enquiry { padding:35px 0 100px; background:var(--dq-surface); scroll-margin-top:100px; }
.dq-workspace { display:grid; grid-template-columns:minmax(0,.48fr) minmax(0,1fr); column-gap:clamp(36px,4vw,64px); row-gap:28px; align-items:start; }
.dq-guide { position:sticky; top:var(--dq-guide-top,104px); align-self:start; padding:14px 0 0; min-width:0; }
.dq-guide[data-scroll-follow="off"] { position:static; }
.dq-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 24px; font-size:15px; color:var(--dq-blue); }
.dq-eyebrow::before { content:""; width:8px; height:8px; flex:none; border-radius:50%; background:var(--dq-blue); box-shadow:0 0 0 4px #0753a20a; }
[data-page="quote"] .dq-guide h2 { margin:0; font-size:clamp(18px,2.3vw,36px); line-height:1.4; white-space:nowrap; font-weight:600; letter-spacing:-.035em; color:var(--dq-ink); }
.dq-guide h2>span { display:inline; }
.dq-guide-copy { max-width:385px; font-size:16px; line-height:1.9; color:var(--dq-muted); margin:22px 0 0; }
.dq-contact { border-top:1px solid #d4e4ed; margin-top:42px; padding-top:32px; }
.dq-contact h3 { margin:0 0 16px; font-size:15px; font-weight:450; line-height:1.7; color:var(--dq-ink); }
.dq-contact-person { margin:0 0 19px; font-size:15px; line-height:1.7; color:#637e90; }
.dq-contact-person strong { font-weight:600; color:var(--dq-ink); }
.dq-contact a { display:flex; align-items:center; width:fit-content; gap:14px; margin-top:15px; font-size:clamp(18px,1.6vw,23px); font-weight:550; line-height:1.6; color:var(--dq-blue); letter-spacing:-.015em; text-decoration:none; }
.dq-contact a>span { overflow-wrap:anywhere; }
.dq-contact a svg { width:25px; height:25px; flex:none; transition:transform .25s; }
.dq-contact a:hover svg { transform:translateY(-2px); }
.dq-contact a:hover>span { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.dq-local-network { display:flex; align-items:center; gap:19px; padding:24px; margin-top:44px; border:1px solid transparent; border-radius:22px; background:#e2f0fa; color:var(--dq-blue); transition:background .25s,border-color .25s; }
.dq-network-globe { display:block; width:48px; height:48px; flex:none; border-radius:50%; background:#666 url('assets/language-globe.gif') center/cover no-repeat; }
.dq-local-network>span:not(.dq-network-globe) { display:grid; gap:6px; color:#355b73; font-size:13px; line-height:1.75; }
.dq-local-network:hover { background:#d8ebf8; border-color:#bad5e8; }
.dq-guide a:focus-visible { outline:2px solid var(--dq-blue); outline-offset:5px; border-radius:8px; }
.dq-form-card { position:relative; min-width:0; border:1px solid #e8f0f5; border-radius:28px; padding:38px 40px 32px; background:#fff; box-shadow:0 8px 32px #1d608006; }
[data-page="quote"] .dq-form-heading h2 { font-size:clamp(29px,2.5vw,38px); line-height:1.45; font-weight:600; color:var(--dq-ink); letter-spacing:-.03em; margin:0; }
.dq-form-heading p { font-size:14px; line-height:1.8; color:#718697; margin:8px 0 26px; }
.dq-block { min-width:0; border:0; padding:0; margin:0 0 24px; }
.dq-block+.dq-block { border-top:1px solid #dfE9f0; padding-top:24px; }
.dq-block legend { float:left; width:100%; padding:0; margin:0 0 16px; font-size:16px; line-height:1.5; font-weight:600; color:var(--dq-ink); }
.dq-block::after { content:""; display:table; clear:both; }
.dq-fields { clear:both; display:grid; grid-template-columns:1fr 1fr; gap:19px 22px; }
.dq-fields label { display:flex; flex-direction:column; gap:9px; min-width:0; }
.dq-wide { grid-column:1/-1; }
.dq-fields label>span,.dq-choice-field>label,.dq-message>label { display:block; color:#244960; font-size:14px; line-height:1.5; font-weight:450; }
[data-page="quote"] #quote-form :is(input,select,textarea) { width:100%; min-width:0; border:1px solid #cfdeea; border-radius:12px; min-height:50px; padding:12px 16px; background:#fcfdff; font:inherit; font-size:14px; line-height:1.65; color:#244960; box-shadow:none; transition:background .22s,border-color .22s,box-shadow .22s; }
[data-page="quote"] #quote-form :is(input,textarea)::placeholder { color:#8498a8; opacity:1; }
[data-page="quote"] #quote-form :is(input,select,textarea):hover { border-color:#9ebfd9; }
[data-page="quote"] #quote-form :is(input,select,textarea):focus { outline:none; border-color:#4c92c8; background:#fff; box-shadow:0 0 0 3px #0753a212; }
.dq-choice-field { clear:both; }
.dq-choice-field+.dq-choice-field { margin-top:18px; }
.dq-choice-field>label { margin-bottom:9px; }
.dq-options { display:grid; gap:10px 12px; }
.dq-options--market { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dq-options--service { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dq-option { position:relative; display:flex; align-items:center; justify-content:center; padding:11px 12px 11px 30px; gap:6px; min-width:0; min-height:48px; border:1px solid #d0dfeb; border-radius:12px; font-size:14px; line-height:1.45; font-weight:400; color:#405d72; background:#fff; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.dq-option[aria-checked="true"] { color:var(--dq-blue); border-color:#3b89c6; background:#eaf5fd; font-weight:550; box-shadow:inset 0 0 0 3px #fff; }
.dq-option-check { position:absolute; left:12px; top:50%; display:grid; place-items:center; width:18px; height:18px; margin-top:-9px; border-radius:50%; background:var(--dq-blue); opacity:0; transform:scale(.7); transition:opacity .2s,transform .2s; }
.dq-option-check::before { content:""; width:8px; height:5px; border-left:1.4px solid #fff; border-bottom:1.4px solid #fff; transform:translateY(-1px) rotate(-45deg); }
.dq-option[aria-checked="true"] .dq-option-check { opacity:1; transform:scale(1); }
.dq-option:focus-visible { outline:2px solid var(--dq-blue); outline-offset:3px; }
.dq-option:hover { border-color:#77a8cf; background:#f2f8fc; color:var(--dq-blue); }
.dq-option[aria-checked="true"]:hover { background:#dfEFFb; }
.dq-message>label { margin-bottom:9px; font-size:16px; font-weight:600; }
[data-page="quote"] #quote-form textarea { display:block; min-height:106px; resize:vertical; background:#f5f8fb; }
.dq-submit-action { width:340px; max-width:100%; }
[data-page="quote"] .dq-submit-action .dq-submit { min-height:62px; width:100%; padding:8px 8px 8px 30px; font-size:16px; color:#fff; background:var(--dq-blue); border-color:var(--dq-blue); }
.dq-submit::before { background:#0b2d43; transform:translateX(-101%); }
.dq-submit-action .dq-submit .dms-contact-arrow { width:44px; height:44px; flex-basis:44px; color:var(--dq-blue); background:#fff; }
[data-page="quote"] .dq-submit-action .dq-submit:is(:hover,:focus-visible) { color:#fff; border-color:#0b2d43; }
.dq-submit-action .dq-submit:is(:hover,:focus-visible) .dms-contact-arrow { color:#0b2d43; background:#fff; }
[data-page="quote"] .dq-submit-action .dq-submit:focus-visible { outline:2px solid var(--dq-blue); outline-offset:5px; }
.dq-form-note { margin:12px 0 0; font-size:12px; line-height:1.8; color:#6c8294; }
[data-page="quote"] #quote-status { margin:14px 0 0; color:var(--dq-blue); font-size:13px; line-height:1.8; }
[data-page="quote"] #quote-status:empty { display:none; }
[data-page="quote"] #quote-result { margin-top:28px; padding-top:26px; border-top:1px solid #dce8f0; scroll-margin-top:110px; }
[data-page="quote"] #quote-result[hidden] { display:none; }
.dq-result-heading { display:flex; align-items:center; gap:14px; }
.dq-result-check { display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:50%; color:var(--dq-blue); background:#e9f4fc; }
.dq-result-check svg { width:22px; height:22px; }
.dq-result-heading h3 { margin:0; font-size:19px; line-height:1.5; color:var(--dq-ink); font-weight:550; }
.dq-result-heading p { margin:5px 0 0; font-size:12px; line-height:1.7; color:var(--dq-muted); }
[data-page="quote"] #quote-summary { margin:20px 0; padding:22px; border:1px solid #dce9f2; border-radius:16px; background:#f3f8fc; color:#2e5067; white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:13px; line-height:1.9; }
.dq-form-card .summary-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.dq-form-card .summary-actions button { min-height:44px; border:1px solid #c1d7e7; border-radius:999px; padding:11px 22px; font-size:13px; color:var(--dq-blue); background:#fff; transition:background .2s,border-color .2s; }
.dq-form-card .summary-actions button:hover { border-color:#6c9fc5; background:#eaf4fb; }
.dq-form-card .summary-actions button:focus-visible { outline:2px solid var(--dq-blue); outline-offset:3px; }
[data-page="quote"] .footer.footer--refined { position:relative; min-height:0; padding:55px 0 24px; }
html[lang="en"] .dq-hero h1 { font-size:clamp(48px,4.8vw,76px); letter-spacing:-.04em; }
html[lang="en"] .dq-guide h2 { font-size:clamp(28px,2.8vw,42px); line-height:1.2; white-space:normal; }
html[lang="en"] .dq-guide h2>span { display:block; }
html[lang="en"] .dq-option { font-size:12px; }
@media(max-width:1100px) {
  .dq-workspace { column-gap:32px; grid-template-columns:minmax(0,.45fr) minmax(0,1fr); }
  .dq-form-card { padding:30px 26px; }
  .dq-option { font-size:12px; padding-left:27px; padding-right:7px; }
  .dq-option-check { left:8px; width:15px; height:15px; margin-top:-7.5px; }
  .dq-local-network { padding:20px 16px; gap:12px; }
  .dq-network-globe { width:36px; height:36px; }
}
@media(max-width:800px) {
  .dq-hero { min-height:536px; padding:141px 0 86px; }
  [data-page="quote"] .dq-hero h1 { font-size:clamp(38px,7vw,60px); }
  .dq-workspace { grid-template-columns:1fr; gap:28px; }
  html:not([lang="en"]) .dq-guide h2 { font-size:clamp(22px,5.9vw,36px); }
  .dq-form-card { grid-column:1; grid-row:1; }
  .dq-guide { position:static; grid-column:1; grid-row:2; }
  .dq-contact { margin-top:25px; padding-top:24px; }
  .dq-local-network { max-width:400px; margin-top:26px; }
  .dq-enquiry { padding-bottom:75px; }
}
@media(max-width:480px) {
  .dq-form-card { padding:26px 20px; border-radius:22px; }
  .dq-fields { grid-template-columns:1fr; gap:18px; }
  .dq-options--market,.dq-options--service { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-page="quote"] #quote-form :is(input,select,textarea) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .dq-workspace *,.dq-workspace *::before { transition:none!important; animation:none!important; } }
@media(prefers-reduced-motion:reduce) { .dq-network-globe { background-image:url('assets/language-globe-still.png'); } }
@media(forced-colors:active) { .dq-option[aria-checked="true"] { border:2px solid Highlight; } [data-page="quote"] #quote-form :is(input,select,textarea):focus { outline:2px solid Highlight; outline-offset:2px; } }
