:root { --ink:#173027; --ink-2:#254239; --paper:#f4f0e8; --sand:#e7dfd1; --warm:#b68458; --light:#fbfaf6; --line:rgba(23,48,39,.17); --sans:"Avenir Next","Segoe UI",Arial,sans-serif; --serif:Georgia,"Times New Roman",serif; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; } body.menu-open { overflow:hidden; } .page-grain { pointer-events:none; position:fixed; z-index:10; inset:0; opacity:.18; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E"); } a { color:inherit; text-decoration:none; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } .shell { width:min(1240px,calc(100% - 64px)); margin-inline:auto; } .sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .eyebrow { margin:0; font:500 10px/1.35 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--warm); } .eyebrow.light { color:#f2d7b8; } h1,h2,h3,p { margin-top:0; } h1,h2 { letter-spacing:-.055em; } h1 em,h2 em,blockquote em { font-family:var(--serif); font-weight:600; } .site-header { height:90px; position:absolute; z-index:4; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:0 max(32px,calc((100vw - 1240px)/2)); color:#fff; border-bottom:1px solid rgba(255,255,255,.25); transition:background .3s, height .3s, color .3s; } .site-header.is-sticky { position:fixed; height:72px; background:rgba(21,43,35,.95); backdrop-filter:blur(18px); } .brand { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:800; letter-spacing:-.05em; } .brand-dot { color:#dbac7c; } .brand-mark { display:flex; gap:2px; align-items:flex-end; height:16px; } .brand-mark i { display:block; width:3px; background:#d7a875; } .brand-mark i:nth-child(1) { height:7px; }.brand-mark i:nth-child(2) { height:12px; }.brand-mark i:nth-child(3) { height:16px; } .desktop-nav { display:flex; gap:35px; margin-left:120px; }.desktop-nav a { font-size:12px; font-weight:600; opacity:.88; transition:opacity .2s; }.desktop-nav a:hover { opacity:1; }.header-cta { font-size:12px; font-weight:700; }.header-cta span { color:#e8b984; margin-left:5px; }.menu-button,.mobile-menu { display:none; }.hero { min-height:760px; height:100svh; position:relative; display:flex; align-items:center; color:white; overflow:hidden; }.hero-image { position:absolute; inset:0; background:url("assets/hero-terrasse.png") center/cover no-repeat; transform:scale(1.02); animation:heroIn 1.5s cubic-bezier(.2,.8,.2,1) both; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,24,20,.75) 0%,rgba(10,24,20,.3) 45%,rgba(10,24,20,.04) 75%),linear-gradient(0deg,rgba(7,20,16,.6),transparent 32%); }.hero-content { position:relative; z-index:1; padding-top:65px; }.hero h1 { max-width:820px; margin:23px 0 24px; font-size:clamp(52px,6.5vw,102px); font-weight:700; line-height:.98; }.hero-copy { max-width:510px; color:rgba(255,255,255,.86); font-size:15px; font-weight:500; line-height:1.75; }.hero-actions { display:flex; align-items:center; gap:32px; margin-top:34px; }.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; padding:0 23px; border:0; font-size:12px; font-weight:800; letter-spacing:-.02em; transition:transform .2s,background .2s,color .2s; }.button:hover { transform:translateY(-2px); }.button span { margin-left:19px; font-size:16px; }.button-light { background:var(--light); color:var(--ink); }.button-dark { background:var(--ink); color:white; width:100%; }.button-dark:hover { background:#315548; }.text-link { display:inline-flex; align-items:center; gap:13px; width:max-content; font-size:12px; font-weight:800; border-bottom:1px solid currentColor; padding-bottom:7px; }.text-link span { font-size:16px; line-height:0; }.text-link.light { color:#fff; }.text-link.dark { color:var(--ink); }.hero-footer { position:absolute; z-index:1; bottom:33px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.75); font:400 9px/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }.hero-scroll { display:flex; align-items:center; gap:11px; }.hero-scroll i { display:block; width:43px; height:1px; background:rgba(255,255,255,.8); }.section-space { padding-block:142px; }.intro-kicker { display:flex; align-items:center; gap:13px; }.line { height:1px; width:55px; background:var(--warm); }.intro-grid { display:grid; grid-template-columns:1.55fr .72fr; gap:100px; margin-top:35px; align-items:end; }.intro h2,.services h2,.feature h2,.process h2,.contact h2 { margin-bottom:0; font-size:clamp(38px,4.4vw,68px); line-height:1.06; font-weight:700; }.intro-side { padding-bottom:5px; }.intro-side p { margin-bottom:24px; font-size:15px; line-height:1.75; color:#53625a; }.services { padding:110px 0 130px; background:#d8d0c2; }.services-head { display:flex; justify-content:space-between; align-items:end; }.service-list { margin-top:60px; border-top:1px solid var(--line); }.service-card { min-height:139px; padding:26px 0; display:grid; grid-template-columns:64px 116px minmax(0,1fr) 48px; gap:18px; align-items:center; border-bottom:1px solid var(--line); transition:padding .3s,background .3s; }.service-card:hover { padding-inline:18px; background:rgba(255,255,255,.18); }.service-number { align-self:start; padding-top:7px; color:#9d8a76; font:400 10px var(--mono); }.service-icon { position:relative; width:78px; height:55px; }.service-icon span { position:absolute; display:block; border:1.5px solid var(--ink); }.icon-garden span:nth-child(1) { width:38px;height:29px;border-radius:60% 0 60% 0; transform:rotate(-30deg); left:3px;top:11px; }.icon-garden span:nth-child(2){width:27px;height:22px;border-radius:50% 0 50% 0;transform:rotate(55deg);left:35px;top:3px}.icon-garden span:nth-child(3){width:1px;height:52px;border-width:0 0 0 1.5px;transform:rotate(28deg);left:34px;top:1px}.icon-terrace span{height:1px;border-width:1.5px 0 0;transform:skewY(-24deg)}.icon-terrace span:nth-child(1){width:65px;top:17px}.icon-terrace span:nth-child(2){width:65px;top:31px}.icon-terrace span:nth-child(3){width:65px;top:45px}.icon-roof span:nth-child(1){width:64px;height:35px;left:6px;top:5px;border-width:1.5px 1.5px 0 0;transform:skewY(-25deg)}.icon-roof span:nth-child(2){height:40px;width:1px;left:6px;top:5px;border-width:0 0 0 1.5px}.icon-roof span:nth-child(3){height:37px;width:1px;right:7px;top:3px;border-width:0 0 0 1.5px}.icon-finish span:nth-child(1){width:47px;height:47px;border-radius:50%;left:6px;top:2px}.icon-finish span:nth-child(2){width:1px;height:58px;border-width:0 0 0 1.5px;left:55px;top:-2px}.icon-finish span:nth-child(3){width:1px;height:30px;border-width:0 0 0 1.5px;left:66px;top:24px}.service-content { max-width:695px; }.service-content h3 { margin-bottom:8px; font-size:18px; letter-spacing:-.035em; }.service-content p { max-height:0; overflow:hidden; margin:0; color:#53625a; font-size:13px; line-height:1.65; transition:max-height .4s,margin .4s; }.service-card.is-open .service-content p { max-height:100px; margin-top:8px; }.service-toggle { align-self:start; justify-self:end; width:36px; height:36px; border:1px solid rgba(23,48,39,.4); background:transparent; color:var(--ink); border-radius:50%; font-size:20px; transition:transform .3s,background .3s,color .3s; }.service-card.is-open .service-toggle { transform:rotate(45deg); background:var(--ink); color:#fff; }.feature { padding:142px 0; display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }.feature-copy > p:not(.eyebrow) { max-width:420px; margin:27px 0 25px; color:#53625a; font-size:15px; line-height:1.75; }.feature-copy ul { margin:0; padding:0; list-style:none; }.feature-copy li { margin:15px 0; font-size:13px; font-weight:700; }.feature-copy li i { display:inline-flex; align-items:center; justify-content:center; width:18px;height:18px; margin-right:9px; background:#c5d1c5; border-radius:50%; color:#315548; font-size:11px; font-style:normal; }.feature-panel { position:relative; min-height:410px; padding:38px; overflow:hidden; background:var(--ink); color:white; }.feature-panel p { position:absolute; z-index:2; left:38px; bottom:34px; margin:0; font:600 31px/1.1 var(--serif); letter-spacing:-.05em; }.panel-visual { position:absolute; inset:0; overflow:hidden; }.shape { position:absolute; display:block; }.sun { width:120px;height:120px; border-radius:50%; right:50px;top:42px; background:#d5a86f; opacity:.95; }.roofline { width:80%;height:60%; right:-7%;bottom:-4%; border:2px solid rgba(255,255,255,.7); border-bottom:0; transform:skewY(-18deg); }.patio { width:74%; height:40%; right:-4%;bottom:-5%; background:#718078; transform:skewY(-18deg); opacity:.72; }.grass { width:110%;height:35%;bottom:-16%;left:-10%;background:#436452;transform:rotate(8deg); }.process { background:var(--light); }.process-head { display:flex; align-items:baseline; justify-content:space-between; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:66px; }.process-grid article { min-height:220px; padding:0 30px; border-left:1px solid var(--line); }.process-grid article:first-child { padding-left:0;border-left:0; }.process-grid span { display:block; margin-bottom:38px; color:var(--warm); font:500 10px var(--mono); }.process-grid h3 { margin-bottom:12px; font-size:16px; letter-spacing:-.03em; }.process-grid p { margin:0; color:#59665f; font-size:13px; line-height:1.65; }.quote-section { padding:132px 0 126px; background:var(--ink); color:#fff; }.quote-inner { position:relative; }.quote-section blockquote { position:relative; z-index:1; margin:38px 0 0; font-size:clamp(39px,5vw,76px); font-weight:700; letter-spacing:-.06em; line-height:1.02; }.quote-section blockquote em { color:#e3b887; }.quote-line { position:absolute; top:18px; right:6%; width:min(26vw,330px); height:min(26vw,330px); border:1px solid rgba(237,206,169,.4); border-radius:50%; }.contact { padding:135px 0; display:grid; grid-template-columns:.85fr 1fr; gap:13%; }.contact-heading > p:not(.eyebrow) { max-width:400px; margin:26px 0; color:#59665f; font-size:15px; line-height:1.75; }.contact-notes { display:grid; gap:10px; margin-top:35px; font-size:11px; font-weight:700; }.contact-notes span { display:flex; gap:9px; align-items:center; }.contact-notes i { width:5px;height:5px;border-radius:50%;background:var(--warm); }.contact-form { padding:34px; background:#e8e0d2; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.contact-form label { display:block; margin-bottom:20px; color:#59635d; font:500 10px var(--mono); letter-spacing:.09em; text-transform:uppercase; }.contact-form input,.contact-form textarea,.contact-form select { display:block; width:100%; padding:12px 0 10px; border:0; border-bottom:1px solid rgba(23,48,39,.35); outline:0; background:transparent; color:var(--ink); font:600 13px var(--sans); letter-spacing:0; text-transform:none; }.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-bottom-color:var(--ink); }.contact-form textarea { resize:vertical; min-height:72px; }.contact-form select { appearance:none; cursor:pointer; }.form-note { margin:17px 0 0; color:#66716a; font-size:10px; line-height:1.55; }.form-success { min-height:18px; margin:13px 0 0; color:#315548; font-size:12px; font-weight:700; }.site-footer { padding:58px 0 25px; background:#10241d; color:#fff; }.footer-top { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; }.footer-brand { font-size:15px; }.footer-top > p { margin:0; color:#acb7b0; font-size:12px; line-height:1.6; }.footer-top .text-link { justify-self:end; }.footer-bottom { display:flex; justify-content:space-between; margin-top:72px; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); color:#88988f; font:400 8px var(--mono); letter-spacing:.04em; }.footer-bottom p { margin:0; }.legal-placeholder { max-width:520px; text-align:right; color:#e2b07c; }.reveal { animation:revealUp .75s cubic-bezier(.2,.8,.2,1) both; }.delay-1{animation-delay:.15s}.delay-2{animation-delay:.27s}.delay-3{animation-delay:.39s}@keyframes revealUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes heroIn{from{transform:scale(1.11)}to{transform:scale(1.02)}}
@media (max-width:800px) { .shell { width:min(100% - 40px,620px); }.site-header { height:70px; padding:0 20px; }.desktop-nav,.header-cta { display:none; }.menu-button { width:37px;height:37px; display:flex; position:relative; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; border:0; background:transparent; color:#fff; }.menu-button span:not(.sr-only) { width:23px;height:1px;background:currentColor;transition:.25s; }.menu-button.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu { position:fixed; z-index:3; top:70px;left:0;right:0; display:grid; gap:0; max-height:0; overflow:hidden; background:#173027; transition:max-height .35s; }.mobile-menu.is-open { max-height:300px; border-top:1px solid rgba(255,255,255,.2); }.mobile-menu a { padding:18px 20px; color:#fff; border-bottom:1px solid rgba(255,255,255,.15); font-size:13px; font-weight:700; }.hero { min-height:690px; }.hero h1 { margin:20px 0; font-size:clamp(45px,12vw,68px); }.hero-copy { font-size:14px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }.hero-footer { bottom:22px; }.hero-footer > span:first-child,.hero-footer > span:last-child { display:none; }.hero-scroll { margin:auto; }.section-space { padding-block:87px; }.intro-grid,.feature,.contact { grid-template-columns:1fr; gap:35px; }.intro h2,.services h2,.feature h2,.process h2,.contact h2 { font-size:clamp(37px,10vw,55px); }.services { padding:82px 0 86px; }.services-head { display:grid; gap:21px; }.service-list { margin-top:39px; }.service-card { min-height:0; grid-template-columns:37px 63px minmax(0,1fr) 36px; gap:8px; padding:22px 0; }.service-card:hover { padding-inline:0; background:transparent; }.service-icon { transform:scale(.72); transform-origin:left center; }.service-content h3 { margin:0;font-size:15px; }.service-content p { font-size:12px; }.service-toggle { width:31px;height:31px; font-size:17px; }.feature { padding:87px 0; }.feature-panel { min-height:340px; }.process-head { display:grid; gap:18px; }.process-grid { grid-template-columns:1fr 1fr; gap:34px 0; margin-top:43px; }.process-grid article { min-height:177px; padding:0 15px 0 20px; }.process-grid article:nth-child(odd) { padding-left:0;border-left:0; }.process-grid span { margin-bottom:23px; }.quote-section { padding:84px 0; }.quote-line { right:0;top:48px;width:170px;height:170px; }.quote-section blockquote { margin-top:29px; font-size:clamp(38px,10vw,58px); }.contact { padding:85px 0; }.contact-form { padding:25px 21px; }.form-row { grid-template-columns:1fr; gap:0; }.footer-top { grid-template-columns:1fr;gap:25px; }.footer-top .text-link { justify-self:start; }.footer-bottom { display:grid; gap:12px; margin-top:42px; }.legal-placeholder { text-align:left; }.footer-bottom p { line-height:1.5; } }
@media (max-width:390px) {.service-card { grid-template-columns:27px 54px minmax(0,1fr) 31px; }.service-icon{transform:scale(.63)}.brand{font-size:12px}.hero h1{font-size:43px}.button{padding:0 17px}}

.projects { background:#f0ece4; }
.projects-head { display:flex; justify-content:space-between; align-items:end; gap:60px; }
.projects h2 { margin:0; font-size:clamp(38px,4.4vw,68px); line-height:1.06; font-weight:700; }
.projects-head > p { max-width:390px; margin:0 0 7px; color:#53625a; font-size:15px; line-height:1.75; }
.project-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:280px; gap:18px; margin-top:58px; }
.project-card { position:relative; grid-column:span 3; margin:0; overflow:hidden; background:#203a30; color:#fff; }
.project-card-featured { grid-column:span 5; grid-row:span 2; }
.project-card-wide { grid-column:span 7; }
.project-card-garden { grid-column:span 3; }
.project-card-compact { grid-column:span 2; }
.project-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.project-card:hover img { transform:scale(1.045); }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,27,21,.78),transparent 54%); pointer-events:none; }
.project-card figcaption { position:absolute; z-index:1; right:24px; bottom:22px; left:24px; }
.project-card figcaption span { display:block; margin-bottom:7px; color:#f0c18c; font:500 9px var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.project-card figcaption strong { display:block; max-width:270px; font-size:14px; line-height:1.35; letter-spacing:-.02em; }
.project-summary { display:grid; grid-template-columns:1.15fr .85fr; gap:12%; margin-top:70px; padding-top:54px; border-top:1px solid var(--line); }
.project-summary h3 { max-width:580px; margin:13px 0 18px; font-size:clamp(25px,2.6vw,38px); line-height:1.12; letter-spacing:-.045em; }
.project-summary p:not(.eyebrow) { max-width:580px; margin-bottom:25px; color:#53625a; font-size:14px; line-height:1.75; }
.project-facts { display:grid; align-content:start; gap:0; margin:0; border-top:1px solid var(--line); }
.project-facts div { padding:17px 0; border-bottom:1px solid var(--line); }
.project-facts dt { margin-bottom:5px; color:#927455; font:500 9px var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.project-facts dd { margin:0; font-size:13px; font-weight:700; line-height:1.55; }
.faq { background:var(--light); }
.faq-grid { display:grid; grid-template-columns:.85fr 1fr; gap:13%; }
.faq h2 { margin:0; font-size:clamp(38px,4.4vw,64px); line-height:1.06; font-weight:700; }
.faq-intro > p:not(.eyebrow) { max-width:400px; margin:26px 0 0; color:#59665f; font-size:15px; line-height:1.75; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:23px 42px 23px 0; cursor:pointer; font-size:15px; font-weight:800; letter-spacing:-.025em; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; top:16px; right:0; width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(23,48,39,.34); border-radius:50%; font:400 19px/1 var(--sans); transition:transform .25s,background .25s,color .25s; }
.faq-list details[open] summary::after { transform:rotate(45deg); background:var(--ink); color:white; }
.faq-list details p { max-width:570px; margin:0; padding:0 34px 23px 0; color:#59665f; font-size:13px; line-height:1.7; }
.quick-contact { padding:87px 0; background:#173027; color:white; }
.quick-contact-inner { display:flex; justify-content:space-between; align-items:end; gap:60px; }
.quick-contact h2 { margin:0; font-size:clamp(37px,4.5vw,66px); line-height:1.05; letter-spacing:-.055em; }
.quick-contact-actions { display:grid; justify-items:start; gap:20px; }
.quick-contact-actions .button { min-width:195px; }
.quick-contact-actions p { margin:0; color:#aeb9b2; font:500 10px/1.7 var(--mono); }
@media (max-width:800px) { .projects-head { display:grid; gap:22px; }.project-grid { grid-template-columns:1fr 1fr; grid-auto-rows:260px; gap:12px; margin-top:37px; }.project-card,.project-card-wide { grid-column:span 1; }.project-card-featured { grid-column:span 2; grid-row:span 2; }.project-card figcaption { right:17px; bottom:16px; left:17px; } }
@media (max-width:800px) { .project-summary { grid-template-columns:1fr; gap:35px; margin-top:46px; padding-top:35px; } }
@media (max-width:800px) { .faq-grid { grid-template-columns:1fr; gap:38px; }.quick-contact { padding:70px 0; }.quick-contact-inner { display:grid; align-items:start; gap:35px; } }
@media (max-width:520px) { .project-grid { grid-template-columns:1fr; grid-auto-rows:250px; }.project-card,.project-card-wide,.project-card-featured { grid-column:span 1; grid-row:span 1; }.project-card-featured { min-height:400px; } }

.contact-direct { display:grid; grid-template-columns:1fr 1fr; gap:15px 24px; margin:33px 0 0; color:var(--ink); font-style:normal; }
.contact-direct a,.contact-direct p { margin:0; font-size:12px; line-height:1.6; }
.contact-direct a { display:block; }
.contact-direct a:hover strong { color:var(--warm); }
.contact-direct span { display:block; margin-bottom:3px; color:#708078; font:500 9px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.contact-direct strong { font-size:13px; transition:color .2s; }
@media (max-width:800px) { .contact-direct { grid-template-columns:1fr; gap:14px; margin-top:27px; } }

/* GRÜNVERANDA mark: a veranda frame and leaf, uniting cover and garden. */
.brand .brand-mark { display:block; width:31px; height:23px; flex:0 0 auto; color:#d7a875; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.brand .brand-mark .brand-leaf { fill:#d7a875; stroke:none; }
.brand .brand-mark .brand-vein { stroke:#173027; stroke-width:1.3; }

.footer-legal { display:flex; align-items:center; justify-content:end; gap:22px; color:#e2b07c; text-align:right; }
.footer-legal a { color:#fff; border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:3px; }
.footer-legal-links { display:flex; align-items:center; gap:16px; }

.legal-page { min-height:100vh; background:var(--paper); }
.legal-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 max(32px,calc((100vw - 1240px)/2)); background:#10241d; color:#fff; }
.legal-main { padding:100px 0 130px; }
.legal-intro { max-width:710px; padding-bottom:59px; border-bottom:1px solid var(--line); }
.legal-intro h1 { margin:15px 0 17px; font-size:clamp(52px,6.5vw,91px); line-height:.95; letter-spacing:-.065em; }
.legal-intro > p:last-child { margin:0; color:#59665f; font-size:15px; }
.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:58px; }
.legal-card { min-height:275px; padding:34px; background:#ebe3d6; }
.legal-card-lead { background:#173027; color:white; }
.legal-card h2 { max-width:400px; margin:12px 0 23px; font-size:clamp(22px,2.2vw,33px); line-height:1.13; letter-spacing:-.045em; }
.legal-card p,.legal-card address { margin:0; color:#52635a; font-size:14px; line-height:1.75; font-style:normal; }
.legal-card-lead .legal-subline,.legal-card-lead address { color:rgba(255,255,255,.74); }
.legal-card a { color:var(--ink); font-weight:800; border-bottom:1px solid rgba(23,48,39,.36); }
.legal-card-lead .eyebrow { color:#f2d7b8; }
.legal-subline { margin-bottom:19px !important; }
.legal-footer { padding:26px 0; background:#10241d; color:#aeb9b2; font:500 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.legal-footer > div { display:flex; justify-content:space-between; gap:22px; }
.legal-footer a { color:#f2d7b8; }
@media (max-width:800px) { .footer-legal { align-items:start; justify-content:start; flex-direction:column; gap:9px; text-align:left; }.footer-legal-links { gap:14px; }.legal-header { min-height:70px; padding:0 20px; }.legal-main { padding:70px 0 80px; }.legal-intro { padding-bottom:38px; }.legal-intro h1 { font-size:clamp(47px,13vw,65px); }.legal-grid { grid-template-columns:1fr; gap:12px; margin-top:37px; }.legal-card { min-height:0; padding:26px 22px; }.legal-footer > div { flex-direction:column; gap:10px; } }
