/* A szolgáltatásoldal saját stílusai; a közös arculat a style.css fájlban marad. */
.services-page{--service-head-height:90px;--service-jump-height:78px}
html:has(body.services-page){scroll-padding-top:0}
.services-page main{overflow:clip}
.services-intro{position:relative;isolation:isolate;padding:48px 0 65px;background:radial-gradient(ellipse at 70% 30%,#16395888,transparent 65%),var(--night);color:#eaf0f6;overflow:hidden}
.services-intro::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0 70px,#8cb6de05 70px 71px);pointer-events:none}
.services-intro-grid{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:65px}
.breadcrumbs{display:flex;align-items:center;gap:13px;font-size:14px;color:#aab9c9;margin-bottom:35px;flex-wrap:wrap}
.breadcrumbs a:hover{color:var(--gold)}
.services-intro .eyebrow{color:var(--gold);font-size:13px;margin-bottom:22px}
.services-intro h1{font-size:clamp(38px,4.2vw,60px);line-height:1.06;color:#f0f3f7;letter-spacing:-.045em;font-weight:400;margin-bottom:25px}
.services-intro h1>span{font-weight:900;color:var(--gold)}
.services-intro-copy>p:not(.eyebrow){font-size:19px;line-height:1.75;color:#c7d2df;max-width:510px;margin-bottom:28px}
.intro-actions{display:flex;align-items:flex-start;flex-direction:column;gap:24px}
.intro-actions .button,.services-bridge .button,.planning-copy .button,.quote-actions .button{max-width:100%;text-align:left}
.intro-more{display:inline-flex;align-items:center;gap:20px;color:#d6e0ea;font-size:16px;font-weight:600}
.intro-more span{color:var(--gold);font-size:23px;animation:bob 2s ease-in-out infinite}
.services-intro-visual{position:relative;margin-top:25px}
.services-intro-visual::before{content:"";position:absolute;inset:-12px 15px 14px -12px;border:1px solid #b4cae32b;border-radius:5px;z-index:-1}
.services-intro-visual>img{width:100%;height:475px;object-fit:cover;object-position:center;border-radius:5px;box-shadow:0 25px 50px #0005}
.intro-image-label{position:absolute;left:-25px;bottom:25px;display:flex;align-items:center;gap:18px;padding:18px 24px;background:#0b1925ed;backdrop-filter:blur(10px);border-left:3px solid var(--gold);box-shadow:0 15px 30px #0003;border-radius:3px;animation:service-float 7s ease-in-out infinite}
.intro-image-label>span{font-size:44px;line-height:1;font-weight:800;color:var(--gold);letter-spacing:-.06em}
.intro-image-label p{margin:0;font-size:12px;letter-spacing:.05em;line-height:1.8;color:#bac8d8}
.intro-image-label strong{display:block;font-size:14px;letter-spacing:0;color:#ecf1f7}
.intro-light-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d6a31666,transparent);overflow:hidden}
.intro-light-line::after{content:"";position:absolute;width:30%;height:100%;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:service-light 7s ease-in-out infinite}
.service-jumpbar{position:sticky;top:var(--service-head-height);z-index:80;background:#e5e9eef2;backdrop-filter:blur(16px);border-bottom:1px solid #bdc8d4;box-shadow:0 8px 20px #1023330b}
.service-jump-links{display:flex;justify-content:space-between;gap:14px;padding-block:18px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a5b0bf transparent}
.service-jump-links a{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;font-size:16px;font-weight:700;white-space:nowrap;padding:8px 11px;border-radius:4px;transition:background .25s,color .25s}
.service-jump-links a>span{color:#7f8d9d;font-size:13px;font-weight:600}
.service-jump-links a:hover{background:#cbd4df55}
.service-jump-links a[aria-current]{background:var(--night);color:#f2f5f8;box-shadow:0 4px 10px #10233315}
.service-jump-links a[aria-current]>span{color:var(--gold)}
.service-detail{padding-block:90px;scroll-margin-top:calc(var(--service-head-height) + var(--service-jump-height) + 20px)}
.detail-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:80px;align-items:center}
.detail-reverse .detail-visual{order:2}
.detail-visual{position:relative;min-width:0;padding-top:28px}
.detail-number{font-size:116px;line-height:1;font-weight:900;letter-spacing:-.08em;color:#c5ccd5;position:absolute;top:-47px;right:5px;z-index:0;user-select:none}
.detail-photo{position:relative;display:block;width:100%;height:510px;border:0;border-radius:5px;padding:0;background:#c4cbd4;overflow:hidden;box-shadow:0 20px 35px #0f223126;isolation:isolate}
.detail-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.detail-photo:hover>img{transform:scale(1.045)}
.detail-photo::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#06132166);pointer-events:none}
.detail-zoom{position:absolute;right:20px;bottom:20px;width:43px;height:43px;display:grid;place-items:center;background:linear-gradient(135deg,#ffffff33,transparent),var(--gold);color:var(--night);border-radius:5px;border:1px solid #ffffff55;box-shadow:inset 0 1px 1px #fff8,0 3px 0 #a7790b,0 6px 15px #0003;font-size:25px;z-index:2;transition:transform .2s}
.detail-photo:hover .detail-zoom{transform:translateY(-3px)}
.detail-photo:active .detail-zoom{transform:translateY(2px)}
.detail-image-note{display:block;font-size:13px;letter-spacing:.09em;font-weight:700;color:#637183;margin-top:21px;line-height:1.6}
.detail-image-note::before{content:"";display:inline-block;width:30px;height:2px;background:#be890e;vertical-align:middle;margin-right:12px}
.detail-copy .eyebrow{font-size:14px;margin-bottom:20px}
.detail-copy h2{font-size:clamp(31px,3.1vw,44px);line-height:1.13;margin-bottom:23px}
.detail-copy>p{font-size:18px;line-height:1.8;color:var(--muted)}
.detail-copy>.detail-lead{font-size:20px;line-height:1.65;color:var(--ink);margin-bottom:18px}
.detail-list{list-style:none;padding:0;margin:23px 0;font-size:17px;line-height:1.65;display:grid;gap:10px;color:#344455}
.detail-list li{position:relative;padding-left:25px}
.detail-list li::before{content:"✓";position:absolute;left:0;color:#a46e00;font-weight:700}
.detail-tip{padding:17px 20px;background:#ccd5df55;border-left:2px solid #ba850c;border-radius:0 5px 5px 0;margin:25px 0}
.detail-tip strong{font-size:13px;letter-spacing:.07em;color:#805900}
.detail-tip p{font-size:16px;line-height:1.7;margin:6px 0 0;color:#536275}
.detail-copy .text-link{font-size:16px;line-height:1.6;color:#152d44;gap:16px}
.detail-copy .text-link span{color:#a77600}
.detail-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px}
.detail-secondary{font-size:16px;text-decoration:underline;text-underline-offset:5px;color:#c5d3e2}
.detail-dark{--ink:#e9eff5;--muted:#c2cedb;background:radial-gradient(ellipse at 90% 30%,#13365066,transparent 60%),#09141f;color:#e9eff5}
.detail-dark .eyebrow,.detail-dark .orange{color:var(--gold)}
.detail-dark h2{color:#f0f3f7}
.detail-dark .detail-list{color:#d2dbe6}
.detail-dark .detail-list li::before{color:var(--gold)}
.detail-dark .detail-number{color:#1e3348}
.detail-dark .detail-image-note{color:#aab9cc}
.detail-dark .detail-image-note::before{background:var(--gold)}
.detail-dark .detail-tip{background:#1d334455;border-left-color:var(--gold)}
.detail-dark .detail-tip strong{color:var(--gold)}
.detail-dark .detail-tip p{color:#c2cedb}
.detail-dark .detail-copy .text-link,.detail-dark .detail-copy .text-link span{color:var(--gold)}
.light-visual .detail-photo{box-shadow:0 20px 45px #0005,0 -5px 30px #f2b91e12}
.services-bridge{padding:45px 0;background:linear-gradient(115deg,#e6ad18,#f5c746);position:relative;overflow:hidden}
.services-bridge::after{content:"";position:absolute;right:9%;top:-90px;width:220px;height:350px;border:1px solid #38280018;transform:rotate(28deg);pointer-events:none}
.bridge-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;z-index:1}
.services-bridge .eyebrow{color:#624c18;font-size:13px;margin-bottom:14px}
.services-bridge h2{font-size:clamp(28px,3vw,40px);margin-bottom:15px;color:#142332}
.services-bridge h2 span{color:#142332}
.services-bridge p:not(.eyebrow){font-size:18px;max-width:600px;margin-bottom:0;color:#443819}
.services-bridge .button{--button-face:#112334;--button-edge:#07111b;color:#f3f5f7;text-shadow:none;flex-shrink:0;font-size:16px}
.service-planning{background:linear-gradient(110deg,#d6dee7,#ebeff4);padding:80px 0}
.planning-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
.planning-copy h2{font-size:clamp(31px,3.1vw,44px)}
.planning-steps{counter-reset:planning;list-style:none;padding:0;margin:28px 0 35px;display:grid;gap:24px}
.planning-steps li{position:relative;padding-left:56px;counter-increment:planning}
.planning-steps li::before{content:"0" counter(planning);position:absolute;left:0;top:-3px;font-size:28px;font-weight:800;color:#a57400;letter-spacing:-.05em}
.planning-steps strong{font-size:19px;color:#203347}
.planning-steps p{font-size:17px;color:#536275;line-height:1.7;margin:5px 0 0}
.planning-image{position:relative}
.planning-image img{width:100%;height:475px;object-fit:cover;border-radius:5px;box-shadow:0 20px 35px #1423331c}
.planning-image::after{content:"";position:absolute;width:90px;height:90px;bottom:-15px;right:-15px;border-right:2px solid #c08c0d;border-bottom:2px solid #c08c0d;pointer-events:none}
.service-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-block:85px}
.faq-intro h2{font-size:clamp(30px,2.8vw,40px)}
.faq-intro>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.faq-items details{border-top:1px solid #b7c3d1}
.faq-items details:last-child{border-bottom:1px solid #b7c3d1}
.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:18px;line-height:1.5;font-weight:700;cursor:pointer;list-style:none}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary>span{font-size:28px;color:#9e7100;transition:transform .25s;line-height:1;flex-shrink:0}
.faq-items details[open] summary>span{transform:rotate(45deg)}
.faq-items details>p{font-size:17px;line-height:1.8;color:#526172;padding-right:30px;margin:0 0 25px;animation:faq-appear .3s ease both}
.service-quote{position:relative;isolation:isolate;background:var(--night);color:#e7edf5;padding:70px 0;scroll-margin-top:calc(var(--service-head-height) + var(--service-jump-height) + 20px);overflow:hidden}
.service-quote::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,#07111b 30%,#07111bd9 63%,#07111b33),url("assets/tervezes-reszletek.webp") right center/60% auto no-repeat}
.service-quote::after{content:"";position:absolute;inset:0;background:var(--gold);opacity:.5;clip-path:polygon(89% 0,92% 0,68% 100%,65% 100%);z-index:-1;pointer-events:none}
.service-quote .eyebrow{color:var(--gold)}
.service-quote h2{color:#f0f3f7;font-size:clamp(34px,3.8vw,52px)}
.service-quote h2>span{color:var(--gold)}
.quote-content>p:not(.eyebrow){color:#c9d4e0;font-size:18px;line-height:1.8;max-width:740px}
.quote-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:30px}
.quote-phone{font-size:23px;font-weight:700;color:#f0f4f7}
.quote-phone span{color:var(--gold);margin-left:9px}
.quote-content>.quote-address{margin:23px 0 0;font-size:16px!important;color:#acbed0!important}
.service-reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:130;pointer-events:none}
.service-reading-progress span{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #f2b91e66}
@keyframes service-float{50%{transform:translateY(-7px)}}
@keyframes service-light{0%{transform:translateX(-100%)}100%{transform:translateX(440%)}}
@keyframes faq-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:1100px){
  .services-intro-grid{gap:35px}
  .services-intro h1{font-size:46px}
  .services-intro-visual>img{height:430px}
  .service-jump-links{justify-content:flex-start;gap:12px}
  .service-jump-links a{font-size:15px}
  .detail-grid,.planning-grid{gap:45px}
  .detail-photo{height:475px}
  .detail-copy h2{font-size:35px}
  .bridge-inner{gap:30px;align-items:flex-start;flex-direction:column}
  .service-faq{gap:40px}
  .planning-image img{height:450px}
}
@media(max-width:800px){
  .services-intro-grid{grid-template-columns:1fr;gap:30px}
  .services-intro-copy>p:not(.eyebrow){max-width:650px}
  .services-intro h1{font-size:52px}
  .services-intro-visual{margin:0}
  .services-intro-visual>img{height:370px;object-position:center 58%}
  .intro-image-label{left:20px;bottom:20px}
  .detail-grid,.planning-grid{grid-template-columns:1fr;gap:35px}
  .detail-reverse .detail-visual{order:0}
  .service-detail{padding-block:65px}
  .detail-visual{padding-top:23px}
  .detail-number{top:-35px;font-size:90px}
  .detail-photo{height:410px}
  .detail-copy h2{font-size:37px}
  .detail-copy>.detail-lead{font-size:20px}
  .planning-image img{height:350px}
  .service-faq{grid-template-columns:1fr;gap:20px;padding-block:60px}
  .service-quote::before{background:linear-gradient(95deg,#07111bf2,#07111bd9),url("assets/tervezes-reszletek.webp") center/cover}
}
@media(max-width:580px){
  .services-intro{padding:27px 0 38px}
  .breadcrumbs{font-size:14px;margin-bottom:28px}
  .services-intro .eyebrow{font-size:12px;letter-spacing:.07em;margin-bottom:20px}
  .services-intro h1{font-size:clamp(35px,9.8vw,47px);line-height:1.1}
  .services-intro-copy>p:not(.eyebrow){font-size:18px;line-height:1.75}
  .intro-actions .button{font-size:16px;padding:15px 18px;gap:15px}
  .intro-more{font-size:16px;gap:14px}
  .services-intro-visual>img{height:310px}
  .services-intro-visual::before{inset:-8px 12px 10px -7px}
  .intro-image-label{left:10px;right:10px;bottom:15px;padding:14px 16px;gap:13px}
  .intro-image-label>span{font-size:37px}
  .intro-image-label p{font-size:12px;letter-spacing:0}
  .intro-image-label strong{font-size:13px}
  .service-jump-links{padding-block:11px;gap:10px;width:calc(100% - 26px)}
  .service-jump-links a{font-size:15px;padding:9px 10px;gap:8px}
  .service-detail{padding-block:55px}
  .detail-photo{height:320px}
  .detail-image-note{font-size:12px;letter-spacing:.05em;margin-top:18px}
  .detail-copy h2{font-size:32px}
  .detail-copy .eyebrow{font-size:13px}
  .detail-copy>p{font-size:17px}
  .detail-copy>.detail-lead{font-size:19px}
  .detail-list{font-size:17px;gap:11px}
  .detail-tip{padding:16px}
  .detail-tip p{font-size:16px}
  .detail-copy .text-link{font-size:16px;gap:10px}
  .services-bridge{padding:35px 0}
  .services-bridge h2{font-size:30px}
  .services-bridge p:not(.eyebrow){font-size:17px}
  .services-bridge .button{font-size:16px;padding:15px;gap:14px;text-align:left}
  .service-planning{padding:55px 0}
  .planning-copy h2{font-size:32px}
  .planning-steps li{padding-left:48px}
  .planning-steps strong{font-size:18px}
  .planning-steps p{font-size:17px}
  .planning-copy .button{font-size:16px;padding:15px 17px;gap:15px}
  .planning-image img{height:300px}
  .planning-image::after{right:-7px;bottom:-10px;width:65px;height:65px}
  .faq-intro h2{font-size:32px}
  .faq-items summary{font-size:17px;padding:21px 0}
  .faq-items details>p{padding-right:0;font-size:17px}
  .service-quote{padding:55px 0}
  .service-quote h2{font-size:33px}
  .quote-content>p:not(.eyebrow){font-size:17px}
  .quote-actions{align-items:flex-start;flex-direction:column;gap:26px}
  .quote-actions .button{font-size:16px;padding:15px 18px;gap:15px}
  .quote-phone{font-size:22px}
}
/* Saját tárhelyes üzenetküldő */
.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}
.quote-grid .quote-content{position:sticky;top:calc(var(--service-head-height) + var(--service-jump-height) + 25px)}
.quote-grid .quote-content h2{font-size:clamp(33px,3.2vw,46px)}
.quote-content>.quote-help{font-size:16px!important;line-height:1.8;color:#aebed0!important;max-width:450px;margin-top:30px}
.quote-form{background:linear-gradient(125deg,#eef2f6,#e2e8ef);color:#162a3e;padding:32px;border:1px solid #ffffff70;border-top:3px solid var(--gold);border-radius:7px;box-shadow:0 25px 45px #0003;min-width:0}
.quote-form h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px}
.quote-form .form-intro{font-size:14px;color:#596a7d;line-height:1.7;margin-bottom:22px}
.quote-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{min-width:0}
.form-wide{grid-column:1/-1}
.form-field label{display:block;font-size:16px;font-weight:700;line-height:1.5;margin-bottom:7px}
.form-field label>span{color:#8c6100}
.form-field input,.form-field select,.form-field textarea{width:100%;max-width:100%;border:1px solid #b7c4d2;border-radius:5px;background:#f8fafc;color:#172b40;font:inherit;font-size:17px;line-height:1.5;padding:12px 13px;min-height:49px;box-shadow:inset 0 2px 5px #17213108;transition:border-color .2s,box-shadow .2s}
.form-field textarea{resize:vertical;min-height:140px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #276cda;outline-offset:1px;border-color:#276cda}
.form-field input::placeholder,.form-field textarea::placeholder{color:#6b7a8c;opacity:1}
.form-field [aria-invalid=true]{border-color:#a12b2b;box-shadow:0 0 0 1px #a12b2b}
.form-hint{display:block;font-size:13px;color:#617184;margin-top:6px;line-height:1.6}
.field-error{display:block;color:#9c2525;font-size:14px;line-height:1.6;margin-top:5px}
.field-error:empty{display:none}
.form-consent{display:flex;align-items:flex-start;gap:11px;margin-top:24px}
.form-consent input{flex-shrink:0;width:20px;height:20px;margin:3px 0 0;accent-color:#a47500}
.form-consent label{font-size:15px;line-height:1.7;color:#405368}
.form-privacy,.form-retry{background:none;border:0;padding:0;color:#2050a3;text-decoration:underline;text-underline-offset:4px;font-size:14px;line-height:1.6;text-align:left}
.form-privacy{margin:9px 0 0 31px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;pointer-events:none}
.form-submit-row{display:flex;align-items:center;gap:22px;margin-top:22px;flex-wrap:wrap}
.quote-form .button{font-size:16px;max-width:100%;gap:20px;padding:15px 21px}
.quote-form .button .submit-label{font-size:16px;line-height:1.5;flex-shrink:1}
.quote-form .button:disabled{opacity:.65;cursor:wait;filter:saturate(.6);transform:none}
.form-status{font-size:16px;line-height:1.7;border-radius:5px;overflow-wrap:anywhere}
.form-status:not(:empty){padding:14px 16px;margin-top:20px;border:1px solid #aebed0;background:#d7e1ec;color:#1b3a5a}
.form-status[data-state=success]{background:#deeee4;border-color:#a8c9b3;color:#23593a}
.form-status[data-state=error]{background:#f7e4e3;border-color:#d9b0ad;color:#8a2825}
.form-status:focus{outline:2px solid #276cda;outline-offset:3px}
@media(max-width:1100px){.quote-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.quote-form{padding:26px}.quote-form-grid{gap:16px}.quote-grid .quote-content h2{font-size:35px}}
@media(max-width:800px){.quote-grid{grid-template-columns:1fr;gap:35px}.quote-grid .quote-content{position:static}.quote-content>.quote-help{max-width:600px;margin-top:20px}.quote-grid .quote-content h2{font-size:38px}}
@media(max-width:580px){.quote-form{padding:23px 18px}.quote-form h3{font-size:21px}.quote-form-grid{grid-template-columns:1fr}.quote-form .button{font-size:16px;padding:15px 18px}.form-field input,.form-field select,.form-field textarea{font-size:17px}.form-consent label{font-size:15px}.form-privacy{margin-left:0}.quote-grid .quote-content h2{font-size:33px}}
/* Az ajánlatkérő blokk gombja natív modális ablakot nyit. */
.quote-grid{display:block}
.quote-grid .quote-content{position:relative;top:auto;max-width:850px}
.quote-grid .quote-content h2{font-size:clamp(34px,3.8vw,52px)}
.quote-grid .quote-content>.quote-help{max-width:620px}
.quote-dialog{width:min(1120px,calc(100vw - 48px));max-width:none;max-height:92vh;max-height:92dvh;padding:0;border:1px solid #ffffff24;border-radius:18px;background:#101c27;box-shadow:0 45px 140px #000a,0 0 70px #3476cc15;overflow:auto;overscroll-behavior:contain;color:#edf2f7;color-scheme:dark;scrollbar-width:thin;scrollbar-color:#53606b #101c27}
.quote-dialog::backdrop{background:#030c17d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.quote-dialog[open]{animation:quote-dialog-enter .25s ease both}
.quote-dialog-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;background:#0a141ef5;backdrop-filter:blur(14px);color:#d3dbe4;border-bottom:1px solid #ffffff12}
.quote-dialog-top>span{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.quote-dialog-top i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px #f6bc3580}
.quote-dialog-top .dialog-close{position:static;flex-shrink:0;width:36px;height:36px;border-radius:10px;font-size:25px}
.quote-dialog-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:stretch}
.quote-dialog-story{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#0b1722}
.quote-story-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% center;z-index:-2}
.quote-dialog-story::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07121b70 0%,#07121b26 22%,#07121be8 65%,#07121b 100%);z-index:-1}
.quote-story-logo{position:relative;width:210px;height:auto;margin:30px}
.quote-story-copy{position:relative;padding:clamp(100px,14vh,180px) 30px 36px}
.quote-story-label,.quote-form-kicker{display:block;color:var(--gold);font-size:13px;line-height:1.5;font-weight:700;letter-spacing:.13em}
.quote-story-copy h2{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.035em;margin:16px 0 20px;color:#eef2f7}
.quote-story-copy h2 span{color:var(--gold)}
.quote-story-copy>p{color:#c5d0db;font-size:17px;line-height:1.75;max-width:300px;margin:0}
.quote-story-line{width:52px;height:3px;margin:30px 0;background:var(--gold);box-shadow:0 0 22px #f6bc3540}
.quote-story-copy>a{display:block;font-size:21px;font-weight:700;color:#eef2f7;text-decoration:none}
.quote-story-copy>a>span{display:block;font-size:15px;font-weight:400;color:#b5c3d0;margin-bottom:7px}
.quote-dialog .quote-form{position:relative;border:0;border-radius:0;box-shadow:none;padding:30px 34px 0;background:radial-gradient(ellipse at 100% 0,#2a477638,transparent 58%),#111e2a;color:#edf2f7}
.quote-form-kicker{margin:0 0 7px}
.quote-dialog .quote-form h3{padding-right:0;font-size:clamp(25px,2.5vw,32px);line-height:1.2;margin:0 0 12px;color:#edf2f7}
.quote-dialog .quote-form h3>span{color:var(--gold)}
.quote-dialog .quote-form .form-intro{color:#b9c7d5;font-size:15px;line-height:1.65;margin-bottom:22px}
.quote-dialog .quote-form-grid{gap:14px 18px}
.quote-dialog .form-field label{font-size:16px;font-weight:600;margin-bottom:6px;color:#e0e7ef}
.quote-dialog .form-field label>span{color:var(--gold)}
.quote-dialog .form-field input,.quote-dialog .form-field select,.quote-dialog .form-field textarea{border:1px solid #657d94;border-radius:9px;background:#2b4054;color:#f5f8fc;padding:10px 13px;min-height:46px;box-shadow:inset 0 2px 6px #0002,0 1px 0 #ffffff09;font-size:17px;transition:border-color .2s,background .2s,box-shadow .2s}
.quote-dialog .form-field textarea{min-height:100px;height:110px}
.quote-dialog .form-field input::placeholder,.quote-dialog .form-field textarea::placeholder{color:#c5d2df}
.quote-dialog .form-field select option{background:#2b4054;color:#f5f8fc}
.quote-dialog .form-field input:hover,.quote-dialog .form-field select:hover,.quote-dialog .form-field textarea:hover{border-color:#91a7bb;background:#31495f}
.quote-dialog .form-field :is(input,select,textarea):focus{outline:none;border-color:var(--gold);background:#354d63;box-shadow:0 0 0 3px #f6bc3530}
.quote-dialog .form-field [aria-invalid=true]{border-color:#f19990;box-shadow:0 0 0 1px #f19990}
.quote-dialog .form-hint{color:#a9bbcd;font-size:14px}
.quote-dialog .field-error{color:#ffb1a8}
.quote-dialog .form-consent{margin-top:18px;gap:10px}
.quote-dialog .form-consent input{accent-color:var(--gold)}
.quote-dialog .form-consent label{color:#bac9d8;font-size:15px;line-height:1.6}
.quote-dialog .form-privacy,.quote-dialog .form-retry{color:#f4c75a;font-size:14px}
.quote-dialog .form-submit-row{position:sticky;bottom:0;z-index:2;margin-top:18px;padding:16px 0 22px;background:linear-gradient(#111e2aee,#111e2a 25%);border-top:1px solid #ffffff14}
.quote-dialog .form-submit-row>.button{flex:1;justify-content:space-between;font-size:17px;padding:14px 20px;border-radius:10px}
.quote-dialog .form-submit-row .submit-label{font-size:17px}
.quote-dialog .form-status:not(:empty){margin-top:16px}
.quote-dialog .form-status[data-state=pending]{background:#213448;color:#e0eaf4;border-color:#52708e}
.quote-dialog .form-status[data-state=success]{background:#17392f;color:#c0efd5;border-color:#438d70}
.quote-dialog .form-status[data-state=error]{background:#422a2a;color:#ffd0c9;border-color:#985c56}
@keyframes quote-dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){.quote-dialog{width:min(660px,calc(100vw - 28px))}.quote-dialog-layout{grid-template-columns:1fr}.quote-dialog-story{min-height:175px;display:flex;align-items:flex-end}.quote-story-logo{position:absolute;top:20px;left:24px;width:155px;margin:0}.quote-story-photo{object-position:50% 40%}.quote-dialog-story::after{background:linear-gradient(90deg,#07121be6,#07121b20)}.quote-story-copy{padding:85px 24px 24px}.quote-story-copy h2{font-size:28px;margin:0}.quote-story-copy h2 br{display:none}.quote-story-copy h2 span{display:block}.quote-story-copy>.quote-story-label,.quote-story-copy>p,.quote-story-line,.quote-story-copy>a{display:none}}
@media(max-width:580px){.quote-grid .quote-content h2{font-size:33px}.quote-dialog{width:calc(100vw - 16px);max-height:94vh;max-height:94dvh;border-radius:14px}.quote-dialog-top{padding:10px 16px;gap:12px}.quote-dialog-top>span{font-size:12px;letter-spacing:.06em}.quote-dialog .quote-form{padding:24px 20px 0}.quote-dialog .quote-form-grid{grid-template-columns:1fr;gap:15px}.quote-dialog .quote-form h3{font-size:27px}.quote-dialog .form-privacy{margin-left:30px}.quote-dialog .form-submit-row{padding-bottom:20px}.quote-grid .quote-actions{gap:26px}}
@media(prefers-reduced-motion:reduce){.services-page *, .services-page *::before,.services-page *::after{animation:none!important;transition:none!important}}
