@charset "UTF-8";
@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/fraunces.ttf') format('truetype')}
@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/fraunces-italic.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-regular.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:500 700;font-display:swap;src:url('assets/fonts/inter-medium.ttf') format('truetype')}
:root{--paper:#faf9f6;--ink:#292b28;--muted:#666a63;--line:#dcded6;--soft:#efeee9;--dark:#29322d;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.7vw,5.6rem)}h2{font-size:clamp(2rem,3.7vw,3.6rem)}h3{font-weight:400}address{font-style:normal}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #486455;outline-offset:5px}[hidden]{display:none!important}button:disabled{opacity:.35;cursor:default}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;left:1rem;top:1rem;background:white;padding:1rem;z-index:100}
.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 5%;background:var(--paper);border-bottom:1px solid var(--line)}
.hgw-brand{display:block;width:220px;flex-shrink:0;line-height:0}.hgw-brand img{width:100%;height:auto}
.header nav{display:flex;gap:34px;align-items:center}.header nav a{font-size:.875rem;padding:10px 0;border-bottom:1px solid transparent}.header nav a:hover,.header nav a[aria-current=page]{border-color:var(--ink)}
.menu-toggle{display:none;border:0;background:none;padding:10px 0}
.eyebrow,.section-label{font-family:Arial,Helvetica,sans-serif;font-size:.875rem;letter-spacing:.025em;color:var(--muted);line-height:1.5}
.text-link{display:inline-flex;gap:24px;align-items:center;font-size:.9375rem;border-bottom:1px solid currentColor;padding:9px 0;line-height:1.5}
.text-link:hover{color:#5b695e}.quiet-link{display:block;font-size:.875rem;color:var(--muted);margin-top:18px}.quiet-link:hover{text-decoration:underline}
.home-heading{padding:58px 5% 43px}.home-heading>div{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-top:22px}.home-heading h1{font-size:clamp(2.9rem,5.6vw,5.7rem)}.home-heading>div>p{color:var(--muted);max-width:340px;line-height:1.7;font-size:1rem;padding-bottom:7px}
.hero-grid{margin:0 5%;display:block}.hero-tile{display:block}.hero-tile>img{height:clamp(350px,44vw,700px);object-fit:cover;object-position:center 52%}.hero-tile .photo-caption{padding:15px 0;font-size:.875rem}.hero-tile .photo-caption small{display:none}
.photo-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0 0;font-size:1rem;line-height:1.5}.photo-caption small{display:block;color:var(--muted);font-size:.875rem;margin-top:4px}.expand{font-size:1.35rem}.hero-tile .expand{font-size:1.1rem}
.projects-section{padding:0 5% 70px}.home-projects{padding-top:90px;padding-bottom:80px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-top .eyebrow{margin-bottom:16px}.section-top h2{font-size:clamp(1.9rem,3vw,3rem)}.subtle{font-size:.875rem;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:10px 25px;margin-bottom:35px}.filters button{font-size:.875rem;color:var(--muted);border:0;border-bottom:1px solid transparent;background:transparent;padding:8px 0}.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.filters button:hover{color:var(--ink)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.project{display:block;min-width:0}.project>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft);transition:filter .3s}.project:hover>img{filter:brightness(1.04)}.project.epoxy-project>img{object-position:center 60%}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;font-size:.875rem;color:var(--muted)}.gallery-bottom button{border:0;background:none;border-bottom:1px solid var(--ink);padding:8px 0}.gallery-bottom button span{margin-left:25px}
.home-services{padding:45px 5% 70px;border-bottom:1px solid var(--line)}.service-links{display:flex;flex-wrap:wrap;gap:14px 42px;margin:22px 0 25px}.service-links a{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.3}.service-links a:hover{color:var(--muted)}
.home-about{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:100px 5%}.home-about h2{margin-top:23px}.home-about>div>p:not(.eyebrow){color:var(--muted);max-width:480px;margin-top:45px}.home-about .text-link{margin-top:24px}
.home-contact{text-align:center;background:var(--soft);padding:90px 5%}.home-contact h2{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:23px 0 18px}.contact-inline{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 35px;margin-top:38px;color:var(--muted);font-size:.9375rem}.contact-inline a{overflow-wrap:anywhere}
.site-footer{padding:48px 5%;display:flex;gap:45px;justify-content:space-between;align-items:start;border-top:1px solid var(--line)}.footer-identity .hgw-brand{width:195px}.footer-identity p{margin-top:25px;font-size:.875rem;color:var(--muted)}.site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(85px,1fr));gap:12px 35px;margin-left:auto;font-size:.875rem}.site-footer nav a:hover{text-decoration:underline}.back-top{font-size:1.4rem}
.page-intro{padding:65px 5% 65px;max-width:1150px}.breadcrumb{display:block;font-size:.875rem;color:var(--muted);margin-bottom:35px}.page-intro h1{margin-bottom:27px}.page-intro>p{color:var(--muted);max-width:690px}
.section{display:grid;grid-template-columns:1fr 3fr;gap:55px;padding:65px 5% 85px;border-top:1px solid var(--line)}.section-content{min-width:0}.service-list{margin-top:38px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;gap:24px;align-items:center;padding:22px 0}summary::-webkit-details-marker{display:none}summary h3{font-size:1.25rem;line-height:1.4}.service-number{font-size:.8125rem;color:var(--muted)}.detail-symbol{margin-left:auto;font-size:1.5rem}.service-list details[open] .detail-symbol{transform:rotate(45deg)}.service-description{padding:0 35px 28px 42px;color:var(--muted);max-width:700px}.service-description a{display:inline-block;margin-top:15px;color:var(--ink);font-size:.9375rem;border-bottom:1px solid var(--line)}
.editorial{display:grid;grid-template-columns:1.1fr 1fr;margin:0 5% 80px;gap:7%;align-items:center}.editorial>img{height:auto;max-height:650px;object-fit:cover;aspect-ratio:4/5}.editorial>div{padding:25px 0;min-width:0}.editorial h2{margin:24px 0}.editorial p{color:var(--muted);margin:20px 0}.editorial address{margin-top:26px}.section-link{margin-top:25px}.partner-editorial>img{aspect-ratio:3/4;object-fit:contain;background:var(--soft);padding:28px}.location-editorial>img{aspect-ratio:4/3;object-fit:contain;background:var(--soft);padding:40px}
.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:50px 5% 80px}.process>div{border-top:1px solid var(--line);padding-top:20px}.process span{font-size:.8125rem;color:var(--muted)}.process h3{font-size:1.125rem;margin:14px 0}.process p{font-size:.9375rem;color:var(--muted)}
.page-cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:65px 5%;background:var(--soft)}.page-cta h2{margin-top:20px}
.contact-page{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;padding:10px 5% 90px}.contact-page h2{font-size:2.2rem;margin:20px 0 10px}.contact-page p{color:var(--muted)}.contact-phone{display:block;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.3;padding:25px 0;margin-top:20px;border-bottom:1px solid var(--line)}.contact-details{margin-top:30px}.contact-details>div{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.contact-details dt{color:var(--muted);font-size:.875rem}.contact-details dd{margin:0;overflow-wrap:anywhere}.contact-address{padding:35px;background:var(--soft);align-self:start}.contact-address h3{font-size:1.25rem;margin-bottom:24px}.contact-address p{margin:25px 0}
.legal-copy{max-width:960px;margin:0 auto;padding:0 5% 90px;overflow-wrap:anywhere}.legal-copy h2{font-family:Arial,Helvetica,sans-serif;font-size:1.75rem;letter-spacing:-.02em;margin:42px 0 23px}.legal-copy h3{font-size:1.25rem;margin:30px 0 15px}.legal-copy p{margin:18px 0}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.legal-copy small{font-size:inherit}.legal-copy strong{font-weight:600}.privacy-note{background:var(--soft);padding:28px;margin-bottom:40px}.privacy-note h2{font-size:1.3rem;margin-top:0}.source-note{font-size:.875rem;color:var(--muted)}
.lightbox{background:#171a18;color:#fff;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#171a18}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 3%;min-height:70px}.lightbox-top p{font-size:1rem}.lightbox button{border:0;background:none;color:inherit;padding:12px;font-size:1rem}.lightbox-image{flex:1;min-height:0;object-fit:contain;width:100%;padding:0 3%}.lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:28px;padding:15px 3%;min-height:80px}.lightbox-bottom button{font-size:1.75rem}.lightbox-bottom span,.original-link{font-size:.875rem}.original-link{border-bottom:1px solid #7e8981;padding:5px 0}.modal-open{overflow:hidden}
@media(min-width:1650px){.header,.home-heading,.projects-section,.home-services,.home-about,.site-footer,.page-intro,.section,.page-cta,.contact-page{padding-left:max(5%,calc((100% - 1500px)/2));padding-right:max(5%,calc((100% - 1500px)/2))}.hero-grid,.editorial{max-width:1500px;margin-left:auto;margin-right:auto}}
@media(max-width:950px){.header nav{gap:22px}.hgw-brand{width:205px}.home-heading>div{display:block}.home-heading>div>p{margin-top:22px}.home-about{gap:6%}.section{grid-template-columns:1fr;gap:25px}.site-footer nav{grid-template-columns:repeat(2,minmax(85px,1fr));gap:12px 24px}.editorial{gap:5%}.contact-page{gap:5%}}
@media(max-width:650px){html{scroll-padding-top:90px}.header{padding:14px 6%;gap:20px}.hgw-brand{width:190px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:.875rem}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 6% 28px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:start;gap:8px}.header nav a{font-size:1.125rem}
.home-heading{padding:38px 6% 30px}.home-heading h1{font-size:clamp(2.6rem,10vw,3.7rem)}.home-heading>div{margin-top:18px}.home-heading>div>p{font-size:.9375rem;margin-top:20px}.eyebrow{font-size:.8125rem}.hero-grid{margin:0 6%}.hero-tile>img{height:auto;aspect-ratio:4/3;object-position:center}.hero-tile .photo-caption{font-size:.8125rem}.hero-tile .photo-caption small{display:none}
.projects-section{padding:0 6% 45px}.home-projects{padding-top:50px;padding-bottom:35px}.section-top{display:block;margin-bottom:28px}.section-top h2{font-size:2rem}.section-top .eyebrow{margin-bottom:12px}.section-top>.text-link{margin-top:15px}.section-top>.subtle{display:block;margin-top:12px}.project-grid{grid-template-columns:1fr;gap:30px}.photo-caption{padding-top:12px;font-size:1rem}.photo-caption small{font-size:.875rem}.filters{gap:6px 20px;margin-bottom:25px}.filters button{font-size:.875rem;min-height:42px}.gallery-bottom{flex-wrap:wrap;gap:20px}
.home-services{padding:35px 6% 45px}.service-links{gap:17px 28px;margin:20px 0}.service-links a{font-size:1.8rem}.home-about{grid-template-columns:1fr;gap:0;padding:55px 6%}.home-about h2{font-size:2.3rem;margin-top:17px}.home-about>div>p:not(.eyebrow){margin-top:25px}.home-contact{padding:55px 6%}.home-contact h2{font-size:2.6rem}.contact-inline{flex-direction:column;gap:12px;margin-top:28px;font-size:.875rem}
.site-footer{padding:35px 6%;gap:25px;flex-wrap:wrap}.footer-identity{flex:1}.footer-identity .hgw-brand{width:190px}.footer-identity p{font-size:.8125rem}.site-footer nav{width:100%;margin:0;order:3;grid-template-columns:1fr 1fr}.back-top{margin-left:auto}
.page-intro{padding:35px 6% 45px}.breadcrumb{margin-bottom:25px}.page-intro h1{font-size:clamp(2.5rem,9vw,3.5rem)}.section{padding:35px 6% 50px;gap:20px}.section h2{font-size:2.3rem}.service-list{margin-top:27px}summary{gap:16px;padding:20px 0}summary h3{font-size:1.125rem}.service-description{padding-left:31px;padding-right:0}
.editorial{display:block;margin:0 6% 45px}.editorial>img{aspect-ratio:4/3;max-height:500px}.editorial>div{padding:35px 0 0}.editorial h2{font-size:2.25rem}.partner-editorial>img{aspect-ratio:1;object-fit:contain}.process{grid-template-columns:1fr;margin:30px 6% 50px;gap:25px}.process h3{margin:10px 0}.page-cta{display:block;padding:45px 6%}.page-cta .text-link{margin-top:22px}.contact-page{grid-template-columns:1fr;gap:32px;padding:0 6% 50px}.contact-address{padding:25px}.contact-details>div{grid-template-columns:55px 1fr;gap:15px}.legal-copy{padding:0 6% 50px}.privacy-note{padding:22px}
.lightbox-top{padding:12px 4%;gap:15px}.lightbox-top p{font-size:.875rem}.lightbox-close{white-space:nowrap;font-size:.875rem!important}.lightbox-bottom{gap:10px}.lightbox-bottom button{padding:8px}.lightbox-image{padding:0}.original-link{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* The supplied story is framed in CSS: the original photograph stays untouched. */
.hero-photo{display:block;position:relative;overflow:hidden;aspect-ratio:707/430;background:#e3ded3}
.hero-photo>img{position:absolute;left:0;top:-130.697674%;width:100%;height:auto;max-width:none}
.client-strip{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:35px;align-items:start;margin:22px 5% 0;padding:32px 0 38px;border-bottom:1px solid var(--line)}
.client-strip h2{font:400 .875rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--muted)}
.client-name h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,1.6vw,1.6rem);line-height:1.3}
.client-name span{display:block;margin-top:8px;color:var(--muted);font-size:.875rem}
.lightbox-media{flex:1;min-height:0;display:flex}
.lightbox-media .lightbox-image{height:100%;min-height:0;flex:none}
.lightbox-media.is-story{display:block;position:relative;flex:none;overflow:hidden;width:min(94vw,calc((100dvh - 200px)*1.339015));aspect-ratio:707/528;margin:auto}
.lightbox-media.is-story .lightbox-image{position:absolute;top:-87.878788%;left:0;width:100%;height:auto;padding:0}
@media(min-width:1650px){.client-strip{max-width:1500px;margin-left:auto;margin-right:auto}}
@media(max-width:900px){.client-strip{grid-template-columns:1fr 1fr;gap:24px}.client-strip h2{grid-column:1/-1}}
@media(max-width:650px){.hero-photo{aspect-ratio:707/528}.hero-photo>img{top:-87.878788%}.client-strip{margin:15px 6% 0;padding:22px 0 28px;gap:20px;grid-template-columns:1fr}.client-strip h2{grid-column:auto}.client-name h3{font-size:1.25rem}.client-name span{margin-top:5px}}

.client-photo{position:relative;overflow:hidden;aspect-ratio:4/3;margin-bottom:20px;background:var(--soft)}
.client-photo img{position:absolute;max-width:none;height:auto}
.client-photo-hotel img{width:100%;left:0;top:-147.169811%}
.client-photo-kw img{width:152.37069%;left:-21.551724%;top:-168.390805%}
@media(max-width:650px){.client-photo{margin-bottom:14px}.client-strip{gap:28px}.client-strip h2{margin-bottom:-8px}}

/* Warm editorial direction, shared by the homepage and every supporting page. */
:root{--paper:#f5f2e9;--ink:#211e17;--muted:#625e55;--line:#ddd8cd;--soft:#eeeadf;--dark:#211e17;--accent:#826340}
body{font-family:Inter,Arial,sans-serif}
h1,h2,.service-links a,.client-name h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.035em}
h1 em,h2 em{font-weight:400;color:var(--accent)}
.eyebrow,.section-label{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-size:.75rem;letter-spacing:.24em;color:var(--accent);line-height:1.65}
.header{height:96px;padding-top:0;padding-bottom:0;background:rgba(245,242,233,.97);transition:background .2s,border-color .2s}
.wordmark{display:block;font-family:Georgia,serif;font-size:32px;line-height:1;letter-spacing:-2px;white-space:nowrap}
.wordmark span{color:var(--accent);font-size:29px;font-weight:400;position:relative;top:-1px;margin:0 1px}
.menu-toggle{display:flex;width:48px;height:48px;align-items:center;justify-content:center;padding:0;border:0;background:transparent}
.menu-lines{position:relative;display:block;width:27px;height:9px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines:after{content:"";position:absolute;top:-1px;left:0;width:27px;border-top:1px solid var(--ink);transform:rotate(-90deg)}
.header nav{display:none;position:absolute;top:100%;right:0;left:0;padding:24px 5% 40px;background:var(--paper);border-bottom:1px solid var(--line)}
.header nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.header nav a{font-family:Fraunces,Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2}
.home .header{margin-bottom:-96px;background:transparent;border-color:transparent}
.home .header.is-scrolled,.home .header:has(nav.open){background:rgba(245,242,233,.98);border-color:var(--line)}
.hero-editorial{--hero-height:max(790px,100svh);height:var(--hero-height);position:relative;isolation:isolate;display:flex;align-items:flex-end;padding:150px 5% 82px;overflow:hidden}
.hero-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#c7b79d}
.hero-backdrop img{position:absolute;width:max(100%,calc(var(--hero-height)*1.339015));max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-47.395833%)}
.hero-editorial:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,242,233,.48),rgba(245,242,233,.06) 80%),linear-gradient(180deg,rgba(245,242,233,.35),rgba(245,242,233,.06) 23%,rgba(245,242,233,.83) 69%,var(--paper) 100%)}
.hero-content{max-width:900px}
.hero-content .eyebrow{color:var(--ink);margin-bottom:27px}
.hero-content h1{font-size:clamp(3.3rem,5.9vw,6.2rem);line-height:1.06;font-weight:400;letter-spacing:-.045em}
.hero-description{max-width:640px;font-size:clamp(1rem,1.4vw,1.25rem);color:#534d43;line-height:1.7;margin-top:29px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px 32px;margin-top:35px}
.button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 32px;border-radius:999px;background:var(--ink);color:#fff;font-weight:500;font-size:1rem;transition:background .2s}
.button-primary:hover{background:#514332}
.hero-secondary{font-size:1rem;padding:8px 0;border-bottom:1px solid transparent}
.hero-secondary:hover{border-color:currentColor}
.hero-zoom{position:absolute;right:5%;bottom:34px;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px}
.hero-zoom>img.sr-only{height:1px;width:1px}
.client-strip{margin-top:0;padding-top:55px;padding-bottom:65px;gap:6%;grid-template-columns:.7fr 1fr 1fr}
.client-strip h2{font:400 .7rem/1.8 Inter,Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}
.client-photo{aspect-ratio:4/3;margin-bottom:19px}
.client-name h3{font-size:clamp(1.3rem,1.7vw,1.75rem);line-height:1.2}
.client-name>span{font-size:.8rem}
.craft-section{padding:95px 5% 85px}
.craft-section h2{font-size:clamp(2.25rem,4vw,4.25rem);margin-top:17px;line-height:1.15}
.craft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:55px}
.craft-grid figure{margin:0;min-width:0}
.craft-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#f7f4ef}
.craft-grid figcaption{margin-top:17px;font-size:.7rem;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;color:var(--muted)}
.craft-note{font-size:.7rem;color:var(--muted);margin-top:28px}
.home-projects{padding-top:50px;padding-bottom:95px}
.section-top h2{font-size:clamp(2.25rem,4vw,4rem)}
.project-grid{column-gap:40px;row-gap:55px}
.home-projects .project:nth-child(even){padding-top:80px}
.photo-caption{font-size:1rem}
.photo-caption small{font-size:.8rem}
.home-services{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}
.service-links{gap:20px 48px;margin:24px 0}
.service-links a{font-size:clamp(2.1rem,3.9vw,4rem)}
.home-about{padding-top:110px;padding-bottom:110px}
.home-about h2{font-size:clamp(2.25rem,4vw,4rem)}
.home-contact{padding:100px 5%}
.home-contact h2{font-size:clamp(3rem,5.5vw,5.5rem)}
.text-link:hover{color:var(--accent)}
.site-footer{background:var(--paper)}
.page-intro{padding-top:80px;padding-bottom:70px}
.page-intro h1{line-height:1.09}
.legal-copy h2{font-family:Inter,Arial,sans-serif}
@media(min-width:1650px){
.hero-editorial,.craft-section{padding-left:max(5%,calc((100% - 1500px)/2));padding-right:max(5%,calc((100% - 1500px)/2))}
}
@media(max-width:900px){
.client-strip{grid-template-columns:1fr 1fr;gap:27px}
.client-strip h2{grid-column:1/-1}
.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}
.hero-content h1{font-size:clamp(3.4rem,7.7vw,5.3rem)}
.home-projects .project:nth-child(even){padding-top:45px}
}
@media(max-width:650px){
.header{height:80px;padding:0 5.5%}
.wordmark{font-size:29px}
.wordmark span{font-size:26px}
.header nav{padding-left:5.5%;padding-right:5.5%}
.home .header{margin-bottom:-80px}
.hero-editorial{--hero-height:max(780px,100svh);padding:130px 5.5% 76px}
.hero-content .eyebrow{font-size:.65rem;letter-spacing:.25em;margin-bottom:23px}
.hero-content h1{font-size:clamp(2.6rem,8.7vw,3.6rem);line-height:1.07}
.hero-description{font-size:.97rem;line-height:1.65;margin-top:24px;max-width:410px}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:31px}
.button-primary{min-height:52px;padding:14px 25px;font-size:.94rem}
.hero-secondary{font-size:.89rem;padding:9px 0}
.hero-zoom{right:5.5%;bottom:25px;font-size:.68rem}
.client-strip{margin-left:5.5%;margin-right:5.5%;padding-top:35px;padding-bottom:42px;gap:23px 19px;grid-template-columns:1fr 1fr}
.client-strip h2{grid-column:1/-1;margin:0;font-size:.65rem}
.client-name h3{font-size:1.15rem;line-height:1.2;letter-spacing:-.03em;overflow-wrap:normal}
.client-name>span{font-size:.68rem;line-height:1.5}
.client-photo{margin-bottom:14px}
.craft-section{padding:56px 5.5% 50px}
.craft-section .eyebrow{font-size:.65rem;letter-spacing:.23em}
.craft-section h2{font-size:clamp(1.75rem,6.3vw,2.6rem);margin-top:14px;letter-spacing:-.04em}
.craft-grid{gap:27px 21px;margin-top:34px}
.craft-grid figcaption{font-size:.62rem;letter-spacing:.14em;margin-top:13px}
.craft-note{font-size:.65rem;line-height:1.6;margin-top:23px}
.home-projects{padding-top:30px;padding-bottom:55px}
.section-top h2{font-size:2.3rem}
.project-grid{gap:32px}
.home-projects .project:nth-child(even){padding-top:0}
.home-services{padding-top:42px;padding-bottom:42px}
.service-links{gap:14px 26px}
.service-links a{font-size:1.95rem}
.home-about{padding-top:55px;padding-bottom:55px}
.home-about h2{font-size:2.25rem}
.home-contact{padding:64px 5.5%}
.home-contact h2{font-size:2.8rem}
.page-intro{padding-top:40px;padding-bottom:45px}
}
@media(prefers-reduced-motion:reduce){.header,.menu-lines,.button-primary{transition:none}}

/* The apartment is an illustration; all navigation remains accessible HTML. */
.home.apartment-home .header{margin-bottom:0;background:var(--paper)}
.apartment-hero{max-width:1600px;margin:auto;padding:30px 4.5% 38px}
.apartment-intro{position:relative;z-index:1;max-width:900px}
.apartment-intro .eyebrow{margin-bottom:20px}
.apartment-intro h1{font-size:clamp(2.75rem,4.6vw,5rem);line-height:1.08}
.apartment-intro>p:last-child{font-size:1.1rem;color:var(--muted);margin-top:23px}
.apartment-scene{position:relative;margin:10px -2% 0;isolation:isolate}
.apartment-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}
.room-hotspot{position:absolute;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:8px 17px 8px 9px;background:#fffaf1;color:var(--ink);border:1px solid #9b8160;border-radius:50px;box-shadow:0 3px 18px #3328191c;font-size:14px;line-height:1.3;transform:translate(-50%,-50%);white-space:nowrap;z-index:2;transition:background .2s,color .2s}
.hotspot-number{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-size:12px;flex-shrink:0}
.room-hotspot:hover,.room-hotspot:focus-visible{background:var(--ink);color:var(--paper);z-index:3}
.hotspot-hint{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--paper);color:var(--ink);padding:13px 17px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #33281920;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s;font-size:14px}
.room-hotspot:hover .hotspot-hint,.room-hotspot:focus-visible .hotspot-hint{opacity:1;visibility:visible}
.room-kitchen{left:38%;top:35%}
.room-bath{left:72%;top:26%}
.room-living{left:39%;top:56%}
.room-storage{left:76%;top:46%}
.apartment-caption{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:6px;text-align:center}
.apartment-caption p{font-family:Fraunces,Georgia,serif;font-size:1.2rem;line-height:1.45}
.apartment-caption>span{font-size:12px;color:var(--muted)}
.room-mobile-links{display:none}
.apartment-home .client-strip{border-top:1px solid var(--line)}
.featured-dining{display:block;margin-bottom:50px}
.featured-dining .photo-caption small{display:block}
.featured-dining .hero-photo{aspect-ratio:707/370}
.featured-dining .hero-photo>img{top:-151.891892%}
@media(max-width:900px){
.apartment-hero{padding-top:20px}
.apartment-intro h1{font-size:clamp(2.4rem,5.6vw,4rem)}
.room-hotspot{gap:7px;padding-right:12px}
}
@media(max-width:650px){
.apartment-hero{padding:16px 5.5% 32px}
.apartment-intro .eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:15px}
.apartment-intro h1{font-size:clamp(2.05rem,7.5vw,3rem);line-height:1.1;letter-spacing:-.04em}
.apartment-intro>p:last-child{font-size:1rem;line-height:1.55;margin-top:17px;max-width:300px}
.apartment-scene{margin:23px -4% 0}
.room-hotspot{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:50%;box-shadow:0 2px 10px #33281930}
.hotspot-number{width:auto;height:auto;border:0;font-size:14px}
.hotspot-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hotspot-hint{display:none}
.apartment-caption{align-items:flex-start;text-align:left;margin-top:16px;gap:7px}
.apartment-caption p{font:400 14px/1.6 Inter,Arial,sans-serif}
.apartment-caption>span{font-size:12px}
.room-mobile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:21px}
.room-mobile-links a{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid var(--line);padding:10px 12px;border-radius:3px;font-size:14px;background:#faf8f1}
.room-mobile-links a:hover{border-color:var(--accent)}
.room-mobile-links a>span:first-child{font-size:12px;color:var(--accent)}
.room-mobile-links a>span:last-child{margin-left:auto;font-size:16px}
.featured-dining{margin-bottom:32px}
.featured-dining .hero-photo{aspect-ratio:707/528}
.featured-dining .hero-photo>img{top:-87.878788%}
}
@media(prefers-reduced-motion:reduce){.room-hotspot,.hotspot-hint{transition:none}}

/* Clear project enquiries and evidence alongside the visual introduction. */
.apartment-intro>p:not(.eyebrow):not(.trust-line){max-width:670px;color:var(--muted);margin-top:23px;font-size:1.08rem;line-height:1.65}
.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:28px}
.apartment-intro>p.trust-line{font-size:.875rem;color:var(--muted);margin:23px 0 0;letter-spacing:0;max-width:none}
.client-action{display:inline-block;margin-top:15px;font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:4px}
.home-services>h2{margin-top:20px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:42px 0 32px}
.offer-grid h3{font:400 1.6rem/1.25 Fraunces,Georgia,serif;margin-bottom:16px}
.offer-grid p{font-size:1rem;line-height:1.75;color:var(--muted)}
.offer-grid .text-link{font-size:.875rem;margin-top:18px}
.project-process{padding:80px 5%;border-top:1px solid var(--line)}
.process-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:42px 0 0}
.process-steps li{border-top:1px solid var(--line);padding-top:20px}
.process-steps span{font-size:.875rem;color:var(--accent)}
.process-steps h3{font:400 1.45rem/1.3 Fraunces,Georgia,serif;margin:14px 0}
.process-steps p{font-size:1rem;color:var(--muted)}
.request-section{display:grid;grid-template-columns:1fr 1.5fr;gap:7%;padding:0 5% 80px;scroll-margin-top:120px}
.request-intro h2{margin:18px 0 26px}
.request-intro>p:not(.eyebrow),.request-help p{font-size:1rem;color:var(--muted);line-height:1.75}
.request-help{border-top:1px solid var(--line);padding-top:24px;margin-top:35px}
.request-help h3{font-size:1.125rem;margin-bottom:12px}
.request-form{min-width:0}
.request-form label{display:block;font-size:.875rem;line-height:1.5;margin-bottom:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.request-form input,.request-form select,.request-form textarea{display:block;width:100%;min-width:0;background:#fffdf8;color:var(--ink);border:1px solid #bcb3a3;border-radius:3px;padding:12px 14px;font:400 1rem/1.5 Inter,Arial,sans-serif;margin-top:8px}
.request-form input,.request-form select{min-height:49px}
.request-form textarea{resize:vertical}
.request-form input:focus-visible,.request-form select:focus-visible,.request-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.request-form .button-primary{border:0}
.form-note{font-size:.8125rem;line-height:1.65;color:var(--muted);margin-bottom:22px}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.request-result{margin-top:30px;padding:26px;background:var(--soft);border-left:2px solid var(--accent)}
.request-result h3{font:400 1.6rem/1.3 Fraunces,Georgia,serif}
.request-result>p{margin:14px 0 24px;font-size:.9375rem;color:var(--muted)}
.request-result label{margin-bottom:20px}
.request-result .form-note{margin-bottom:0}
.draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.draft-actions .button-primary{font-size:.9375rem}
.copy-button{padding:10px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:.9375rem}
.request-faq{padding:55px 5% 65px;border-top:1px solid var(--line);max-width:1100px}
.request-faq h2{margin-top:18px}
.request-faq .service-description{padding-left:0}
.similar-project{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.lightbox-bottom{flex-wrap:wrap}
@media(min-width:1650px){.project-process,.request-section{padding-left:max(5%,calc((100% - 1500px)/2));padding-right:max(5%,calc((100% - 1500px)/2))}}
@media(max-width:950px){.request-section{grid-template-columns:1fr;gap:35px}.request-intro{max-width:650px}.request-help{margin-top:24px}.offer-grid{gap:25px}.process-steps{gap:25px}}
@media(max-width:650px){
.apartment-intro>p:not(.eyebrow):not(.trust-line){font-size:1rem;margin-top:18px;max-width:none}
.apartment-intro>p.trust-line{font-size:.8125rem;line-height:1.7;margin-top:20px}
.intro-actions{gap:13px 20px;margin-top:22px}
.intro-actions .text-link{font-size:.875rem}
.client-action{font-size:.8125rem}
.offer-grid,.process-steps{grid-template-columns:1fr;gap:30px}
.offer-grid{margin-top:30px}.offer-grid h3{font-size:1.5rem}
.project-process{padding:50px 6%}
.request-section{padding:0 6% 50px;gap:30px}
.form-row{grid-template-columns:1fr;gap:0}
.request-result{padding:20px}
.request-faq{padding:40px 6%}
.lightbox-bottom{gap:6px 15px}
.lightbox-bottom .similar-project{order:5;width:100%;text-align:center;font-size:.8125rem;padding:5px}
}

/* HGW editorial homepage: dining, clients, world, real projects. */
.redesign-home .header{height:82px;margin-bottom:0;background:var(--paper);border-bottom:1px solid var(--line)}
.redesign-home .landing-hero{display:grid;grid-template-columns:43% 57%;align-items:stretch;min-height:580px}
.landing-copy{padding:90px 0 75px 11.6%;align-self:center;z-index:1}
.landing-copy h1{font-size:clamp(2.8rem,4.7vw,5.6rem);line-height:1.08;margin:27px -12% 25px 0}
.landing-copy>p:not(.eyebrow){color:var(--muted);font-size:1.125rem}
.landing-copy .intro-actions{gap:15px 25px;margin-top:32px}
.landing-copy .button-primary{gap:20px;padding:14px 24px}
.landing-photo{position:relative;overflow:hidden;min-width:0}
.dining-frame{position:absolute;inset:0;overflow:hidden;background:#bcaa8d}
.dining-frame img{position:absolute;width:max(100%,calc(580px * 1.339015));max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-47.395833%)}
.landing-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 17%);pointer-events:none}
.customer-line{margin:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 0;border-bottom:1px solid var(--line)}
.customer-line p{font-size:.875rem;color:var(--muted)}
.customer-line a{font:400 1.125rem/1.5 Fraunces,Georgia,serif;border-left:1px solid var(--line);padding-left:5%}
.customer-line a:hover{text-decoration:underline;text-underline-offset:5px}
.world-section{padding:65px 5% 15px}
.world-intro{text-align:center}
.world-intro h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.world-intro p{margin-top:16px;color:var(--muted)}
.world-scene{position:relative;margin:10px -5.55% 0}
.world-scene>img{width:100%;height:auto;mix-blend-mode:multiply}
.world-pin{position:absolute;display:flex;align-items:center;gap:9px;background:#f5f2e9ec;border:0;border-radius:30px;padding:6px 13px 6px 6px;font-size:.875rem;min-height:44px}
.world-pin span{display:grid;place-items:center;width:30px;height:30px;background:var(--accent);color:white;border-radius:50%;font-size:12px}
.world-pin[aria-expanded=true]{box-shadow:0 0 0 2px var(--accent)}
.pin-home{left:10%;top:31%}.pin-garden{left:46%;top:39%}.pin-business{right:10%;top:20%}
.world-controls{display:flex;align-items:center;justify-content:center;gap:35px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.world-controls button{font-size:.9375rem;background:none;border:0;border-bottom:2px solid transparent;padding:17px 4px}
.world-controls button[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}
.world-controls>a{font-size:.875rem;margin-left:auto;text-decoration:underline;text-underline-offset:6px}
.world-panel{padding:27px 0 15px;min-height:132px}
.world-panel h3{font:400 1.4rem/1.4 Fraunces,Georgia,serif;margin-bottom:16px}
.world-panel nav{display:flex;flex-wrap:wrap;gap:12px 30px}
.world-panel nav a{font-size:.9375rem;border-bottom:1px solid var(--line);padding:5px 0}
.world-panel nav a:hover{border-color:var(--accent)}
.world-panel p{color:var(--muted)}
.world-note{font-size:.75rem;color:var(--muted);text-align:right;margin:10px 0 0}
.redesign-home .home-projects{padding-top:65px;padding-bottom:65px}
.redesign-home .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.office-frame{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:var(--soft)}
.office-frame img{position:absolute;width:100%;height:auto;top:-32.26%;left:0;max-width:none}
.making-section{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#eeeadd}
.making-section>img{width:100%;height:100%;object-fit:cover;min-height:520px}
.making-copy{padding:55px 10%}
.making-copy h2{font-size:clamp(2rem,2.8vw,3rem);margin:16px 0 25px}
.making-copy ol{list-style:none;padding:0;margin:0}
.making-copy li{display:flex;gap:25px;padding:17px 0;border-top:1px solid var(--line)}
.making-copy li>span{font:400 2rem/1.2 Fraunces,Georgia,serif;color:var(--accent)}
.making-copy h3{font:400 1.25rem/1.4 Fraunces,Georgia,serif}
.making-copy li p{font-size:.9375rem;color:var(--muted);margin-top:6px}
.making-copy .text-link{font-size:.875rem;margin-top:12px}
.landing-contact{padding:65px 5%;text-align:center}
.landing-contact>p{color:var(--muted);margin-top:16px}
.landing-contact .request-form{max-width:950px;margin:32px auto 0;text-align:left;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}
.landing-contact .request-form>.form-row:first-of-type{grid-column:1/-1}
.landing-contact .request-form>.form-row{display:block}
.landing-contact .request-form>.form-row:first-of-type{display:grid;grid-template-columns:1fr 1fr}
.landing-contact .form-note,.landing-contact .request-result,.landing-contact noscript{grid-column:1/-1}
.landing-contact .request-form>button{justify-self:start;grid-column:1/-1}
.landing-contact .request-form input,.landing-contact .request-form select,.landing-contact .request-form textarea{background:transparent}
.redesign-home .site-footer{padding-top:30px;padding-bottom:30px}
@media(min-width:901px){
.redesign-home .menu-toggle{display:none}
.redesign-home .header nav{display:flex;position:static;background:none;border:0;padding:0;align-items:center;gap:38px}
.redesign-home .header nav a{font:400 .9375rem/1.4 Inter,Arial,sans-serif}
.redesign-home .header nav .nav-inquiry{background:var(--ink);color:var(--paper);border-radius:40px;padding:13px 24px;margin-left:35px}
}
@media(min-width:1500px){.landing-copy{padding-top:100px;padding-bottom:100px}.landing-photo .dining-frame img{width:max(100%,calc(720px * 1.339015))}.redesign-home .landing-hero{min-height:720px}}
@media(max-width:900px){
.redesign-home .landing-hero{grid-template-columns:1fr;min-height:0}
.landing-copy{padding:45px 6% 35px}.landing-copy h1{font-size:clamp(3rem,7vw,4.5rem);margin-right:0}
.landing-photo{height:0;padding-top:65%}.dining-frame img{width:100%;top:-87.878788%;left:0;transform:none}.dining-frame{aspect-ratio:707/528;height:auto;bottom:auto}.landing-photo:after{display:none}
.customer-line{flex-wrap:wrap;justify-content:flex-start}.customer-line p{width:100%}.customer-line a{padding-left:0;border:0;font-size:1rem}
.world-controls{gap:20px}.world-controls>a{margin-left:0}.world-pin{font-size:12px}.world-pin span{width:25px;height:25px}
.making-copy{padding:35px 7%}.making-copy .eyebrow{font-size:12px;letter-spacing:.12em}
}
@media(max-width:650px){
.redesign-home .header{height:76px}.landing-copy{padding-top:35px}.landing-copy h1{font-size:clamp(2.8rem,10vw,4rem)}.landing-copy>p:not(.eyebrow){font-size:1rem}
.customer-line{gap:15px;padding:24px 0}.customer-line a{width:100%}
.world-section{padding:40px 6% 0}.world-intro{text-align:left}.world-intro p{font-size:.9375rem}
.world-scene{margin:20px -6.8% 0}.world-pin{padding:0;width:36px;height:36px;min-height:36px;font-size:0;justify-content:center}.world-pin span{width:30px;height:30px;font-size:12px}
.world-controls{gap:0;justify-content:space-between}.world-controls button{font-size:.875rem;padding:17px 2px}.world-controls>a{display:none}
.world-panel{padding-top:24px;min-height:0}.world-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:14px}.world-panel nav a{font-size:.875rem}
.world-note{text-align:left;margin-top:20px}
.redesign-home .home-projects{padding-top:45px;padding-bottom:45px}.redesign-home .project-grid{grid-template-columns:1fr;gap:30px}
.making-section{grid-template-columns:1fr}.making-section>img{min-height:0;height:auto;aspect-ratio:4/3}.making-copy{padding:35px 6%}
.landing-contact{padding:45px 6%}.landing-contact .request-form{display:block}.landing-contact .request-form>.form-row:first-of-type{grid-template-columns:1fr;gap:0}.landing-contact h2{font-size:2.3rem}
}

/* Visual service explorer, matching the approved architectural mockup. */
.explore-section{padding:42px 4.5% 10px;max-width:1700px;margin:auto}
.explore-intro h1{font-size:clamp(2.5rem,4.6vw,5rem);max-width:1250px;line-height:1.07}
.explore-intro>p{font-size:1.08rem;color:var(--muted);margin-top:23px}
.explore-stage{position:relative;margin:25px 0 0}
.explore-layout{position:relative;display:grid;grid-template-columns:minmax(165px,.95fr) minmax(0,4fr) minmax(165px,.95fr);column-gap:20px;align-items:center;isolation:isolate}
.explore-canvas{position:relative;width:100%;grid-column:2;grid-row:1}
.explore-image{width:100%;height:auto;aspect-ratio:4/3;mix-blend-mode:multiply}
.service-markers{position:absolute;inset:0;pointer-events:none}
.service-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;padding:0;pointer-events:auto;z-index:3;cursor:pointer}
.service-dot{width:29px;height:29px;border-radius:50%;border:1px solid #ad8c63;background:#fffaf4;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;font-size:.8125rem;line-height:1;box-shadow:0 1px 5px #33281918;transition:background .15s,color .15s}
.service-pin-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.service-pin:hover .service-dot,.service-pin[aria-pressed=true] .service-dot{background:var(--accent);color:white;border-color:var(--accent)}
.service-pin:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.service-connector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.service-connector-path{fill:none;stroke:var(--accent);stroke-width:1;opacity:.75;vector-effect:non-scaling-stroke}
.service-card{position:static;display:grid;grid-template-columns:minmax(200px,30%) minmax(0,1fr);align-items:center;gap:28px;width:auto;max-width:none;margin:22px 0 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0 0;scroll-margin-top:110px}
.service-picture{aspect-ratio:1.8;overflow:hidden;position:relative;background:var(--soft)}
.service-picture img{width:100%;height:100%;object-fit:cover}
.service-picture.crop-story img{position:absolute;width:100%;height:auto;top:-118%;left:0;max-width:none}
.service-picture.crop-office img{position:absolute;width:100%;height:auto;top:-36%;left:0;max-width:none}
.service-picture.crop-illustration img{object-fit:contain}
.service-card-copy{padding:12px 8px 8px}
.service-selection{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
#service-proof{font-size:.75rem;line-height:1.5;color:var(--muted);margin-bottom:8px}
.service-card h2{font-size:clamp(1.35rem,1.8vw,1.9rem);line-height:1.12;margin-bottom:10px}
#service-description{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.service-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.service-actions a{border:1px solid var(--accent);border-radius:3px;padding:10px 12px;font-size:.875rem;line-height:1.35;text-align:center;flex:1;min-width:110px}
.service-actions a:first-child{background:var(--accent);color:white}
.service-actions a:hover{background:var(--ink);color:white;border-color:var(--ink)}
.explore-note{font-size:.8125rem;text-align:center;color:var(--muted);margin:14px 0 20px}
.service-choices{display:contents}
.service-list{display:flex;flex-direction:column;justify-content:space-evenly;align-self:stretch;padding:12px 0;min-width:0;position:relative;z-index:4}
.service-list-left{grid-column:1;grid-row:1}
.service-list-right{grid-column:3;grid-row:1}
.service-choice{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:70px;flex:1;text-align:left;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;line-height:1.45;font-size:1rem;color:var(--ink)}
.service-choice:last-child{border-bottom:0}
.service-choice-number{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:1px solid #ad8c63;border-radius:50%;color:var(--accent);font-size:.875rem}
.service-choice-label{min-width:0;overflow-wrap:anywhere}
.service-choice:hover,.service-choice[aria-pressed=true]{color:var(--accent)}
.service-choice[aria-pressed=true]::before{content:"";position:absolute;left:-10px;top:22%;bottom:22%;width:2px;background:var(--accent)}
.service-choice[aria-pressed=true] .service-choice-number{background:var(--accent);color:white;border-color:var(--accent)}
.service-choice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.explore-home .customer-line{border-top:1px solid var(--line)}
.explore-home .home-projects .section-top h2{font-size:clamp(2rem,3vw,3rem)}
@media(max-width:71.999rem){
.explore-layout{grid-template-columns:minmax(0,1fr);gap:0}
.explore-canvas{grid-column:1;grid-row:1;max-width:900px;justify-self:center}
.service-connector{display:none}
.service-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:12px 0 22px}
.service-list{display:contents}
.service-choice{min-height:64px;flex:none;font-size:.9375rem;padding:12px 0}
.service-choice:last-child{border-bottom:1px solid var(--line)}
.service-card{gap:20px}.service-card h2{font-size:1.5rem}#service-description{font-size:1rem}
}
@media(max-width:760px){
.explore-section{padding:30px 6% 0}.explore-intro h1{font-size:clamp(2.3rem,7.5vw,3.5rem)}.explore-intro h1 br{display:none}.explore-intro>p{font-size:1rem;margin-top:20px}
.explore-stage{margin:22px 0 0}
.explore-canvas{width:calc(100% + 10%);max-width:none}
.service-pin{width:32px;height:32px}
.service-dot{width:25px;height:25px;font-size:.75rem}
.service-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:16px 0 24px}
.service-choice{gap:8px;min-height:68px;font-size:.875rem}
.service-choice-number{width:27px;height:27px;font-size:.75rem}
.service-choice[aria-pressed=true]::before{left:-6px}
.service-card{grid-template-columns:1fr;gap:0;margin:0;padding:20px 0 0;border-radius:0}
.service-picture{aspect-ratio:1.9}.service-card-copy{padding:15px 8px 10px}.service-card h2{font-size:1.7rem}#service-description{font-size:1rem}.service-actions a{font-size:.875rem;padding:12px}
.explore-note{margin-top:22px;text-align:left;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){.service-dot{transition:none}}

/* Quiet reference composition with unchanged original project photographs. */
.redesign-home .portfolio-editorial{padding-bottom:40px}
.redesign-home .portfolio-editorial .project-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:24px 30px;align-items:stretch}
.portfolio-editorial .project,.portfolio-editorial .project:nth-child(even){padding-top:0;display:flex;flex-direction:column;min-height:0}
.portfolio-editorial .project:first-child{grid-column:1;grid-row:1 / 3}
.portfolio-editorial .project:nth-child(2){grid-column:2;grid-row:1}
.portfolio-editorial .project:nth-child(3){grid-column:2;grid-row:2}
.portfolio-editorial .project:first-child>img{height:0;min-height:0;flex:1;aspect-ratio:auto;object-fit:cover;object-position:center}
.portfolio-editorial .project:nth-child(3)>img{aspect-ratio:707/328;object-position:center 37%}
.portfolio-editorial .office-frame{aspect-ratio:707/328;flex:none}
.portfolio-editorial .office-frame img{position:absolute;width:100%;height:auto;left:0;top:-56.09756%;max-width:none}
.portfolio-editorial .photo-caption{min-height:73px;padding:13px 0 0;align-items:start;flex:none}
.portfolio-editorial .photo-caption>span:first-child{font:400 1.35rem/1.3 Fraunces,Georgia,serif}
.portfolio-editorial .photo-caption small{font:400 .875rem/1.5 Inter,Arial,sans-serif;margin-top:5px}
.compact-process{margin:0 5%;padding:35px 0 0;border-top:1px solid var(--line)}
.compact-process h2{font-size:clamp(1.8rem,2.8vw,2.8rem)}
.compact-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:34px 0;gap:30px}
.compact-process li{display:flex;align-items:start;gap:22px;min-width:0}
.compact-process li+li{border-left:1px solid var(--line);padding-left:30px}
.compact-process li>span{font:400 2.6rem/1.1 Fraunces,Georgia,serif;color:var(--accent)}
.compact-process h3{font:400 1.45rem/1.3 Fraunces,Georgia,serif;margin-bottom:8px}
.compact-process li p{font-size:.9375rem;color:var(--muted);line-height:1.65}
.process-inquiry{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:center;gap:30px}
.process-inquiry>p{font:400 1.6rem/1.3 Fraunces,Georgia,serif}
.process-inquiry .button-primary{font-size:.9375rem;min-height:48px;padding:12px 25px;white-space:nowrap}
@media(min-width:1650px){.compact-process{max-width:1500px;margin-left:auto;margin-right:auto}}
@media(max-width:1000px){.compact-process ol{gap:20px}.compact-process li{gap:14px}.compact-process li+li{padding-left:20px}.compact-process h3{font-size:1.25rem}.portfolio-editorial .photo-caption>span:first-child{font-size:1.15rem}}
@media(max-width:700px){
.redesign-home .portfolio-editorial .project-grid{grid-template-columns:1fr;gap:28px}
.portfolio-editorial .project:first-child,.portfolio-editorial .project:nth-child(2),.portfolio-editorial .project:nth-child(3){grid-column:auto;grid-row:auto}
.portfolio-editorial .project:first-child>img{height:auto;flex:none;aspect-ratio:4/3}
.portfolio-editorial .photo-caption{min-height:0;padding-top:13px}.portfolio-editorial .photo-caption>span:first-child{font-size:1.3rem}
.compact-process{margin:0 6%;padding-top:30px}.compact-process ol{grid-template-columns:1fr;gap:22px;margin:28px 0}
.compact-process li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}
.compact-process li{gap:22px}.compact-process li>span{font-size:2.2rem}.compact-process h3{font-size:1.4rem}
.process-inquiry{flex-direction:column;text-align:center;gap:20px;padding:28px 0 15px}.process-inquiry>p{font-size:1.5rem}
}

/* Ten visual service categories, with native accessible disclosure controls. */
.visual-services-page .page-intro{max-width:1400px;padding-bottom:15px}
.visual-services-page .page-intro>p{max-width:760px}
.visual-services{padding:10px 5% 65px;max-width:1500px;margin:auto}
.service-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 55px;margin-top:0;align-items:start}
.service-scene-grid details{border-top:0;border-bottom:1px solid var(--line);min-width:0;scroll-margin-top:120px}
.service-scene-grid details:last-child{border-bottom:1px solid var(--line)}
.service-scene-grid summary{display:block;padding:0 0 20px}
.service-scene{display:block;width:100%;aspect-ratio:1.45;background-image:url('assets/leistungswelten.webp');background-size:200% 500%;background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat;mix-blend-mode:multiply}
.service-scene-caption{display:flex;align-items:center;gap:20px;padding-top:10px;min-height:48px}
.service-scene-caption .service-number{color:var(--accent);font-size:.875rem}
.service-scene-caption .service-title{font-size:1.15rem;line-height:1.4}
.service-scene-caption .detail-symbol{flex:none}
.service-scene-grid summary:hover .service-title{color:var(--accent)}
.service-scene-grid details[open] summary{padding-bottom:15px}
.service-scene-grid .service-description{padding:0 0 25px 40px;max-width:none}
.service-scene-grid .service-description a{margin-right:22px}
.scene-disclosure{font-size:.8125rem;color:var(--muted);margin-top:30px}
@media(min-width:1650px){.visual-services{padding-left:0;padding-right:0}}
@media(max-width:900px){.service-scene-grid{gap:25px 30px}.service-scene-caption{gap:12px}.service-scene-caption .service-title{font-size:1rem}.service-scene-grid .service-description{padding-left:28px}}
@media(max-width:600px){.visual-services{padding:5px 6% 40px}.service-scene-grid{grid-template-columns:1fr;gap:25px}.service-scene-caption .service-title{font-size:1.15rem}.visual-services-page .page-intro{padding-bottom:15px}.service-scene-grid .service-description{padding-left:0}.service-scene-grid summary{padding-bottom:15px}}
.service-scene{position:relative;background:none}
.scene-crop{position:absolute;display:block;left:0;top:50%;transform:translateY(-50%);width:100%;aspect-ratio:var(--tile-ratio);background-image:url('assets/leistungswelten.webp');background-repeat:no-repeat;background-size:200% var(--tile-size);background-position:var(--scene-x) var(--tile-position)}

/* Consistent access to projects, exhibition and services on every page. */
.header.promoted-nav .menu-toggle{display:flex;flex-shrink:0}
.header.promoted-nav nav{display:none;position:absolute;inset:100% 0 auto;padding:20px 6% 28px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 96px);overflow-y:auto}
.header.promoted-nav nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.header.promoted-nav nav a{font:400 1.125rem/1.4 Inter,Arial,sans-serif;min-height:44px;padding:10px 0;white-space:nowrap}
.header.promoted-nav nav .nav-inquiry{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:40px;padding:13px 24px;margin:12px 0 0;text-align:center}
.header.promoted-nav nav .nav-inquiry:hover{background:var(--accent);border-color:var(--accent)}
.header.promoted-nav nav .nav-inquiry[aria-current=page]{outline:1px solid var(--accent);outline-offset:3px}
@media(min-width:60rem){
 .header.promoted-nav .menu-toggle{display:none}
 .header.promoted-nav nav,.header.promoted-nav nav.open{display:flex;position:static;flex-direction:row;align-items:center;gap:clamp(20px,2.5vw,38px);padding:0;background:none;border:0;max-height:none;overflow:visible}
 .header.promoted-nav nav a{font-size:.9375rem}
 .header.promoted-nav nav .nav-inquiry{margin:0 0 0 12px}
}
.cms-entry{font-size:.8rem;color:var(--muted);align-self:end}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding:0 5% 65px}.detail-gallery figure{margin:0}.detail-gallery img{height:auto;width:100%;max-height:800px;object-fit:contain}.detail-gallery figcaption{font-size:.875rem;color:var(--muted);padding:12px 0}.project-detail-link{font-size:.875rem;text-decoration:underline}.detail-gallery figure:first-child{grid-column:1/-1}@media(max-width:650px){.detail-gallery{grid-template-columns:1fr}}

/* Direct project inquiries */
.request-uploads{grid-column:1/-1;margin:8px 0 18px}.request-uploads input[type=file]{padding:14px;border:1px solid var(--line);max-width:100%;font-size:.9375rem}.request-uploads input::file-selector-button{border:0;border-radius:3px;background:var(--soft);color:var(--ink);padding:9px 12px;margin-right:12px;cursor:pointer}.request-error{grid-column:1/-1;color:#802a24;background:#f8ebe7;padding:14px;margin:14px 0}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-form .request-result{grid-column:1/-1}.request-form .request-result:focus{outline:2px solid var(--accent);outline-offset:4px}.request-form button:disabled{cursor:wait}.request-form button:disabled:has(+noscript){opacity:.65}
.film-section{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:60px;align-items:center;padding:65px 5%;border-top:1px solid var(--line)}.film-intro h2{margin:16px 0 22px}.film-intro>p:not(.eyebrow){color:var(--muted);margin:16px 0;line-height:1.7}.film-intro .film-note{font-size:.875rem}.film-intro .button-primary{margin-top:15px}.film-section figure{margin:0}.film-section video{display:block;width:100%;height:auto;background:var(--ink);aspect-ratio:4/3;object-fit:contain;border-radius:4px}.film-section figcaption{color:var(--muted);font-size:.875rem;margin-top:14px}@media(max-width:800px){.film-section{grid-template-columns:1fr;gap:30px;padding:45px 6%}}
