:root{--navy:#181d24;--navy-2:#262d36;--navy-3:#353d47;--gold:#eac05a;--gold-light:#f2d381;--cream:#f3f5f8;--ink:#1d2229;--muted:#616d7c;--line:#d9dde3;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream)}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:4px}::selection{background:var(--gold);color:var(--ink)}[hidden]{display:none!important}.shell{width:min(100% - 64px,1280px);margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;z-index:100;background:var(--gold);padding:12px}.skip:focus{top:8px}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:100;pointer-events:none}.site-header{position:sticky;top:0;z-index:30;background:#f3f5f8ef;backdrop-filter:blur(18px);border-bottom:1px solid #1d222917}.header-inner{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{display:grid;place-items:center;width:41px;height:41px;border:2px solid var(--ink);font-weight:900;font-size:27px;line-height:1;transform:skew(-8deg)}.brand-name{font-weight:900;letter-spacing:.03em;font-size:1.3rem;line-height:.9}.brand-name small{display:block;font-size:.54rem;letter-spacing:.35em;margin-top:8px}.site-header nav{display:flex;gap:32px}.site-header nav a{font-size:.87rem;font-weight:700;text-decoration:none;padding:12px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.header-cta{background:var(--ink);color:white;border-radius:100px;padding:14px 20px;font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}.header-cta span{margin-left:25px}.header-cta:hover{background:#38414d}.hero{position:relative;overflow:hidden;background:var(--ink);color:white;min-height:690px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;animation:photo-in 1s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#11151ad9 0%,#11151aa6 37%,#11151a20 75%),linear-gradient(0deg,#11151acc 0%,transparent 40%)}.hero-grid{position:relative;display:flex;align-items:center;min-height:620px}.hero-copy{padding:60px 0 45px;max-width:780px}.eyebrow{display:flex;align-items:center;gap:12px;color:#f0d187;letter-spacing:.19em;font-size:.72rem;font-weight:800;margin:0 0 28px}.eyebrow-line{width:30px;height:2px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4.5rem,8.5vw,8rem);line-height:.96;font-weight:900;letter-spacing:-.067em;margin:0 0 28px}h1 em{font-style:normal;font-weight:900;color:var(--gold)}.hero-lead{font-size:1.1rem;line-height:1.75;color:#dfe2e7;max-width:440px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;border:0;border-radius:100px;padding:17px 24px;min-height:54px;font-weight:750;font-size:.94rem;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:var(--gold-light)}.button-dark{background:var(--ink);color:white}.button-outline{background:transparent;border:1px solid #aab2bd;color:var(--ink);font-size:.83rem;min-height:44px;padding:12px 16px}.button-back{background:#e8ebf0;color:var(--ink)}.text-link{color:white;text-decoration:none;border-bottom:1px solid #ffffff50;padding:8px 0;font-size:.9rem;font-weight:650}.text-link span{margin-left:10px}.hero-bottom{position:relative;display:flex;gap:24px;align-items:center;border-top:1px solid #ffffff30;min-height:70px;font-size:.68rem;letter-spacing:.18em;font-weight:700;color:#dce0e6}.dash{height:1px;width:25px;background:#f0d18780}.section{padding:105px 0}section[id]{scroll-margin-top:108px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:43px}.section-kicker{font-size:.73rem;letter-spacing:.17em;font-weight:750;color:#697585;margin-bottom:20px}.section-heading h2,.contact h2{font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.05;letter-spacing:-.06em;font-weight:850;margin:0}.section-heading>p{max-width:340px;line-height:1.7;font-size:.96rem;color:var(--muted);margin:0 0 4px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{position:relative;min-height:330px;border-radius:5px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;background:#e2e7ed;border:1px solid #ccd4df;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:nth-child(2){background:#f0e6cf;border-color:#e7d9b9}.service-card::before{content:'';position:absolute;right:-50px;bottom:-75px;width:260px;height:260px;border:1px solid #404f6218;border-radius:50%;pointer-events:none}.service-card:hover,.service-card:focus-within{transform:translateY(-6px);box-shadow:0 20px 45px #181d2410}.service-number{font-size:.9rem;font-weight:800;color:#45505e}.service-card h3{font-size:2.5rem;letter-spacing:-.055em;margin:25px 0 14px}.service-card p{font-size:.95rem;line-height:1.7;max-width:460px;color:#4d5764;margin-bottom:0}.service-hint{margin-top:20px!important;font-size:.77rem!important;font-weight:700}.card-arrow{display:none}.service-select{position:absolute;right:30px;top:26px;border:0;border-radius:50%;width:49px;height:49px;background:var(--ink);color:white;font-size:1.5rem;cursor:pointer}.service-select:hover{background:#455160}.references{background:#e4e8ed;color:var(--ink)}.project-empty{display:flex;align-items:center;gap:25px;border-top:1px solid #b6bec8;border-bottom:1px solid #b6bec8;padding:32px 0}.project-icon{font-size:3rem;color:#59687b}.project-empty h3{font-size:1.65rem;letter-spacing:-.035em;margin-bottom:10px}.project-empty p{max-width:490px;font-size:.95rem;line-height:1.65;color:var(--muted);margin:0}.project-empty .button{flex-shrink:0;margin-left:auto;background:var(--ink);color:white}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.reference-card{background:#f1f4f7;border-radius:6px;overflow:hidden}.reference-art{height:260px;display:grid;place-items:center;background:#cad3de}.reference-art img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.reference-card:hover img{transform:scale(1.04)}.reference-symbol{font-size:6rem;color:#7c8ea6}.reference-caption{padding:24px;display:flex;flex-direction:column;gap:9px}.reference-caption strong{font-size:1.3rem;letter-spacing:-.03em}.reference-caption>span{font-size:.9rem;color:var(--muted);line-height:1.6}.reference-open{background:none;border:0;padding:12px 0 0;font:inherit;text-align:left;cursor:pointer;font-size:.9rem;font-weight:700}.process{margin-top:80px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.process-grid article{border-top:1px solid #b0bac7;padding-top:22px}.process-grid span{font-size:.82rem;font-weight:800;color:#5e6d80}.process-grid h3{font-size:1.3rem;letter-spacing:-.02em;margin:23px 0 14px}.process-grid p{font-size:.94rem;line-height:1.7;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.contact-intro{padding-top:15px}.contact h2{margin-bottom:25px}.contact h2 em{font-style:normal;color:#667487}.contact-intro>p:not(.section-kicker){color:var(--muted);line-height:1.8;max-width:400px}.contact-note{display:flex;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;max-width:370px}.contact-note>span{font-size:2rem;color:#6d7c90}.contact-note p{font-size:.94rem;line-height:1.7;margin:0}.contact-form{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 70px #1b222c08;padding:36px}.contact-form h3{font-size:1.7rem;letter-spacing:-.04em;margin-bottom:10px}.form-intro{font-size:.83rem;color:var(--muted);line-height:1.6;margin-bottom:20px}.preview-note{font-size:.77rem;line-height:1.5;padding:10px 12px;background:#fcf6e6;border-radius:5px;color:#786638}.contact-form label{display:block;font-size:.85rem;font-weight:700;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-row:has(>label:only-child){grid-template-columns:1fr}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form select,.contact-form textarea{display:block;width:100%;background:#f5f7f9;border:1px solid #c5cbd3;border-radius:5px;color:var(--ink);padding:14px 13px;min-height:50px;margin-top:8px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid #d9bf7380;border-color:#a0905f}.contact-form textarea{resize:vertical;min-height:140px}.privacy-check{display:flex!important;align-items:flex-start;gap:11px;font-weight:400!important;line-height:1.6;font-size:.8rem!important}.privacy-check input{width:18px;height:18px;flex:0 0 auto;margin:3px 0 0;accent-color:var(--ink)}.wizard-progress{display:flex;gap:12px;margin:24px 0 28px;font-size:.75rem;font-weight:700}.wizard-progress span{flex:1;border-top:3px solid #e0e5ec;padding-top:10px;color:#6f7c8e}.wizard-progress span.active{border-color:#667385;color:var(--ink)}.wizard-actions{display:flex;gap:12px;margin-top:22px}.wizard-actions .button{flex:1;font-size:.86rem}.form-status,.wizard-status{font-size:.85rem;line-height:1.6;margin:15px 0 0;color:#876035}.form-status:empty,.wizard-status:empty{display:none}.trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.address-panel{border:0;padding:0;margin:0 0 20px;min-width:0}.address-panel legend{font-weight:800;font-size:1.25rem;letter-spacing:-.025em;margin-bottom:12px}.field-help{font-size:.86rem;line-height:1.6;color:var(--muted)}.maps-gate{display:flex;align-items:flex-start;gap:16px;background:#e9edf3;border:1px solid #cad3df;border-radius:7px;padding:22px}.location-icon{font-size:2.4rem;color:#576982;line-height:1}.maps-gate strong{font-size:.93rem}.maps-gate p{font-size:.78rem;line-height:1.6;color:var(--muted);margin:10px 0 16px}.places-host{margin-top:18px}.places-host gmp-place-autocomplete{width:100%;color-scheme:light}.address-status{font-size:.82rem;line-height:1.6;color:var(--muted);margin:14px 0}.address-result{border:1px solid #b8c6d9;background:#edf2f8;border-radius:6px;padding:20px}.address-badge{display:block;color:#4d5d73;font-size:.73rem;font-weight:700;margin-bottom:12px}.address-result strong{display:block;font-size:1.05rem;line-height:1.6}.address-result a{display:inline-block;font-size:.82rem;margin:12px 0 20px;color:#43546a;font-weight:700}.change-address{border:0;background:none;text-decoration:underline;padding:0;font-size:.8rem;color:var(--muted);cursor:pointer}.site-footer{background:var(--ink);color:#dfe3e9}.site-footer .brand{color:#dfe3e9}.site-footer .brand-mark{color:var(--gold);border-color:var(--gold)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ffffff20;padding-block:48px}.footer-top p{margin:0;color:#b2bac4;font-size:.88rem}.footer-top>a:last-child{font-size:.86rem;text-decoration:none;color:var(--gold)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px;color:#b6bec8;font-size:.78rem}.footer-bottom div{display:flex;gap:24px}.footer-bottom a{text-decoration:none}.legal-main{padding:75px 0 100px;min-height:65vh}.legal-content{max-width:780px}.legal-content h1{font-size:clamp(2.7rem,6vw,5rem);margin-bottom:35px}.legal-content h2{font-size:1.5rem;margin:35px 0 14px}.legal-content p,.legal-content li{line-height:1.75}.draft-note{background:#fff3cd;border-left:3px solid #d4ae50;padding:16px}.page-content img{max-width:100%;height:auto}.project-dialog{border:0;border-radius:12px;color:var(--ink);padding:40px;width:min(90vw,780px);max-height:85vh;overflow:auto}.project-dialog::backdrop{background:#11161dbf;backdrop-filter:blur(8px)}.project-dialog h3{font-size:2rem;padding-right:35px;letter-spacing:-.04em}.project-dialog img{width:100%;height:auto;border-radius:6px}.project-dialog p{line-height:1.7}.dialog-close{position:absolute;top:18px;right:18px;width:40px;height:40px;background:#e2e7ee;border:0;border-radius:50%;font-size:1.5rem;cursor:pointer}.reveal{animation:reveal-in .55s ease both}.admin-bar .site-header{top:32px}@keyframes photo-in{from{transform:scale(1.035);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes reveal-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:1050px){.contact-grid{gap:40px}.hero{min-height:640px}.hero-grid{min-height:570px}.project-empty{flex-wrap:wrap}.project-empty .button{margin-left:0}.reference-grid{grid-template-columns:1fr 1fr}}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:760px){.shell{width:calc(100% - 36px)}.header-inner{min-height:72px;gap:0;flex-wrap:wrap;padding-top:15px}.brand-name{font-size:1.15rem}.brand-mark{width:35px;height:35px;font-size:24px}.header-cta{padding:12px 15px;font-size:.76rem}.header-cta span{display:none}.site-header nav{order:3;width:100%;min-height:45px;justify-content:space-between;gap:15px}.site-header nav a{font-size:.79rem}.hero{min-height:650px}.hero-grid{min-height:585px}.hero-copy{padding:65px 0 70px}.hero-photo{object-position:64% 50%}.hero-shade{background:linear-gradient(90deg,#10141ada,#10141a50),linear-gradient(0deg,#10141ace,transparent 70%)}h1{font-size:clamp(3.7rem,13.5vw,6.3rem);line-height:1;letter-spacing:-.06em}.hero-lead{font-size:1rem;max-width:340px}.eyebrow{font-size:.6rem;letter-spacing:.13em}.hero-bottom{gap:12px;min-height:65px;font-size:.59rem;letter-spacing:.07em}.hero-bottom .dash{width:12px}.hero-bottom span:last-child{max-width:130px}.hero-actions{gap:20px}.section{padding:70px 0}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px}.service-grid,.reference-grid,.contact-grid,.process-grid{grid-template-columns:1fr}.service-card{min-height:290px;padding:30px}.service-card h3{font-size:2.2rem}.project-icon{display:none}.project-empty{gap:20px}.project-empty h3{font-size:1.5rem}.process{margin-top:55px}.process-grid{gap:17px}.process-grid h3{margin-top:17px}.contact-grid{gap:25px}.contact-form{padding:26px 20px}.form-row{grid-template-columns:1fr;gap:0}.wizard-progress{gap:8px;font-size:.65rem}.wizard-actions{gap:8px}.wizard-actions .button{padding:15px 16px;font-size:.77rem;gap:8px}.maps-gate{padding:18px 15px;gap:12px}.location-icon{font-size:1.8rem}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.project-dialog{padding:26px}.project-dialog h3{font-size:1.6rem}}@media(max-width:600px){.admin-bar .site-header{top:0}}@media(max-width:360px){.header-cta{padding:10px 12px;font-size:.7rem}.hero-actions .text-link{font-size:.8rem}.hero-bottom span:last-child{max-width:100px}.hero-actions .button{padding:16px 19px;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.brand-logo{width:44px;height:44px;object-fit:cover;border-radius:6px;display:block;flex:0 0 auto}@media(max-width:760px){.brand-logo{width:38px;height:38px}}

.address-modes{display:flex;padding:4px;background:#e8ebf0;border-radius:7px;gap:4px;margin:0 0 22px}.address-mode{flex:1;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:.875rem;border-radius:5px;padding:13px 10px;cursor:pointer}.address-mode.active{background:white;color:var(--ink);box-shadow:0 2px 8px #181d2410}.address-panel>label{font-size:.875rem}.address-panel .field-help{font-size:.875rem}.address-search-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.address-search-actions .button{font-size:.875rem}.address-search-actions>span,.address-disclosure,.address-attribution{font-size:.875rem;line-height:1.6;color:var(--muted)}.address-disclosure{margin:15px 0}.address-status{font-size:.875rem;overflow-wrap:anywhere}.address-candidates{margin-top:18px}.address-candidates>p{font-size:.875rem;font-weight:700;margin-bottom:10px}.address-candidates ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.address-candidate{display:block;text-align:left;width:100%;border:1px solid #c5cbd3;background:#f5f7f9;border-radius:6px;padding:15px;cursor:pointer;color:var(--ink);overflow-wrap:anywhere}.address-candidate:hover,.address-candidate:focus-visible{border-color:#6d7f96;background:#e7edf4}.address-candidate strong{display:block;font-size:1rem;line-height:1.5}.address-candidate span{display:block;font-size:.875rem;color:var(--muted);margin-top:5px}.address-result{margin-bottom:20px;overflow-wrap:anywhere}.address-result .address-badge{font-size:.875rem}.address-result a{font-size:.875rem;margin-bottom:12px}.address-result .change-address{display:block;font-size:.875rem}.location-confirmation{margin:20px 0!important;font-size:.875rem!important}.address-attribution{border-top:1px solid var(--line);padding-top:16px;margin:0}.google-gate{margin:18px 0}.google-gate .change-address{font-size:.875rem}.button:disabled{opacity:.65;cursor:wait;transform:none}

/* Brand palette and interactive project surfaces */
:root{--navy:#021f42;--navy-2:#102e55;--navy-3:#214876;--gold:#efb936;--gold-light:#ffd466;--cream:#f7f9fc;--ink:#021f42;--muted:#57697e;--line:#dce3ed}
.site-header{background:#021f42f7;border-bottom:1px solid #efb93640;color:white}.header-inner{min-height:142px;gap:28px}.brand{gap:19px;color:inherit}.brand-logo{width:112px;height:120px;object-fit:contain;border-radius:0;background:#021f42}.brand-name{font-size:1.75rem;letter-spacing:.07em}.brand-name small{font-size:.72rem;letter-spacing:.35em;margin-top:12px;color:var(--gold)}.site-header nav a{font-size:.94rem;color:#e6edf7}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--gold);border-color:var(--gold)}.header-cta{background:var(--gold);color:var(--navy);font-size:.94rem;border-radius:5px}.header-cta:hover{background:var(--gold-light)}
.hero{background:var(--navy);min-height:700px}.hero-shade{background:linear-gradient(90deg,#021f42f0 0%,#021f42b8 40%,#021f4233 85%),linear-gradient(0deg,#021f42e0,transparent 70%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:70px;min-height:630px}.hero-copy{max-width:770px;padding:60px 0}.hero-photo{will-change:transform;transition:transform .4s ease;object-position:60% 50%}.hero h1{font-size:clamp(4rem,7.3vw,7rem)}.eyebrow{font-size:.875rem;letter-spacing:.12em;color:var(--gold-light)}.hero-lead{color:#e0e8f4}.hero-bottom{font-size:.875rem;letter-spacing:.09em;color:#d6e3f5;flex-wrap:wrap}.button{border-radius:5px}.text-link{font-size:1rem}.section-kicker{font-size:.875rem;color:#61758d}.hero-actions span,.header-cta span{display:none}
.project-picker{align-self:center;background:#021f42df;backdrop-filter:blur(16px);border:1px solid #d0dff342;border-top:3px solid var(--gold);padding:30px;border-radius:8px;box-shadow:0 30px 70px #0004;transform:translateY(25px)}.picker-kicker{font-size:.875rem;letter-spacing:.13em;color:var(--gold);font-weight:700}.project-picker h2{font-size:2.6rem;line-height:1.05;letter-spacing:-.04em;margin:19px 0 25px}.picker-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.picker-options button{border:1px solid #7891b0;background:transparent;color:#edf4ff;border-radius:5px;padding:14px 8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s}.picker-options button.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}.picker-options button:hover{border-color:var(--gold)}.project-picker p{font-size:1rem;line-height:1.6;margin:22px 0;color:#e0e8f4;min-height:78px}.project-picker>.button{width:100%;justify-content:center}.picker-footnote{display:block;font-size:.875rem;line-height:1.5;color:#c2d1e5;margin-top:16px}
.service-card{background:linear-gradient(135deg,#eaf0f8,#f8fbff);border-color:#c5d4e7;min-height:360px;transition:transform .25s,box-shadow .25s,border-color .25s;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 10px 35px #021f4208}.service-card:nth-child(2){background:linear-gradient(135deg,#102e55,#021f42);border-color:#254b7d;color:white}.service-card:nth-child(2) p,.service-card:nth-child(2) .service-number{color:#d9e5f5}.service-card p{color:#526880;font-size:1rem}.service-card:hover,.service-card:focus-within{border-color:var(--gold);box-shadow:0 20px 50px #021f4220;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}.service-card::before{display:none}.service-number{font-size:1rem;color:#627b9b}.service-select{position:static;align-self:flex-start;order:4;width:auto;height:auto;border-radius:5px;font-size:1rem;padding:13px 20px;margin-top:22px;background:var(--gold);color:var(--navy);font-weight:700}.service-select:hover{background:var(--gold-light)}.service-hint{display:none}.service-details{margin-top:24px;border-top:1px solid #7891b04d;padding-top:15px}.service-details summary{font-size:1rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.service-details summary:after{content:'+';font-size:1.4rem;color:#98700a}.service-details[open] summary:after{content:'−'}.service-card:nth-child(2) .service-details summary:after{color:var(--gold)}.service-details p{padding-top:15px;margin:0;max-width:none}
.references{background:#021f42;color:white}.references .section-kicker{color:var(--gold)}.references .section-heading>p,.project-empty p{color:#c1cfe2}.project-empty{border-color:#385474}.project-empty .button{background:var(--gold);color:var(--navy)}.project-icon{color:var(--gold)}.reference-card{color:var(--navy)}.process-grid{gap:16px}.process-grid article{background:#102e55;border:1px solid #355070;border-radius:6px;padding:25px}.process-grid article>span{color:var(--gold);font-size:1rem}.process-grid article h3{margin:18px 0 0}.process-grid article p{color:#d9e4f2;font-size:1rem;line-height:1.75;padding-top:18px;margin:0}.process-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;background:none;border:0;color:white;font:inherit;width:100%;padding:0;cursor:pointer}.process-toggle:after{content:'+';color:var(--gold);font-size:1.5rem}.process-toggle[aria-expanded=true]:after{content:'−'}.process-grid article:has([aria-expanded=true]){border-color:var(--gold)}.contact h2 em{color:#98700a}.contact-note>span{color:#98700a}.contact-form{box-shadow:0 20px 70px #021f420c}.site-footer{background:#041226;color:#dce7f6}.site-footer .brand-logo{width:90px;height:96px}.site-footer .brand-name{color:white}.address-badge,.address-result a{color:#214876}.address-result{background:#edf3fa;border-color:#adc2dc}.wizard-progress span.active{color:var(--navy);border-color:var(--gold)}
section[id]{scroll-margin-top:165px}.site-header nav a,.form-intro,.contact-form label,.privacy-check,.wizard-progress,.wizard-actions .button{font-size:.875rem!important}
@media(max-width:1100px){.hero-grid{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.brand-name{font-size:1.35rem}.site-header nav{gap:20px}.project-picker{padding:24px}.hero h1{font-size:clamp(3.6rem,7vw,6rem)}}
@media(max-width:760px){.header-inner{min-height:130px;padding-top:4px;gap:0}.brand-logo{width:80px;height:86px}.brand{gap:12px}.brand-name{font-size:1.2rem}.brand-name small{font-size:.6rem;margin-top:8px}.header-cta{font-size:.875rem;padding:12px}.hero-grid{display:block;min-height:0}.hero-copy{padding:46px 0 32px}.hero h1{font-size:clamp(3.5rem,13vw,5.7rem)}.hero-photo{object-position:65% 50%;opacity:.7}.hero-shade{background:linear-gradient(90deg,#021f42e8,#021f4255),linear-gradient(0deg,#021f42,transparent)}.project-picker{transform:none;margin-bottom:30px;max-width:none;padding:24px}.project-picker h2{font-size:2rem}.project-picker h2 br{display:none}.project-picker h2 br:after{content:' '}.project-picker p{min-height:0}.hero-bottom{font-size:.75rem;gap:10px;letter-spacing:.02em}.eyebrow{font-size:.75rem;letter-spacing:.05em}.service-card{padding:26px}.service-card h3{font-size:2rem}.hero-bottom span:last-child{max-width:none}.process-grid article{padding:22px}section[id]{scroll-margin-top:155px}.site-footer .brand-logo{width:80px;height:86px}}
@media(max-width:390px){.site-header .brand-name{display:none}.header-cta{padding:13px 16px}.hero-actions{gap:20px}.hero-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.hero-photo,.service-card,.service-card:hover{transform:none!important}}

.picker-options button{font-size:.875rem;overflow-wrap:anywhere}.picker-options{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Match the supplied JPEG edge colour exactly; opaque surfaces avoid scroll-dependent colour shifts. */
:root{--navy:#021f42;--ink:#021f42}.site-header,.site-footer{background:#021f42;backdrop-filter:none}.brand-logo{background:#021f42}.site-header{border-bottom:1px solid #efb93633}.site-footer{border-top:1px solid #efb93633}.site-footer .brand-logo{background:#021f42}
.service-details summary::-webkit-details-marker{display:none}.service-details summary::marker{content:''}.service-details summary:after,.process-toggle:after{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--navy)!important;font-size:1.35rem;font-weight:500;line-height:1}.service-details[open] summary:after,.process-toggle[aria-expanded=true]:after{background:#fff;color:var(--navy)}
.reference-open{background:var(--navy);color:#fff;border-radius:6px;padding:13px 18px;margin-top:12px;font-size:1rem;text-align:center}.reference-open:hover{background:#214876}.text-link{border-bottom:2px solid var(--gold);padding-bottom:9px}.footer-top>a:last-child{padding:13px 19px;border:1px solid #afc2de70;border-radius:6px;color:white;font-size:.875rem;text-decoration:none}.footer-top>a:last-child:hover{border-color:var(--gold);color:var(--gold)}.contact-note{border-left:3px solid var(--gold);border-top:0;padding:4px 0 4px 20px}.button-back{background:#e7edf6;color:var(--navy);border:1px solid #b6c7dd}.wizard-actions .button{justify-content:center}.contact-form select{appearance:none;-webkit-appearance:none;padding-right:55px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%23efb936'/%3E%3Cpath d='m10 13 6 6 6-6' fill='none' stroke='%23061b38' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:28px}.project-empty{gap:24px}.reference-art:empty:after{content:'Projekt';font-size:1rem;color:#526880}

.legal-content{max-width:950px}.legal-content h1{font-size:clamp(2.5rem,6vw,4.5rem);overflow-wrap:anywhere}.legal-content h2{font-size:1.5rem;line-height:1.35;margin-top:2.5rem}.legal-content p,.legal-content li{line-height:1.8;overflow-wrap:anywhere}.legal-content a{overflow-wrap:anywhere}.contact-direct a{font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}.legal-context{padding:18px;border-left:3px solid var(--gold);background:#eaf0f8}

/* Spacious mobile rhythm, with optional detail revealed on demand. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-toggle{display:none}
.picker-fold{align-self:center;min-width:0}
.picker-fold>summary{display:none}
.picker-footnote{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.project-picker{transform:none;padding:32px}
.project-picker h2{font-size:2.3rem}
.project-picker p{min-height:0}
.hero-lead{font-size:1.2rem;line-height:1.7;max-width:32ch}
.section{padding-block:100px}
.section-heading:has(>p:empty)>p{display:none}
.section-heading{margin-bottom:42px}
.service-card{min-height:0;padding:36px;gap:24px}
.service-card h3{margin-bottom:18px}
.service-card p{line-height:1.8;max-width:31ch;margin-bottom:0}
.service-select{margin-top:8px}
.service-details{margin-top:20px}
.service-details summary{font-size:.94rem;align-items:center}
.project-empty{padding:28px 0;border:0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;min-height:0}
.project-empty p{font-size:1rem;line-height:1.8;margin:0}
.process{margin-top:64px}
.process-grid article{padding:28px}
.contact-intro>p:not(.section-kicker){line-height:1.8}
.contact-form{padding:40px}
.contact-form h3{font-size:1.8rem}
.contact-form label{line-height:1.5}
.form-intro{line-height:1.7}
.contact-form .form-row input,.contact-form textarea,.contact-form select{font-size:1rem}
.reference-grid{gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}
.reference-card{overflow:hidden;border-radius:8px}
.reference-caption{padding:26px}
.reference-caption strong{font-size:1.3rem;line-height:1.4}
.reference-caption span{line-height:1.7}
.before-after{--comparison:50%;background:#102e55}
.comparison-frame{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}
.comparison-frame .comparison-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;border-radius:0}
.comparison-before{clip-path:inset(0 calc(100% - var(--comparison)) 0 0)}
.comparison-label{position:absolute;top:16px;border-radius:4px;padding:8px 12px;background:#021f42ed;color:white;font-size:.875rem;font-weight:700}
.comparison-label-before{left:16px}.comparison-label-after{right:16px}
.comparison-divider{position:absolute;top:0;bottom:0;left:var(--comparison);width:2px;transform:translateX(-50%);background:var(--gold);pointer-events:none}
.comparison-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:900;font-size:1rem;box-shadow:0 2px 15px #0005}
.comparison-controls{padding:18px 20px 20px;background:white;color:var(--navy)}
.comparison-controls input[type=range]{width:100%;height:28px;accent-color:var(--navy);cursor:ew-resize;margin:0 0 14px}
.comparison-buttons{display:flex;gap:8px}
.comparison-buttons button{flex:1;min-height:44px;border-radius:4px;border:1px solid #b8c7db;background:white;color:var(--navy);font-weight:700;font-size:.875rem;cursor:pointer;padding:8px}
.comparison-buttons button[aria-pressed=true]{background:var(--gold);border-color:var(--gold)}
.project-dialog .before-after{margin:24px 0}
.project-dialog .comparison-frame img{height:100%}
@media(max-width:760px){
  .shell{width:calc(100% - 48px)}
  .header-inner{min-height:106px;padding-block:8px;gap:12px;flex-wrap:wrap}
  .site-header .brand-logo{width:80px;height:86px}
  .site-header .brand-name{display:none}
  .menu-toggle{display:block;margin-left:auto;min-height:44px;padding:10px 12px;border:1px solid #6683a6;background:transparent;color:white;border-radius:5px;font-size:.875rem;font-weight:700;cursor:pointer}
  .header-cta{min-height:44px;padding:13px 15px;font-size:.875rem}
  .header-inner.has-mobile-menu nav{display:none}
  .header-inner.has-mobile-menu.menu-open nav{display:flex}
  .site-header nav{border-top:1px solid #ffffff25;min-height:58px;padding-top:4px;gap:20px}
  .site-header nav a{font-size:1rem!important;padding-block:16px}
  .hero{min-height:0}
  .hero-grid{display:block;min-height:0}
  .hero-copy{padding:64px 0 36px}
  .hero .eyebrow{font-size:.875rem;margin-bottom:28px;letter-spacing:.09em}
  .hero h1{font-size:clamp(3rem,12.2vw,5.7rem);line-height:1.06;letter-spacing:-.055em;margin-bottom:30px}
  .hero-lead{font-size:1.0625rem;line-height:1.8;max-width:27ch;margin-bottom:32px}
  .hero-actions{gap:0}
  .hero-actions .text-link{display:none}
  .hero-actions .button{padding:17px 26px;min-height:56px;font-size:1rem}
  .hero-photo{object-position:69% 50%;opacity:.8}
  .hero-shade{background:linear-gradient(90deg,#021f42f5,#021f4290),linear-gradient(0deg,#021f42e0,transparent)}
  .hero-bottom{display:none}
  .picker-fold{padding-bottom:36px}
  .picker-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:14px 0;color:#e4eefc;border-top:1px solid #ffffff38;cursor:pointer;font-size:1rem;font-weight:700;list-style:none}
  .picker-fold>summary::-webkit-details-marker{display:none}.picker-fold>summary::marker{content:''}
  .picker-fold>summary:after{content:'+';font-size:1.5rem;color:var(--gold)}
  .picker-fold[open]>summary:after{content:'−'}
  .project-picker{margin:10px 0 0;padding:24px;box-shadow:none;background:#021f42;border-radius:6px;backdrop-filter:none}
  .project-picker .picker-kicker,.project-picker h2{display:none}
  .picker-options button{font-size:1rem;overflow-wrap:normal;padding:14px 8px}
  .project-picker p{margin:22px 0;font-size:1rem}
  .section{padding-block:88px}
  .section-kicker{margin-bottom:22px;font-size:.875rem;letter-spacing:.08em}
  .section-heading{margin-bottom:36px}
  .section h2{font-size:clamp(2.3rem,9.6vw,3.3rem);line-height:1.1;letter-spacing:-.045em}
  .section-heading>p{margin-top:28px;font-size:1rem;line-height:1.8}
  .service-grid,.reference-grid{grid-template-columns:1fr;gap:28px}
  .service-card{padding:32px 28px;min-height:0}
  .service-number{margin-bottom:12px}
  .service-card h3{font-size:1.9rem;line-height:1.2;margin-bottom:18px}
  .service-card p{font-size:1rem;line-height:1.8}
  .service-select{margin-top:24px;min-height:48px}
  .service-details{margin-top:24px;padding-top:20px}
  .service-details summary{font-size:.94rem;gap:12px}
  .process{margin-top:56px}
  .process-grid{gap:0}
  .process-grid article{background:transparent;border:0;border-top:1px solid #ffffff30;border-radius:0;padding:24px 0}
  .process-grid article>span{display:none}
  .process-grid article h3{margin:0;font-size:1.2rem}
  .process-grid article p{font-size:1rem;line-height:1.8;padding-top:22px}
  .contact-grid{gap:36px}
  .contact-intro h2{margin-bottom:26px}
  .contact-intro .contact-direct{font-size:1rem;line-height:2;margin-bottom:0;overflow-wrap:anywhere}
  .contact-form{padding:30px 24px;box-shadow:none;border-radius:8px}
  .contact-form h3{font-size:1.5rem;margin-bottom:16px}
  .contact-form label,.form-intro,.field-help,.address-disclosure,.address-attribution,.privacy-check{font-size:1rem!important;line-height:1.75}
  .contact-form label{margin-bottom:28px}
  .wizard-progress{margin:28px 0 32px;font-size:.875rem;gap:12px}
  .wizard-progress span{line-height:1.5}
  .contact-form textarea{min-height:160px}
  .wizard-actions .button{font-size:.94rem!important;min-height:56px;padding:15px 12px}
  .address-modes{flex-direction:column;gap:6px;margin-bottom:28px}
  .address-mode{font-size:1rem;min-height:48px}
  .address-search-actions{gap:12px}
  .address-search-actions .button{width:100%;justify-content:center;font-size:1rem}
  .address-disclosure{margin-block:24px}
  .footer-top{padding-block:40px;gap:24px}
  .footer-bottom{gap:24px;padding-block:28px}
  section[id]{scroll-margin-top:124px}
}
@media(max-width:360px){.shell{width:calc(100% - 36px)}.header-inner{gap:8px}.header-cta{padding-inline:12px}.menu-toggle{padding-inline:10px}.contact-form{padding-inline:18px}.picker-options{grid-template-columns:1fr}}

/* Horizontally movable project tiles; other sections keep their existing layout. */
.reference-slides{position:relative;min-width:0}
.reference-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#efb936 #102e55;padding:4px 2px 20px;cursor:grab;-webkit-overflow-scrolling:touch}
.reference-track>.reference-card{flex:0 0 calc((100% - 48px)/2.1);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;background:white;border:1px solid #ffffff25}
.reference-track>dialog:not([open]){display:none}
.reference-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.reference-track img{user-select:none;-webkit-user-drag:none}
.reference-track .comparison-photo{transform:none}
.slide-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.slide-buttons{display:flex;gap:10px}
.slide-buttons button{min-height:44px;padding:11px 18px;border:1px solid #6683a6;background:#102e55;color:white;border-radius:5px;font-size:.875rem;font-weight:700;cursor:pointer}
.slide-buttons button:hover{border-color:var(--gold)}
.slide-buttons button:disabled{opacity:.4;cursor:default}
.slide-pagination{display:flex;gap:10px;flex-wrap:wrap}
.slide-pagination button{width:44px;height:44px;padding:0;border:1px solid #6683a6;border-radius:50%;background:transparent;color:#e0e8f4;font-size:.875rem;font-weight:700;cursor:pointer}
.slide-pagination button[aria-current=true]{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.slide-empty-frame{display:grid;grid-template-columns:1fr 1fr;min-height:0;aspect-ratio:16/10;position:relative;background:#102e55}
.slide-empty-half{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#cad8eb}
.slide-empty-half+ .slide-empty-half{border-left:2px solid var(--gold);background:#163961}
.slide-empty-half span:first-child{font-size:2rem;color:var(--gold);font-weight:400}
.slide-empty-half span:last-child{font-size:.875rem;font-weight:700}
.slide-placeholder .reference-caption{display:flex;flex-direction:column;gap:12px}
.slide-placeholder .reference-caption strong{color:var(--navy);font-size:1.1rem}
.slide-placeholder .reference-caption>span{color:var(--muted);font-size:.875rem}
.slide-preview-editor{display:grid;gap:16px}
.slide-preview-editor>label{font-weight:700;font-size:.875rem;color:var(--navy)}
.slide-preview-editor input[type=text]{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #b8c7db;border-radius:4px;font-size:1rem;background:#f7f9fc;color:var(--navy)}
.slide-photo-inputs{display:flex;gap:8px}
.slide-photo-inputs label{position:relative;flex:1;display:grid;place-items:center;min-height:48px;padding:10px 8px;background:#edf2f9;border:1px solid #b8c7db;border-radius:4px;cursor:pointer;text-align:center;font-weight:700;font-size:.875rem;line-height:1.5;color:var(--navy)}
.slide-photo-inputs label:focus-within{outline:2px solid var(--navy);outline-offset:3px}
.slide-photo-inputs input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.slide-photo-status{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0}
.slides-preview-note{font-size:.875rem;line-height:1.7;color:#c1cfe2;margin:22px 0 0;max-width:65ch}
@media(max-width:760px){.reference-track{gap:16px}.reference-track>.reference-card{flex-basis:calc(100% - 36px)}.slide-navigation{align-items:flex-start;flex-direction:column;gap:18px}.reference-caption{padding:24px}.slide-pagination{gap:8px}.slide-empty-half{gap:14px}}
