@font-face{font-family:"Porsche Next";src:url("/fonts/porschenext-regular-webfont.woff2") format("woff2"),url("/fonts/porschenext-regular-webfont.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Porsche Next";src:url("/fonts/porschenext-bold-webfont.woff2") format("woff2"),url("/fonts/porschenext-bold-webfont.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Porsche Next";src:url("/fonts/porschenext-italic-webfont.woff2") format("woff2"),url("/fonts/porschenext-italic-webfont.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Porsche Next";src:url("/fonts/porschenext-thin-webfont.woff2") format("woff2"),url("/fonts/porschenext-thin-webfont.woff") format("woff");font-weight:100;font-style:normal;font-display:swap}
:root{--ink:#202326;--muted:#62676a;--line:#d9dddf;--paper:#f7f8fa;--accent:#176655}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Porsche Next",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px;z-index:9}.skip:focus{top:12px}header,main>section,footer{padding-left:max(6vw,24px);padding-right:max(6vw,24px)}header{height:112px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:33px;letter-spacing:-.04em;font-weight:700;line-height:1}.wordmark span{font-weight:400}.wordmark i{font-style:normal;font-size:12px;letter-spacing:0;vertical-align:top;margin-left:5px}nav{display:flex;gap:38px;font-size:14px}nav a:hover,nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px}.hero{padding-top:75px;padding-bottom:67px}.hero h1{font-size:clamp(64px,8.4vw,132px);line-height:1.02;letter-spacing:-.025em;font-weight:400;margin:34px 0 37px}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero-bottom p{max-width:410px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}.text-link{display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:14px;font-weight:700}.work{padding-top:38px;padding-bottom:90px}.section-heading{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-top:27px}.section-heading h2{font-size:24px;font-weight:400;letter-spacing:-.8px;margin:0}.section-heading h2 span{font-size:14px;color:var(--muted);margin-left:10px;letter-spacing:0}.section-heading p{font-size:14px;color:var(--muted);margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:54px}.project-image{aspect-ratio:1.5;overflow:hidden;background:#eceeef}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.025)}.card-meta{font-size:12px;display:flex;justify-content:space-between;margin:19px 0 8px;color:var(--muted)}.project-card h3{display:flex;justify-content:space-between;gap:15px;font-size:clamp(20px,1.7vw,27px);font-weight:400;letter-spacing:-.6px;line-height:1.3;margin:0}.project-card h3 span{font-size:24px}.project-card p{color:var(--muted);font-size:14px;margin:9px 0 0;max-width:500px}.button{display:inline-flex;align-items:center;gap:60px;padding:17px 24px;background:var(--ink);color:white;font-size:14px}.button:hover{background:var(--accent);color:white}.button.outline{background:transparent;border:1px solid var(--ink);color:var(--ink);margin-top:48px}.button.outline:hover{background:var(--ink);color:white}.capabilities{background:#e9eeec;padding-top:75px;padding-bottom:75px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:32px}.split h2{font-size:clamp(38px,4.3vw,68px);letter-spacing:-.02em;font-weight:400;line-height:1.12;margin:0}.split p{color:var(--muted);margin:0 0 24px}.split p.large{font-size:23px;color:var(--ink);line-height:1.5}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.services article{border-top:1px solid #bcc7c2;padding-top:20px}.services span{font-size:12px;color:var(--accent)}.services h3{font-size:22px;font-weight:400}.services p{font-size:15px;color:var(--muted);max-width:320px}.contact-banner{padding-top:100px;padding-bottom:100px}.contact-banner h2{font-size:clamp(40px,5.7vw,90px);font-weight:400;letter-spacing:-.02em;line-height:1.12;margin:23px 0 35px}footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:30px}footer p{font-size:14px;color:var(--muted);margin:18px 0 42px}footer>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.page-head{padding-top:70px;padding-bottom:48px}.page-head h1{font-size:clamp(45px,6vw,88px);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:25px 0}.page-head p{max-width:630px;color:var(--muted);font-size:19px}.project-detail{display:grid;grid-template-columns:220px minmax(0,1fr);gap:65px;padding-bottom:80px}.project-nav{border-top:1px solid var(--line);padding-top:20px}.project-nav h2{font-size:16px;font-weight:400;margin:0 0 18px}.project-nav a{display:block;font-size:14px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line);line-height:1.4}.project-nav a[aria-current]{color:var(--accent);font-weight:700}.case-hero{width:100%;height:auto;display:block}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:12px;color:var(--muted);margin-bottom:8px}.facts dd{font-size:14px;margin:0}.story{display:grid;grid-template-columns:130px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:32px 0}.story h2{font-size:20px;font-weight:400;margin:0}.story p{margin:0;color:var(--muted);max-width:680px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.gallery figure{margin:0}.gallery img{width:100%;height:auto;display:block}.gallery figcaption{font-size:12px;color:var(--muted);margin-top:10px}.next-project{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.next-project span{display:block;font-size:12px;color:var(--muted)}.about-photo{width:100%;max-width:460px;height:auto}.prose{max-width:720px}.prose h2{font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-1px}.prose p{color:var(--muted)}.contact-layout{padding-bottom:100px}.contact-layout .button{margin:20px 0}.contact-links{display:flex;gap:30px;margin-top:30px}.contact-links a{text-decoration:underline;text-underline-offset:5px}@media(max-width:850px){header{height:90px}nav{gap:22px}.hero{padding-top:50px}.hero-bottom p{max-width:350px}.split{gap:35px}.project-detail{grid-template-columns:1fr;gap:25px}.project-nav{order:2}.project-nav a{display:inline-block;margin-right:20px}.facts{grid-template-columns:1fr 1fr}.story{grid-template-columns:100px 1fr}}@media(max-width:560px){header{height:86px}.wordmark{font-size:27px}nav{gap:17px;font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.1px}.hero{padding-top:45px;padding-bottom:35px}.hero h1{font-size:64px;margin:28px 0 30px}.hero-bottom{flex-direction:column-reverse;align-items:flex-start;gap:28px}.hero-bottom p{font-size:16px}.work{padding-top:20px;padding-bottom:55px}.section-heading{align-items:flex-start;gap:15px}.section-heading p{max-width:130px;text-align:right;font-size:12px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card h3{font-size:23px}.split,.services{grid-template-columns:1fr;gap:30px}.capabilities{padding-top:50px;padding-bottom:45px}.services{margin-top:40px;gap:15px}.services h3{margin:10px 0}.split p.large{font-size:21px}.contact-banner{padding-top:65px;padding-bottom:65px}.story{grid-template-columns:1fr;gap:12px}.gallery{grid-template-columns:1fr}.page-head{padding-top:45px}.facts{gap:20px}.next-project{flex-direction:column}footer>div{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.project-nav nav{display:block}.about-body{padding-bottom:25px;margin-top:0}.email-address{font-size:clamp(22px,3vw,44px);letter-spacing:-1px;overflow-wrap:anywhere;border-bottom:1px solid var(--ink)}.contact-layout p{max-width:510px}dialog{border:0;padding:60px 24px 20px;width:min(1200px,94vw);max-height:94vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101817df}dialog>img{display:block;width:100%;height:min(67vh,800px);object-fit:contain}dialog p{text-align:center;margin:12px 0;font-size:14px}.close-viewer{position:absolute;right:20px;top:14px}.viewer-controls{display:flex;justify-content:space-between}.viewer-controls button,.close-viewer{background:none;border:1px solid var(--line);padding:8px 16px;cursor:pointer}body:has(dialog[open]){overflow:hidden}.zoom{cursor:zoom-in}
.form-field{display:grid;gap:8px;margin:22px 0}.form-field label{font-size:14px;font-weight:700}.form-field input,.form-field textarea{width:100%;padding:14px;border:1px solid #949e99;border-radius:0;background:transparent;color:var(--ink);font:inherit}.form-field textarea{resize:vertical;min-height:150px}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#contact-form .button{border:0;cursor:pointer;min-height:52px}#contact-form .button:disabled{opacity:.65;cursor:wait}#form-status{font-size:14px;margin:0;min-height:24px}#form-status:focus{outline:none}

/* Editorial headline hierarchy: Porsche Thin, real Bold, selective serif italics. */
.hero h1,.page-head h1{font-weight:100;line-height:1.12;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
h1 strong,h2 strong{font-weight:700}
h1 .serif-accent,h2 .serif-accent{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-.045em;color:var(--accent)}
.hero h1 .serif-accent{font-size:.96em}
.split h2,.contact-banner h2{font-weight:100;line-height:1.24;letter-spacing:-.015em;text-wrap:balance}
.prose h2{font-size:clamp(1.875rem,2.6vw,2.75rem);line-height:1.3;letter-spacing:-.01em;margin:0 0 1.25rem}
.prose p+h2{margin-top:2.5rem}
.section-heading h2{font-weight:700;line-height:1.4;letter-spacing:-.015em}
.section-heading h2 span{font-weight:400}
.services h3{font-weight:700;line-height:1.4;margin:1rem 0 .75rem}
.project-card h3{line-height:1.4;letter-spacing:-.01em}
.story h2,.project-nav h2{font-weight:700;line-height:1.5}
@media(max-width:560px){.hero h1{font-size:clamp(2.75rem,10vw,4rem);line-height:1.15}.page-head h1{font-size:clamp(2.375rem,8.6vw,3.25rem);line-height:1.18}.split h2,.contact-banner h2{line-height:1.28}}

/* Enquiry invitation immediately after the selected portfolio. */
.enquiry-banner{background:var(--accent);color:#fff;padding-top:64px;padding-bottom:68px}
.enquiry-banner .eyebrow{font-size:14px;letter-spacing:.1em}
.enquiry-banner h2{margin:20px 0 30px}
.enquiry-banner h2 .serif-accent{color:inherit}
.enquiry-banner .button{background:#fff;color:var(--accent)}
.enquiry-banner .button:hover{background:#e9eeec;color:var(--ink)}
.enquiry-banner a:focus-visible{outline-color:#fff}
@media(max-width:560px){.enquiry-banner{padding-top:48px;padding-bottom:48px}}

/* Full-width section surfaces, with aligned content on wide displays. */
header,main>section,footer{padding-left:max(24px,6vw,calc((100vw - 1584px)/2));padding-right:max(24px,6vw,calc((100vw - 1584px)/2))}
.hero h1{font-size:clamp(3rem,6.7vw,6.5rem)}
.page-head h1{font-size:clamp(2.375rem,4.8vw,4.5rem)}
@media(max-width:560px){.hero h1{font-size:clamp(2.375rem,8.7vw,3.25rem)}.page-head h1{font-size:clamp(2rem,7.5vw,2.75rem)}}

.footer-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer-logo{display:block;width:145px;max-width:100%;height:auto}
.footer-wordmark{font-family:"Porsche Next",Arial,Helvetica,sans-serif;font-weight:100;font-size:32px;line-height:1.2;letter-spacing:.045em}

/* Shared bold/thin wordmark in header and footer. */
.wordmark,.footer-wordmark{font-family:"Porsche Next",Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.04em}
.wordmark span,.footer-wordmark span{font-weight:100}

.recommendations{background:#e9eeec;padding-top:64px;padding-bottom:64px;margin-top:64px}
.recommendations h2{font-size:clamp(2.375rem,4.3vw,4.25rem);font-weight:100;line-height:1.24;margin:20px 0 36px}
.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-bottom:36px}
.recommendation-grid figure{margin:0;border-top:1px solid #bcc7c2;padding-top:26px;display:flex;flex-direction:column}
.recommendation-grid blockquote{margin:0 0 28px;flex:1}
.recommendation-grid blockquote p{font-size:clamp(1.375rem,2.1vw,2rem);line-height:1.5;margin:0}
.recommendation-grid figcaption strong{display:block;font-weight:700}
.recommendation-grid figcaption span{display:block;font-size:14px;color:var(--muted);margin-top:4px}
@media(max-width:560px){.recommendations{padding-top:48px;padding-bottom:48px;margin-top:40px}.recommendation-grid{grid-template-columns:1fr;gap:32px}}

/* Consistent section surfaces and descriptive copy. */
:root{--section-surface:#e9eeec;--description-size:1.125rem;--description-leading:1.7}
.hero,.capabilities{background:var(--section-surface)}
.hero-bottom p,.page-head>p,.section-heading>p,.split p,.split p.large,.services p,.project-card>p,.prose p,.story p,.contact-layout p{font-size:var(--description-size);font-weight:400;line-height:var(--description-leading);letter-spacing:normal;color:var(--muted)}
.recommendation-grid blockquote p{font-size:var(--description-size);font-weight:400;line-height:var(--description-leading);letter-spacing:normal}
@media(max-width:560px){.section-heading>p{max-width:180px}.section-heading{flex-wrap:wrap}.section-heading>p{text-align:left}}

/* Bring selected work closer to the hero; preserve portfolio dividers. */
#work{padding-top:20px}
#work>.section-heading{border-top:0;padding-top:0}
@media(max-width:560px){#work{padding-top:16px}}

/* Google Material Icons: locally bundled SVGs, no icon font required. */
.material-icon{display:inline-block;width:1.125rem;height:1.125rem;flex-shrink:0;vertical-align:-.2em;fill:currentColor}
.project-card h3>.material-icon{width:1.5rem;height:1.5rem;margin-top:.15em}
.viewer-controls button{display:inline-flex;align-items:center;gap:.5rem}
.page-head>a.eyebrow{display:inline-flex;align-items:center;gap:.5rem}
