@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--navy-950:#071222;--navy-900:#101c30;--navy-800:#29344d;--blue-600:#416f99;--aqua-400:#69b9c0;--aqua-300:#8dced0;--aqua-100:#dff1f0;--mist-050:#f7faf9;--mist-100:#e8f1f1;--paper:#f4f6f4;--white:#fff;--ink:#182131;--muted:#687283;--line:#18213129;--max-width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,summary,a{-webkit-tap-highlight-color:transparent}.skip-link{z-index:1000;background:var(--white);color:var(--navy-950);padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 78% -45%,#8dced057,#0000 37%),linear-gradient(110deg,#203448,#274653);border-bottom:1px solid #ffffff24;position:sticky;top:0;box-shadow:0 8px 28px #101c3024}.header-inner{width:min(calc(100% - 3rem), var(--max-width));align-items:center;gap:2.2rem;height:126px;margin:0 auto;display:flex;position:relative}.header-inner>*{z-index:1;position:relative}.brand{flex:none;align-items:flex-start;width:290px;height:118px;margin-right:auto;display:inline-flex;overflow:hidden}.brand img{width:290px;max-width:none;height:auto;transform:translateY(-28px)}.desktop-nav{align-items:center;gap:2rem;display:flex}.desktop-nav a{color:#ffffffc2;padding:.75rem 0;font-size:.91rem;transition:color .18s;position:relative}.desktop-nav a:after{content:"";background:var(--aqua-300);transform-origin:100%;border-radius:999px;height:2px;transition:transform .18s;position:absolute;bottom:.45rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--white)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.header-cta{background:var(--aqua-400);min-height:46px;color:var(--navy-950);border-radius:999px;align-items:center;gap:.6rem;padding:.7rem 1.2rem;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #07122233}.mobile-nav{display:none}.hero{background:linear-gradient(135deg, var(--mist-050), var(--aqua-100));min-height:760px;color:var(--navy-950);grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);display:grid}.hero-copy{padding:7.3rem clamp(3rem, 4vw, 6rem) 4rem max(3rem, calc((100vw - var(--max-width)) / 2))}.eyebrow{color:#ffffff94;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0 0 2rem;font-size:.73rem;font-weight:700;display:flex}.eyebrow>span{background:var(--aqua-400);width:28px;height:1px;display:inline-block}.eyebrow>span[data-cms-key]{background:0 0;width:auto;height:auto}.eyebrow-dark,.hero .eyebrow,.practice-section .eyebrow,.home-contact .eyebrow,.page-hero .eyebrow,.subpage-cta .eyebrow,.legal-hero .eyebrow{color:var(--blue-600)}.hero h1,.page-hero h1,.legal-hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(4.25rem,7.6vw,7.5rem);font-weight:650;line-height:.92}h1 em,h2 em{color:var(--aqua-400);font-style:normal;font-weight:400}.hero-intro{color:#182131bd;max-width:590px;margin:2.7rem 0 0;font-size:1.15rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.8rem;margin-top:2.5rem;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.7rem;min-height:52px;padding:.9rem 1.4rem;font-size:.93rem;font-weight:700;line-height:1.2;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.button:hover,.button:focus-visible,.header-cta:hover,.header-cta:focus-visible{transform:translateY(-2px)}.button-accent{background:var(--aqua-400);color:var(--navy-950)}.button-dark{background:var(--navy-950);color:var(--white)}.button-outline{border-color:var(--navy-800);color:var(--navy-800)}.text-link{border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:.15rem;font-weight:650;display:inline-flex}.text-link-light{color:var(--white)}.hero .text-link-light,.practice-section .text-link-light{color:var(--navy-950)}.hero-qualifiers{flex-wrap:wrap;gap:.8rem;margin-top:4rem;display:flex}.hero-qualifiers span{color:#182131b8;border:1px solid #18213133;border-radius:999px;padding:.42rem .8rem;font-size:.76rem}.hero-image{background:linear-gradient(#07122205,#07122229),url(/images/praxis-empfang.jpg) 50%/cover no-repeat;min-height:620px;position:relative}.hero-image:before{content:"";background:linear-gradient(90deg,#07122214,#0000 25%);position:absolute;inset:0}.hero-image-note{min-width:230px;color:var(--white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071222db;padding:1rem 1.2rem;position:absolute;bottom:2.2rem;right:2.2rem}.hero-image-note strong,.hero-image-note span{display:block}.hero-image-note strong{font-size:.95rem}.hero-image-note span{color:#ffffffa3;font-size:.82rem}.fact-bar{background:var(--mist-100);width:100%;color:var(--navy-950);grid-template-columns:repeat(4,1fr);display:grid}.fact-bar>div{border-right:1px solid #1821311f;flex-direction:column;justify-content:center;min-height:152px;padding:2rem;display:flex}.fact-bar strong{color:var(--blue-600);font-size:1.6rem;font-weight:500}.fact-bar span{color:var(--muted);font-size:.83rem}.section{padding:8rem max(1.5rem, calc((100vw - var(--max-width)) / 2))}.section-light{background:var(--paper)}.section-navy{background:var(--aqua-100);color:var(--navy-950)}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:5rem;display:grid}.section-heading h2,.practice-copy h2,.team-teaser h2,.home-contact h2,.subpage-cta h2{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5.2vw,5.5rem);font-weight:630;line-height:.98}.section-heading>p,.practice-copy>p,.team-teaser-copy>p{color:var(--muted);margin:0 0 .4rem;font-size:1.04rem;line-height:1.75}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:5rem;display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px;padding:2rem}.service-number{color:var(--blue-600);letter-spacing:.13em;font-size:.74rem;font-weight:700}.service-card h3{letter-spacing:-.03em;margin:4rem 0 1rem;font-size:1.45rem}.service-card p{color:var(--muted);margin:0;font-size:.93rem}.practice-grid{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:center;gap:6rem;display:grid}.practice-copy>p{color:#182131b8;margin-top:2rem}.check-list{border-top:1px solid #18213124;margin:2.4rem 0;padding:0;list-style:none}.check-list li{color:#182131d1;border-bottom:1px solid #18213124;padding:.85rem 0 .85rem 1.7rem;font-size:.93rem;position:relative}.check-list li:before{content:"↗";color:var(--aqua-400);position:absolute;left:0}.practice-gallery{min-height:650px;position:relative}.gallery-main{object-fit:cover;width:82%;height:570px;margin-left:auto}.gallery-small{object-fit:cover;border:10px solid var(--aqua-100);width:42%;height:260px;position:absolute;bottom:0;left:0}.gallery-label{background:var(--aqua-400);width:170px;height:170px;color:var(--navy-950);flex-direction:column;justify-content:flex-end;padding:1rem;display:flex;position:absolute;bottom:0;right:0}.gallery-label span{text-transform:uppercase;font-size:.72rem}.gallery-label strong{font-size:1.35rem}.compact-heading{grid-template-columns:1fr}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:5rem;display:grid}.steps article{border-right:1px solid var(--line);padding:2.3rem 2.3rem 2.3rem 0}.steps article+article{padding-left:2.3rem}.steps span{color:var(--blue-600);font-size:.78rem;font-weight:700}.steps h3{margin:4rem 0 1rem;font-size:1.45rem}.steps p{color:var(--muted);font-size:.94rem}.center-action{text-align:center;margin-top:3rem}.team-teaser{background:var(--aqua-100);grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:6rem;display:grid}.team-teaser-copy{align-self:center}.team-teaser-copy>p,.team-teaser-copy .button{margin-top:2rem}.team-teaser-images{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.team-teaser-images img{aspect-ratio:1;object-fit:cover;filter:saturate(.88);width:100%}.impressions-page{background:var(--paper)}.impressions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;display:grid}.impression-card{background:var(--white);margin:0;position:relative;overflow:hidden}.impression-card:first-child{grid-column:1/-1}.impression-card img{object-fit:cover;width:100%;height:320px;transition:transform .5s}.impression-card:first-child img{height:min(600px,56vw)}.impression-card:hover img{transform:scale(1.018)}.impression-card figcaption{min-width:160px;color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#203448e6;padding:.8rem 1rem;font-size:.84rem;position:absolute;bottom:1rem;right:1rem}.gallery-empty{background:var(--mist-100);color:var(--muted);text-align:center;grid-column:1/-1;padding:3rem}.home-contact{padding:7rem max(1.5rem, calc((100vw - var(--max-width)) / 2));background:var(--mist-100);color:var(--navy-950);grid-template-columns:1fr 1fr;gap:6rem;display:grid}.home-contact-details{flex-direction:column;align-self:end;align-items:flex-start;gap:2rem;display:flex}.home-contact address{color:#182131b8;flex-direction:column;font-style:normal;display:flex}.home-contact address strong{color:var(--navy-950)}.home-contact-details>div{flex-direction:column;display:flex}.home-contact-details>div a{color:var(--blue-600)}.site-footer{padding:5rem max(1.5rem, calc((100vw - var(--max-width)) / 2)) 2rem;color:var(--white);background:radial-gradient(circle at 76% -30%,#8dced04d,#0000 38%),linear-gradient(110deg,#203448,#274653)}.footer-grid{grid-template-columns:1.6fr repeat(3,1fr);gap:4rem;display:grid}.footer-brand img{width:210px}.footer-brand p{color:#ffffff8c;max-width:280px}.footer-grid h2{color:#fff6;letter-spacing:.15em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem}.footer-grid>div:not(.footer-brand){flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.87rem;display:flex}.footer-grid p{margin:0}.footer-grid a:hover{color:var(--aqua-300)}.footer-bottom{color:#ffffff70;border-top:1px solid #ffffff1f;justify-content:space-between;margin-top:4rem;padding-top:1.4rem;font-size:.78rem;display:flex}.footer-bottom>div{gap:1.2rem;display:flex}.page-hero{padding:7rem max(1.5rem, calc((100vw - var(--max-width)) / 2)) 6rem;background:linear-gradient(135deg, var(--mist-050), var(--aqua-100));color:var(--navy-950)}.page-hero h1{max-width:1050px;font-size:clamp(3.8rem,7vw,7rem)}.page-hero>p:last-child{color:#182131ad;max-width:680px;margin:2.5rem 0 0;font-size:1.08rem}.page-hero-short{padding-bottom:5rem}.team-page{background:var(--paper)}.team-grid{grid-template-columns:repeat(2,1fr);gap:3rem 2rem;display:grid}.team-card{background:var(--white);grid-template-columns:46% 54%;display:grid}.team-card img{object-fit:cover;width:100%;height:100%;min-height:360px}.team-card-copy{padding:2rem}.team-card h2{letter-spacing:-.03em;margin:0 0 .3rem;font-size:1.5rem}.team-role{min-height:3.8rem;color:var(--blue-600);margin:0;font-size:.82rem;font-weight:650}.team-card ul{border-top:1px solid var(--line);margin:1.4rem 0 0;padding:1.2rem 0 0;list-style:none}.team-card li{color:var(--muted);margin:.32rem 0;font-size:.84rem}.subpage-cta{padding:6rem max(1.5rem, calc((100vw - var(--max-width)) / 2));background:var(--aqua-100);color:var(--navy-950);justify-content:space-between;align-items:flex-end;gap:3rem;display:flex}.prices-page{background:var(--paper)}.prices-intro{max-width:720px;margin-bottom:4rem}.prices-intro h2,.location-copy h2,.hours h2{letter-spacing:-.045em;margin:0 0 1rem;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}.prices-intro p,.location-copy>p{color:var(--muted)}.price-list{border-top:1px solid var(--ink)}.price-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 180px 100px;align-items:center;gap:1.5rem;min-height:86px;padding:1.2rem 0;display:grid}.price-row>div{flex-direction:column;display:flex}.price-row>div span{color:var(--muted);font-size:.78rem}.price-row>span{color:var(--muted)}.price-row>strong:last-child{color:var(--blue-600);text-align:right;font-size:1.18rem}.price-date{color:var(--muted);text-align:right;margin:1.5rem 0 0;font-size:.82rem}.contact-page{background:var(--paper)}.contact-cards{grid-template-columns:repeat(2,1fr);gap:1.2rem;display:grid}.contact-card{background:var(--white);flex-direction:column;align-items:flex-start;min-height:360px;padding:2.5rem;display:flex}.contact-card-accent{background:var(--aqua-400)}.card-label{color:var(--blue-600);letter-spacing:.14em;text-transform:uppercase;margin-bottom:auto;font-size:.72rem;font-weight:700}.contact-card-accent .card-label{color:var(--navy-800)}.contact-card h2{letter-spacing:-.04em;margin:1rem 0;font-size:2rem;line-height:1.1}.contact-card p{max-width:440px;margin:0 0 1.5rem}.contact-card>a:not(.button),.contact-card>span:last-child{color:var(--muted)}.contact-big-link{letter-spacing:-.04em;margin:1rem 0 .3rem;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:650;color:var(--navy-950)!important}.contact-email-link{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.2rem,2.2vw,2rem)}.contact-form-section{background:var(--mist-100);grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,6rem);margin-top:7rem;padding:clamp(2rem,5vw,4.5rem);display:grid}.contact-form-intro h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.7rem,4.6vw,4.8rem);font-weight:630;line-height:.98}.contact-form-intro>p:not(.eyebrow){color:var(--muted);margin:2rem 0 0}.contact-form-intro .contact-form-note{border-left:3px solid var(--aqua-400);color:var(--navy-950);background:#ffffff9e;padding:1rem 1.2rem;font-size:.88rem}.contact-form{background:var(--white);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;padding:clamp(1.5rem,4vw,3rem);display:grid;position:relative}.form-field{flex-direction:column;gap:.45rem;display:flex}.form-field-full{grid-column:1/-1}.form-field label{color:var(--navy-950);font-size:.85rem;font-weight:650}.form-field input,.form-field textarea{border:1px solid var(--line);background:var(--mist-050);width:100%;color:var(--ink);font:inherit;border-radius:0}.form-field input{min-height:52px;padding:.75rem .9rem}.form-field textarea{resize:vertical;min-height:180px;padding:.9rem}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue-600);outline:3px solid #416f9924}.form-consent{color:var(--muted);align-items:flex-start;gap:.8rem;font-size:.82rem;line-height:1.55;display:flex}.form-consent input{width:18px;height:18px;accent-color:var(--blue-600);flex:none;margin:.15rem 0 0}.form-consent a,.form-status a{color:var(--blue-600);text-decoration:underline}.form-submit-row{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.form-submit-row .button:disabled{cursor:wait;opacity:.62;transform:none}.required-note{color:var(--muted);font-size:.75rem}.form-status{border-left:3px solid var(--blue-600);background:var(--aqua-100);color:var(--navy-950);margin:0;padding:.9rem 1rem;font-size:.88rem}.form-status-error{background:#f8e9e7;border-left-color:#a54242}.contact-form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.location-grid{grid-template-columns:1.08fr .92fr;align-items:center;gap:5rem;margin-top:7rem;display:grid}.location-photo img{object-fit:cover;width:100%;height:560px}.location-booking-note{border-left:3px solid var(--blue-600);background:var(--aqua-100);max-width:520px;margin:1.4rem 0 2.2rem;padding:1rem 1.2rem;color:var(--navy-950)!important}.transit-notes{border-top:1px solid var(--line);margin-top:3rem}.transit-notes>div{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;padding:1rem 0;font-size:.87rem;display:grid}.transit-notes span{color:var(--muted)}.hours{grid-template-columns:.8fr 1.2fr;gap:5rem;margin-top:7rem;display:grid}.hours-list{border-top:1px solid var(--ink)}.hours-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:1rem 0;display:flex}.hours-list strong{color:var(--blue-600)}.legal-hero{background:linear-gradient(135deg, var(--mist-050), var(--aqua-100));color:var(--navy-950);padding:6rem max(1.5rem,50vw - 450px) 4rem}.hero h1 em,.practice-section h2 em,.home-contact h2 em,.subpage-cta h2 em{color:var(--blue-600)}.home-contact .button-accent,.subpage-cta .button-accent{background:var(--navy-950);color:var(--white)}.legal-hero h1{font-size:clamp(3.5rem,7vw,6.5rem)}.legal-page{max-width:900px;margin:0 auto;padding:6rem 1.5rem}.legal-page h2{letter-spacing:-.02em;margin:2.8rem 0 .7rem;font-size:1.3rem}.legal-page h2:first-child{margin-top:0}.legal-page p{color:var(--muted)}.legal-page a{color:var(--blue-600);text-decoration:underline}.legal-note{border-top:1px solid var(--line);margin-top:4rem;padding-top:1rem;font-size:.82rem}@media (min-width:1081px){.hero-image{clip-path:polygon(25.3px 0%,29px 2.5%,33.4px 5%,38.3px 7.5%,43.6px 10%,49.1px 12.5%,54.5px 15%,59.7px 17.5%,64.5px 20%,68.6px 22.5%,71.9px 25%,74.3px 27.5%,75.7px 30%,76px 32.5%,75.2px 35%,73.4px 37.5%,70.7px 40%,67px 42.5%,62.6px 45%,57.7px 47.5%,52.4px 50%,46.9px 52.5%,41.5px 55%,36.3px 57.5%,31.5px 60%,27.4px 62.5%,24.1px 65%,21.7px 67.5%,20.3px 70%,20px 72.5%,20.8px 75%,22.6px 77.5%,25.3px 80%,29px 82.5%,33.4px 85%,38.3px 87.5%,43.6px 90%,49.1px 92.5%,54.5px 95%,59.7px 97.5%,64.5px 100%,100% 100%,100% 0%);width:calc(100% + 76px);margin-left:-76px}.hero-image:after{content:"";z-index:2;pointer-events:none;background:var(--aqua-400);clip-path:polygon(25.3px 0%,29px 2.5%,33.4px 5%,38.3px 7.5%,43.6px 10%,49.1px 12.5%,54.5px 15%,59.7px 17.5%,64.5px 20%,68.6px 22.5%,71.9px 25%,74.3px 27.5%,75.7px 30%,76px 32.5%,75.2px 35%,73.4px 37.5%,70.7px 40%,67px 42.5%,62.6px 45%,57.7px 47.5%,52.4px 50%,46.9px 52.5%,41.5px 55%,36.3px 57.5%,31.5px 60%,27.4px 62.5%,24.1px 65%,21.7px 67.5%,20.3px 70%,20px 72.5%,20.8px 75%,22.6px 77.5%,25.3px 80%,29px 82.5%,33.4px 85%,38.3px 87.5%,43.6px 90%,49.1px 92.5%,54.5px 95%,59.7px 97.5%,64.5px 100%,72.5px 100%,67.7px 97.5%,62.5px 95%,57.1px 92.5%,51.6px 90%,46.3px 87.5%,41.4px 85%,37px 82.5%,33.3px 80%,30.6px 77.5%,28.8px 75%,28px 72.5%,28.3px 70%,29.7px 67.5%,32.1px 65%,35.4px 62.5%,39.5px 60%,44.3px 57.5%,49.5px 55%,54.9px 52.5%,60.4px 50%,65.7px 47.5%,70.6px 45%,75px 42.5%,78.7px 40%,81.4px 37.5%,83.2px 35%,84px 32.5%,83.7px 30%,82.3px 27.5%,79.9px 25%,76.6px 22.5%,72.5px 20%,67.7px 17.5%,62.5px 15%,57.1px 12.5%,51.6px 10%,46.3px 7.5%,41.4px 5%,37px 2.5%,33.3px 0%);position:absolute;inset:0}.hero-image-note{z-index:3}.hero-copy{z-index:2;position:relative}.hero-image{z-index:1;clip-path:none;width:calc(100% + clamp(180px,14vw,300px));margin-left:clamp(-300px,-14vw,-180px);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000014 5%,#00000061 16%,#000000c7 26%,#000 38%);mask-image:linear-gradient(90deg,#0000 0%,#00000014 5%,#00000061 16%,#000000c7 26%,#000 38%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-image:before,.hero-image:after{display:none}}@media (min-width:1800px){:root{--max-width:1360px}.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:calc(100svh - 126px)}.hero-copy{padding-top:clamp(5rem,9vh,7.5rem);padding-bottom:clamp(3.5rem,7vh,6rem)}}@media (max-width:1080px){.desktop-nav{gap:.9rem}.brand{width:240px;height:108px}.brand img{width:240px;transform:translateY(-23px)}.header-cta{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:6rem max(2rem,50vw - 440px)}.hero-image{min-height:600px}.section-heading,.practice-grid,.team-teaser,.home-contact,.location-grid,.hours{gap:3rem}.team-grid{grid-template-columns:1fr}.impressions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card{max-width:760px}}@media (max-width:800px){.header-inner{width:min(calc(100% - 2rem), var(--max-width));gap:.75rem;height:94px}.brand{width:210px;height:86px}.brand img{width:210px;height:auto;transform:translateY(-20px)}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;border:1px solid #fff3;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:var(--white);width:18px;height:1px}.mobile-nav nav{background:var(--white);flex-direction:column;width:min(310px,100vw - 2rem);padding:1rem;display:flex;position:absolute;top:54px;right:0;box-shadow:0 18px 50px #00000040}.mobile-nav nav a{border-bottom:1px solid var(--line);color:var(--navy-950);padding:.8rem}.mobile-nav nav a:last-child{background:var(--aqua-400);margin-top:.8rem;font-weight:700}.hero-copy{padding:5rem 1.5rem 4rem}.hero h1{font-size:clamp(3.65rem,18vw,5.5rem)}.hero-image{min-height:480px}.fact-bar{grid-template-columns:repeat(2,1fr)}.fact-bar>div{border-bottom:1px solid #1821311f;min-height:125px;padding:1.4rem}.section{padding-top:5.5rem;padding-bottom:5.5rem}.section-heading,.practice-grid,.team-teaser,.home-contact,.location-grid,.hours{grid-template-columns:1fr}.section-heading{align-items:start}.service-grid{grid-template-columns:1fr}.service-card{min-height:250px}.service-card h3{margin-top:3rem}.practice-gallery{min-height:520px}.gallery-main{height:460px}.gallery-small{height:200px}.steps{grid-template-columns:1fr}.steps article,.steps article+article{border-right:0;border-bottom:1px solid var(--line);padding:2rem 0}.steps h3{margin-top:1.8rem}.team-teaser-copy{margin-bottom:2rem}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.subpage-cta{flex-direction:column;align-items:flex-start}.contact-cards,.impressions-grid{grid-template-columns:1fr}.impression-card:first-child{grid-column:auto}.impression-card img,.impression-card:first-child img{height:min(470px,82vw)}.contact-form-section{grid-template-columns:1fr}.price-row{grid-template-columns:minmax(0,1fr) 90px}.price-row>span{display:none}.location-photo img{height:450px}}@media (max-width:540px){.hero-image{min-height:390px}.hero-image-note{bottom:1rem;right:1rem}.hero-actions{flex-direction:column;align-items:flex-start}.hero-qualifiers{margin-top:3rem}.fact-bar{grid-template-columns:1fr}.fact-bar>div{min-height:104px}.section-heading h2,.practice-copy h2,.team-teaser h2,.home-contact h2,.subpage-cta h2{font-size:3rem}.practice-gallery{min-height:430px}.gallery-main{width:100%;height:380px}.gallery-small{display:none}.gallery-label{width:135px;height:135px}.team-teaser-images{gap:.5rem}.team-card{grid-template-columns:1fr;width:100%;max-width:none;overflow:hidden}.team-card img{aspect-ratio:1;object-position:center 25%;height:auto;min-height:0;display:block}.team-card-copy{background:var(--white);padding:1.5rem;position:static}.team-role{min-height:0}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.8rem}.contact-card{padding:1.7rem}.contact-form{grid-template-columns:1fr}.form-field-full{grid-column:auto}.location-photo img{height:340px}.hours-list>div{gap:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}

/* PLDI · Räumliches Design · 08.09.2026
   Ergänzt den vorhandenen Export. Markenfarben und Inhalte bleiben erhalten. */
:root {
  --depth-radius: 26px;
  --depth-line: rgba(65, 111, 153, .17);
  --depth-edge: rgba(105, 185, 192, .23);
  --depth-shadow: inset 0 1px 0 #fff, 0 3px 0 var(--depth-edge), 0 16px 38px rgba(16, 28, 48, .075);
  --depth-shadow-hover: inset 0 1px 0 #fff, 0 5px 0 rgba(105, 185, 192, .32), 0 28px 54px rgba(16, 28, 48, .14);
  --depth-ease: cubic-bezier(.22, .75, .25, 1);
}
html { scroll-padding-top: 145px; }
body { background: var(--paper); }
::selection { background: var(--aqua-300); color: var(--navy-950); }
:where(a, button, summary, input, textarea):focus-visible {
  outline: 3px solid var(--blue-600);
  outline-offset: 5px;
}
.site-header {
  top: 12px;
  width: min(calc(100% - 28px), 1372px);
  margin: 12px auto 0;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 4px 0 rgba(16, 28, 48, .1), 0 18px 42px rgba(16, 28, 48, .16);
}
.header-inner { width: calc(100% - 48px); height: 112px; gap: 1.5rem; }
.brand { height: 108px; width: 260px; }
.brand img { width: 260px; transform: translateY(-25px); }
.desktop-nav { gap: clamp(.8rem, 1.6vw, 1.7rem); }
.desktop-nav a { color: rgba(255, 255, 255, .86); white-space: nowrap; }
.site-header :focus-visible { outline-color: var(--aqua-300); }
.button, .header-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 15px;
  border: 1px solid rgba(255, 255, 255, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 3px 0 rgba(16, 28, 48, .16), 0 10px 22px rgba(16, 28, 48, .1);
  transition: transform .3s var(--depth-ease), box-shadow .3s var(--depth-ease), background-color .3s;
}
.button-outline { border-color: var(--navy-800); background: rgba(255, 255, 255, .55); }
.button::before, .header-cta::before {
  content: "";
  position: absolute;
  inset: -70% auto -70% -80%;
  width: 45%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .36), transparent);
  transform: skewX(-20deg);
  transition: left .65s var(--depth-ease);
  pointer-events: none;
}
.button > span, .header-cta > span, .text-link > span { transition: transform .3s var(--depth-ease); }
.hero {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: center;
  gap: clamp(2.5rem, 5vw, 5.5rem);
  min-height: 710px;
  padding: 5rem max(2rem, calc((100% - var(--max-width)) / 2)) 5.5rem;
  background: radial-gradient(ellipse at 80% 35%, rgba(141, 206, 208, .38), transparent 57%), linear-gradient(135deg, var(--mist-050), var(--aqua-100));
}
.hero-copy { padding: 0; min-width: 0; }
.hero .eyebrow { margin-bottom: 1.6rem; font-size: .8125rem; letter-spacing: .13em; }
.hero h1 { font-size: clamp(3.7rem, 6.25vw, 6.5rem); line-height: 1.02; letter-spacing: -.065em; }
.hero-intro { margin-top: 2rem; font-size: 1.125rem; }
.hero-actions { gap: 1.5rem; margin-top: 2rem; }
.hero-qualifiers { gap: .5rem; margin-top: 2.4rem; }
.hero-qualifiers span {
  background: rgba(255, 255, 255, .65);
  border-color: var(--depth-line);
  box-shadow: inset 0 1px 0 #fff, 0 3px 9px rgba(16, 28, 48, .035);
  color: var(--navy-800);
  font-size: .8125rem;
}
.hero-image {
  --depth-rest-y: -3deg;
  width: 100%;
  min-height: 530px;
  margin: 0;
  border: 8px solid rgba(255, 255, 255, .92);
  border-radius: 34px;
  background-clip: padding-box;
  clip-path: none;
  -webkit-mask-image: none;
  mask-image: none;
  box-shadow: 0 0 0 1px var(--depth-line), 7px 9px 0 rgba(105, 185, 192, .24), 0 30px 65px rgba(16, 28, 48, .18);
}
.hero-image::before { display: none; }
.hero-image-note {
  right: 1.4rem;
  bottom: 1.4rem;
  z-index: 2;
  min-width: 0;
  max-width: calc(100% - 2.8rem);
  padding: 1rem 1.3rem;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 16px;
  background: rgba(16, 28, 48, .86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 12px 24px rgba(7, 18, 34, .22);
}
.hero-image-note span { color: rgba(255, 255, 255, .82); font-size: .875rem; }
.fact-bar {
  width: min(calc(100% - 48px), var(--max-width));
  margin: 0 auto;
  padding: 1.5rem 0 0;
  gap: 1rem;
  background: transparent;
}
.fact-bar > div {
  min-width: 0;
  min-height: 132px;
  padding: 1.5rem;
  background: linear-gradient(145deg, var(--white), var(--mist-050));
  border: 1px solid var(--depth-line);
  border-radius: 20px;
  box-shadow: var(--depth-shadow);
}
.fact-bar span { font-size: .875rem; }
.section { padding-top: 6.5rem; padding-bottom: 6.5rem; }
.section-heading { gap: 3rem; }
.eyebrow, .card-label { font-size: .8125rem; }
.service-grid { border: 0; gap: 1.5rem; margin-top: 3.5rem; }
.service-card, .steps article, .contact-card, .team-card, .impression-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  border: 1px solid var(--depth-line);
  border-radius: var(--depth-radius);
  background: radial-gradient(ellipse at 100% 0, rgba(141, 206, 208, .14), transparent 65%), var(--white);
  box-shadow: var(--depth-shadow);
  transition: transform .4s var(--depth-ease), box-shadow .4s var(--depth-ease), border-color .4s;
}
.service-card { padding: 2rem; min-height: 300px; }
.service-number, .steps article > span {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(105, 185, 192, .3);
  border-radius: 15px;
  background: linear-gradient(145deg, var(--white), var(--aqua-100));
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 rgba(105, 185, 192, .16), 0 7px 14px rgba(16, 28, 48, .055);
  color: var(--blue-600);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .03em;
  transition: transform .35s var(--depth-ease);
}
.service-card h3 { margin-top: 2rem; font-size: 1.4rem; line-height: 1.25; }
.service-card p, .steps p, .check-list li { font-size: 1rem; }
.practice-section { background: radial-gradient(ellipse at 90% 40%, rgba(141, 206, 208, .32), transparent 65%), var(--aqua-100); }
.gallery-main, .gallery-small, .team-teaser-images img, .location-photo img {
  border: 7px solid var(--white);
  border-radius: var(--depth-radius);
  box-shadow: 0 0 0 1px var(--depth-line), 5px 7px 0 rgba(105, 185, 192, .25), 0 22px 42px rgba(16, 28, 48, .13);
  transition: transform .45s var(--depth-ease), box-shadow .45s var(--depth-ease);
}
.gallery-small { border-width: 6px; border-radius: 20px; }
.gallery-label {
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 4px 0 rgba(65, 111, 153, .18), 0 18px 30px rgba(16, 28, 48, .14);
}
.gallery-label span { font-size: .8125rem; }
.steps { border: 0; gap: 1.5rem; margin-top: 3.5rem; }
.steps article, .steps article + article { padding: 2rem; }
.steps h3 { margin-top: 2rem; line-height: 1.3; }
.steps article:nth-child(2) { background: linear-gradient(145deg, var(--white), var(--aqua-100)); }
.team-teaser-images { align-self: center; gap: 1rem; }
.team-teaser-images img { border-width: 5px; border-radius: 20px; }
.team-card, .impression-card { overflow: hidden; }
.team-card { gap: 0; }
.team-role, .team-card li { font-size: .9375rem; }
.team-card-copy { background: transparent; }
.team-card img, .impression-card img { transition: transform .65s var(--depth-ease); }
.impression-card { padding: 7px 7px 0; }
.impression-card img { border-radius: 19px; }
.impression-card figcaption { position: static; min-width: 0; padding: 1.2rem 1rem; font-size: 1rem; background: transparent; color: var(--navy-800); backdrop-filter: none; -webkit-backdrop-filter: none; }
.page-hero, .legal-hero {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 4.5rem;
  border-bottom: 1px solid rgba(105, 185, 192, .3);
  border-radius: 0 0 38px 38px;
  background: radial-gradient(ellipse at 95% 0, rgba(141, 206, 208, .4), transparent 62%), linear-gradient(135deg, var(--mist-050), var(--aqua-100));
  box-shadow: 0 5px 0 rgba(105, 185, 192, .12), 0 18px 32px rgba(16, 28, 48, .035);
}
.page-hero h1, .legal-hero h1 { line-height: 1.04; overflow-wrap: anywhere; }
.contact-cards { gap: 1.5rem; }
.contact-card-accent { background: linear-gradient(140deg, var(--aqua-300), var(--aqua-400)); }
.contact-card h2 { overflow-wrap: anywhere; }
.contact-form-section { border: 1px solid var(--depth-line); border-radius: 32px; box-shadow: inset 0 1px 0 #fff; }
.contact-form { min-width: 0; border-radius: 22px; border: 1px solid var(--depth-line); box-shadow: var(--depth-shadow); }
.form-field, .contact-form-intro { min-width: 0; }
.form-field input, .form-field textarea { border-radius: 12px; box-shadow: inset 0 2px 4px rgba(16, 28, 48, .04); }
.form-field label, .form-consent { font-size: .9375rem; }
.required-note { font-size: .875rem; }
.form-status, .contact-form-note, .location-booking-note { border-radius: 0 12px 12px 0; }
.price-list, .hours-list {
  padding: .5rem 1.75rem;
  border: 1px solid var(--depth-line);
  border-radius: var(--depth-radius);
  background: var(--white);
  box-shadow: var(--depth-shadow);
}
.price-row { transition: background-color .25s; }
.price-row:last-child, .hours-list > div:last-child { border-bottom: 0; }
.price-row > div span { font-size: .875rem; }
.hours-list > div { flex-wrap: wrap; column-gap: 1rem; }
.home-contact, .subpage-cta { border-top: 1px solid rgba(105, 185, 192, .28); }
.home-contact-details {
  padding: 2rem;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: var(--depth-radius);
  background: rgba(255, 255, 255, .48);
  box-shadow: var(--depth-shadow);
}
.home-contact-details a { overflow-wrap: anywhere; }
.site-footer { border-top: 1px solid rgba(255, 255, 255, .24); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); }
.site-footer a { transition: color .25s; }
.site-footer a:focus-visible { outline-color: var(--aqua-300); }
.hero-image::after, .service-card::after, .contact-card::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(300px circle at var(--depth-glow-x, 70%) var(--depth-glow-y, 20%), rgba(141, 206, 208, .24), transparent 78%);
  clip-path: none;
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s;
}
.hero-image::after { z-index: 1; background: radial-gradient(300px circle at var(--depth-glow-x, 70%) var(--depth-glow-y, 20%), rgba(255, 255, 255, .26), transparent 75%); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hero-image { transform: perspective(1100px) rotateY(-3deg); }
  .hero-image, .service-card, .contact-card,
  .hero-image:hover, .service-card:hover, .contact-card:hover {
    transform: perspective(1100px) rotateX(var(--depth-x, 0deg)) rotateY(calc(var(--depth-rest-y, 0deg) + var(--depth-y, 0deg))) translateY(var(--depth-lift, 0px));
    transition: transform .4s var(--depth-ease), box-shadow .4s var(--depth-ease), border-color .4s;
  }
  .service-card:hover, .contact-card:hover, .steps article:hover, .team-card:hover, .impression-card:hover {
    --depth-lift: -6px;
    box-shadow: var(--depth-shadow-hover);
    border-color: rgba(105, 185, 192, .55);
  }
  .steps article:hover, .team-card:hover, .impression-card:hover { transform: translateY(-6px); }
  .hero-image:hover { --depth-lift: -5px; box-shadow: 0 0 0 1px var(--depth-line), 9px 12px 0 rgba(105, 185, 192, .3), 0 38px 70px rgba(16, 28, 48, .22); }
  .service-card:hover::after, .hero-image:hover::after, .contact-card:hover::after { opacity: 1; }
  .service-card:hover .service-number, .steps article:hover > span { transform: translateY(-3px) rotate(-5deg); }
  .gallery-main { transform: rotate(1.2deg); }
  .gallery-small { transform: rotate(-3deg); }
  .gallery-main:hover, .gallery-small:hover, .team-teaser-images img:hover { transform: translateY(-5px) rotate(0); }
  .button:hover, .header-cta:hover { transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 5px 0 rgba(16, 28, 48, .16), 0 16px 28px rgba(16, 28, 48, .16); }
  .button:hover::before, .header-cta:hover::before { left: 140%; }
  .button:hover > span, .header-cta:hover > span, .text-link:hover > span { transform: translate(3px, -1px); }
  .price-row:hover { background: var(--mist-050); }
  .site-footer a:hover { color: var(--aqua-300); }
}
.button:active, .header-cta:active { transform: translateY(1px); box-shadow: inset 0 2px 4px rgba(16, 28, 48, .16); }
.button:disabled { transform: none; }
.button:disabled::before { display: none; }
@media (max-width: 1180px) {
  .header-inner { gap: 1rem; }
  .brand { width: 235px; height: 100px; }
  .brand img { width: 235px; transform: translateY(-23px); }
  .header-cta { padding-right: 1rem; padding-left: 1rem; }
}
@media (max-width: 1080px) {
  .hero { grid-template-columns: 1fr; gap: 3rem; padding: 4rem max(1.5rem, calc((100% - 820px) / 2)); min-height: 0; }
  .hero-copy { padding: 0; max-width: 720px; }
  .hero h1 { font-size: clamp(3.7rem, 8vw, 6.5rem); }
  .hero-image { min-height: 470px; --depth-rest-y: 0deg; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 110px; }
  .site-header { top: 8px; width: calc(100% - 20px); margin-top: 8px; border-radius: 18px; }
  .header-inner { height: 86px; width: calc(100% - 28px); gap: .75rem; }
  .brand { width: 205px; height: 82px; }
  .brand img { width: 205px; transform: translateY(-20px); }
  .mobile-nav summary { width: 46px; height: 46px; border-radius: 14px; background: rgba(255, 255, 255, .06); }
  .mobile-nav nav { top: 59px; right: -1px; width: min(340px, calc(100vw - 50px)); max-height: calc(100dvh - 125px); overflow-y: auto; border: 1px solid var(--depth-line); border-radius: 18px; box-shadow: 0 4px 0 rgba(105, 185, 192, .25), 0 22px 45px rgba(16, 28, 48, .2); }
  .mobile-nav nav a { min-height: 46px; border-radius: 10px; }
  .hero { padding: 3.5rem 1.5rem; gap: 2.8rem; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .1em; }
  .hero h1 { font-size: clamp(3rem, 13.5vw, 5.5rem); overflow-wrap: anywhere; }
  .hero-image { min-height: 390px; border-width: 6px; border-radius: 26px; }
  .fact-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); width: calc(100% - 40px); gap: .8rem; }
  .fact-bar > div { min-height: 126px; padding: 1.1rem; border-radius: 17px; }
  .fact-bar strong { font-size: 1.4rem; overflow-wrap: anywhere; }
  .fact-bar span { font-size: .8125rem; }
  .section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .service-grid { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2.5rem; }
  .service-card { min-height: 0; }
  .service-card h3 { margin-top: 1.7rem; }
  .steps { gap: 1.25rem; margin-top: 2.5rem; }
  .steps article, .steps article + article { padding: 1.75rem; border: 1px solid var(--depth-line); }
  .page-hero, .legal-hero { padding-top: 3.5rem; padding-bottom: 3.5rem; border-radius: 0 0 26px 26px; }
  .page-hero h1 { font-size: clamp(2.8rem, 10vw, 5.5rem); }
  .contact-form-section { padding: 1.25rem; border-radius: 24px; }
  .contact-form { padding: 1.25rem; border-radius: 17px; }
  .contact-form-intro h2 { font-size: clamp(2.3rem, 9vw, 3.5rem); overflow-wrap: anywhere; }
  .price-list, .hours-list { padding: .25rem 1rem; border-radius: 20px; }
  .home-contact-details { padding: 1.5rem; }
  .team-teaser-images { gap: .8rem; }
}
@media (max-width: 540px) {
  .hero-image { min-height: 340px; }
  .hero-image-note { right: .8rem; bottom: .8rem; padding: .8rem 1rem; max-width: calc(100% - 1.6rem); }
  .hero-qualifiers { margin-top: 2rem; }
  .hero-qualifiers span { font-size: .75rem; }
  .hero-actions .button { width: 100%; }
  .section-heading h2, .practice-copy h2, .team-teaser h2, .home-contact h2, .subpage-cta h2 { font-size: clamp(2.4rem, 10vw, 3rem); overflow-wrap: anywhere; }
  .team-teaser-images img { border-width: 4px; border-radius: 15px; }
  .gallery-main { border-width: 5px; }
  .gallery-label { border-radius: 20px; }
  .team-card { border-radius: 22px; }
  .contact-card { padding: 1.5rem; min-height: 0; }
  .contact-card .card-label { margin-bottom: 1.5rem; }
  .form-submit-row .button { width: 100%; }
  .hours { gap: 2rem; }
}
@media (hover: none), (pointer: coarse) {
  .hero-image, .service-card, .contact-card, .gallery-main, .gallery-small, .team-teaser-images img:hover, .impression-card:hover img { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .hero-image, .service-card, .contact-card, .gallery-main, .gallery-small, .button:hover, .header-cta:hover, .impression-card:hover img { transform: none !important; }
}
@media print {
  .site-header { position: static; }
  .hero-image, .service-card, .contact-card, .gallery-main, .gallery-small { transform: none !important; }
  *, *::before, *::after { box-shadow: none !important; }
}
