@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111310;--fg:#f1f0e9;--muted:#a3a79a;--line:#34382f;--lime:#d5f78b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Arial,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}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:6px}::selection{background:#d5f78b;color:#111310}header{position:fixed;z-index:20;top:0;left:0;right:0;padding:25px 4%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#111310f5,#111310d9);border-bottom:1px solid #ffffff13;backdrop-filter:blur(14px)}.brand{font-family:Manrope,Arial,sans-serif;font-size:23px;letter-spacing:-1px;font-weight:800}.brand span{display:block;font-size:8px;font-weight:500;letter-spacing:2.7px;margin-top:5px}nav{display:flex;align-items:center;gap:38px;font-size:12px}nav sup{font-size:8px;color:var(--lime);padding-left:3px}.nav-contact{border:1px solid #5a6052;border-radius:30px;padding:12px 20px}.nav-contact span{margin-left:24px;color:var(--lime)}#menu-toggle{display:none}.journey{height:390vh}.stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 65% 45%,#30382a 0,#191e16 32%,#111310 72%)}.stage:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.35' filter='url(%23n)'/%3E%3C/svg%3E")}.stage-top{position:absolute;z-index:3;top:130px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#b7bcae}.dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:9px;vertical-align:2px}.scene{position:absolute;inset:0;perspective:1100px;perspective-origin:64% 48%;overflow:hidden}.world{position:absolute;inset:0;transform-style:preserve-3d}.art-plane{position:absolute;left:65%;top:47%;width:330px;height:425px;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;box-shadow:15px 25px 55px #0009;background:#292e24;border:5px solid #34382e}.art-plane img{width:100%;height:100%;object-fit:cover}.art-plane:after{content:'';position:absolute;inset:0;border:1px solid #ffffff30;pointer-events:none}.art-plane.main{width:340px;height:445px}.orbital{position:absolute;left:65%;top:47%;width:550px;height:550px;transform:translate(-50%,-50%);opacity:.4}.orbit{position:absolute;inset:0;border:1px solid #91a97755;border-radius:50%}.o1{transform:rotate(-25deg) scaleX(1.24)}.o2{transform:rotate(25deg) scaleX(1.3)}.o3{inset:-65px;opacity:.4}.floor{position:absolute;inset:72% -50% -70%;transform:perspective(350px) rotateX(60deg);background-image:linear-gradient(#a9bc8220 1px,transparent 1px),linear-gradient(90deg,#a9bc8220 1px,transparent 1px);background-size:110px 80px;opacity:.35;mask-image:linear-gradient(transparent,#000)}.hero-copy{position:absolute;z-index:4;left:8%;top:27%;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;color:var(--muted)}.hero-copy .eyebrow{color:var(--lime);margin-bottom:28px}h1{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-6px;font-size:clamp(70px,7.4vw,116px);line-height:1.02;margin:0;text-shadow:0 3px 35px #11131044}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:var(--lime);letter-spacing:-5px}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c4c7bb;margin-top:26px}.hero-cta{display:inline-flex;pointer-events:auto;align-items:center;gap:45px;border-bottom:1px solid #ffffff50;padding:13px 0;font-size:12px;margin-top:10px}.hero-cta span{font-size:20px;color:var(--lime)}.image-note{position:absolute;left:62%;top:82%;display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:1.5px}.image-note span:last-child{color:var(--muted);font-size:8px}.stage-bottom{position:absolute;bottom:33px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;z-index:5}.scroll-cue{display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:1.5px}.scroll-cue small{display:inline-block;color:var(--muted);font-size:10px;letter-spacing:0;margin-top:6px}.mouse{width:19px;height:30px;border:1px solid #a4ac97;border-radius:12px;display:block}.mouse i{display:block;margin:6px auto 0;width:2px;height:6px;background:var(--lime)}.chapter-nav{display:flex;align-items:center;gap:10px}.chapter-nav button{font-size:10px;padding:10px 4px;color:#818779}.chapter-nav button.active{color:var(--lime)}.chapter-nav>span{height:1px;width:45px;background:#404735}.motion{font-size:10px;color:var(--muted);display:flex;gap:10px}.progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#24291f}.progress span{display:block;width:0;height:100%;background:var(--lime)}.section-wrap{padding:100px 8%}.intro{display:grid;grid-template-columns:1fr 3fr auto;gap:40px;align-items:start;border-bottom:1px solid var(--line)}.intro>p:nth-child(2){font-family:Manrope,Arial,sans-serif;font-size:36px;letter-spacing:-1.4px;line-height:1.5;margin:0}.intro>p:nth-child(2)>span{font-family:'DM Sans',Arial,sans-serif;color:var(--muted);font-size:15px;letter-spacing:0}.intro-mark{font-size:62px;color:var(--lime);line-height:1}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,4.6vw,70px);font-weight:400;line-height:1.08;letter-spacing:-3px;margin:18px 0 0}.section-heading h2 em{color:var(--muted)}.small-note{font-size:12px;line-height:1.7;color:var(--muted)}.filters{display:flex;gap:8px;margin-bottom:40px;border-bottom:1px solid var(--line);padding-bottom:22px}.filters button{font-size:11px;padding:11px 19px;border:1px solid #43483a;border-radius:25px;color:var(--muted)}.filters button.active{background:var(--lime);color:var(--bg);border-color:var(--lime)}.filters button span{font-size:9px;margin-left:10px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px}.project-card{display:block;width:100%;text-align:left;padding:0}.project-image{height:410px;overflow:hidden;background:#252b21;position:relative}.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+3) .project-image{height:330px}.project-card:nth-child(even){padding-top:80px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s}.project-card:hover img{transform:scale(1.035)}.view-project{position:absolute;right:18px;bottom:18px;display:flex;justify-content:center;align-items:center;border-radius:50%;width:44px;height:44px;background:var(--fg);color:var(--bg);font-size:22px;transform:rotate(-10deg);transition:background .2s}.project-card:hover .view-project{background:var(--lime)}.project-info{display:flex;align-items:start;justify-content:space-between;padding-top:18px}.project-info h3{font-size:22px;letter-spacing:-.6px;margin:0;font-weight:400}.project-info p{font-size:10px;letter-spacing:1px;color:var(--muted);margin:9px 0}.project-index{font-size:10px;color:var(--muted);padding-top:6px}.archive-link{font-size:11px;text-align:center;margin-top:65px;color:var(--muted)}.archive-link a{color:var(--fg);border-bottom:1px solid var(--muted);padding-bottom:5px}.about{background:#e9e8df;color:#25291f;display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:center}.about-photo{position:relative;min-width:0}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:grayscale(100%)}.about-photo>span{display:block;letter-spacing:2px;font-size:9px;margin-top:18px}.about .eyebrow{color:#656b5d}.about h2{font-size:54px;line-height:1.12;margin-bottom:28px}.about h2 em{color:#6a7658}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#595f51;max-width:480px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #bfc2b5;padding-top:25px;margin:30px 0}.about-details span,.about-details strong,.about-details small{display:block}.about-details span{font-size:8px;letter-spacing:1.5px;color:#6a705f;margin-bottom:13px}.about-details strong{font-size:12px;font-weight:500}.about-details small{font-size:10px;color:#6a705f;margin-top:8px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:7px;display:inline-block}.disciplines{display:grid;grid-template-columns:1fr 3fr;gap:40px}.disciplines>div p{font-size:28px;margin:0;display:flex;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.disciplines>div p:first-child{padding-top:0}.disciplines p>span{font-size:9px;color:var(--muted)}.disciplines small{font-size:11px;color:var(--muted);margin-left:auto}.contact{border-top:1px solid var(--line);padding-top:80px;padding-bottom:80px}.contact h2{font-size:clamp(55px,7.5vw,115px);position:relative;line-height:1.1}.contact h2 em{color:var(--lime)}.contact-arrow{position:absolute;right:1%;top:30px;color:var(--lime);border:1px solid #687553;width:110px;height:110px;display:grid;place-items:center;border-radius:50%;font-size:60px}.contact-links{display:flex;gap:50px;margin-top:50px;font-size:12px}.contact-links a:first-child{margin-right:auto}footer{border-top:1px solid var(--line);padding:28px 4%;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:8px;letter-spacing:1px}.skip{position:fixed;top:-60px;z-index:100;background:var(--lime);color:#111;padding:15px}.skip:focus{top:10px}dialog{background:#171b14;color:var(--fg);border:1px solid #535c47;padding:30px;max-width:1240px;width:92vw;max-height:92svh}dialog::backdrop{background:#080a08df;backdrop-filter:blur(10px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;font-size:10px;letter-spacing:1px;color:var(--muted)}#close-modal{padding:9px 14px;border:1px solid var(--line);border-radius:25px;color:var(--fg)}.modal-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.modal-art>img{display:block;width:100%;height:61svh;object-fit:contain;background:#0f120d}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:11px}.gallery-controls button{font-size:23px;padding:5px 20px}.modal-copy h2{font-size:44px}.modal-copy>p:not(.eyebrow){font-size:14px;color:#b6bcad;line-height:1.9;margin:25px 0}.modal-copy .text-link{color:var(--lime);margin-bottom:30px}#thumbnails{display:flex;flex-wrap:wrap;gap:7px}#thumbnails button{width:58px;height:65px;padding:0;opacity:.5;border:1px solid transparent}#thumbnails button.active{opacity:1;border-color:var(--lime)}#thumbnails img{width:100%;height:100%;object-fit:cover}.static-motion .journey{height:100svh}.static-motion .stage{min-height:650px}.static-motion .chapter-nav{display:none}@media(min-width:1600px){.art-plane.main{width:430px;height:540px}}@media(max-width:1000px){h1{font-size:80px}.hero-copy{left:6%;top:32%}.art-plane.main{width:290px;height:390px}.section-wrap{padding:75px 6%}.intro{grid-template-columns:1fr 3fr}.intro-mark{display:none}.project-image{height:340px}.about{gap:6%}.about h2{font-size:43px}.disciplines{grid-template-columns:1fr}.contact-arrow{width:80px;height:80px;font-size:45px}.edition{display:none}}
@media(max-width:650px){header{padding:19px 6%}.brand{font-size:21px}.brand span{font-size:7px}#menu-toggle{display:block;font-size:23px}nav{display:none;position:absolute;left:0;right:0;top:81px;background:#161b12;padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.stage{min-height:700px}.journey{height:330vh}.stage-top{top:108px;left:6%;font-size:8px}.hero-copy{left:7%;top:47%;right:6%}h1{font-size:60px;letter-spacing:-3.5px;line-height:1}h1 em{letter-spacing:-3px}.hero-copy .eyebrow{font-size:8px;margin-bottom:13px}.hero-copy>p:not(.eyebrow){font-size:12px;margin-top:17px;line-height:1.5}.hero-cta{margin-top:0;padding:9px 0;font-size:11px}.art-plane{left:59%;top:30%;width:140px;height:180px}.art-plane.main{width:175px;height:225px}.scene{perspective:850px;perspective-origin:59% 31%}.orbital{left:60%;top:30%;width:290px;height:290px}.image-note{top:40%;left:8%;font-size:7px;max-width:100px;line-height:1.5}.image-note span:last-child{font-size:6px}.stage-bottom{left:6%;right:6%;bottom:25px}.scroll-cue{font-size:7px}.scroll-cue small{display:none}.chapter-nav{gap:4px}.chapter-nav>span{width:18px}.motion span{display:none}.motion{font-size:19px}.section-wrap{padding:65px 6%}.intro{display:block}.intro>p:nth-child(2){font-size:28px;margin-top:30px;letter-spacing:-.8px}.intro>p:nth-child(2)>span{font-size:12px}.section-heading h2{font-size:42px;letter-spacing:-2px}.small-note{display:none}.filters{gap:6px;flex-wrap:wrap;margin-bottom:25px}.filters button{padding:9px 12px;font-size:10px}.project-grid{gap:32px;grid-template-columns:1fr}.project-card:nth-child(even){padding-top:0}.project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+3) .project-image{height:370px}.project-info h3{font-size:21px}.about{grid-template-columns:1fr;gap:35px}.about h2{font-size:44px}.disciplines>div p{font-size:23px;flex-wrap:wrap;gap:12px}.disciplines small{width:100%;margin-left:26px;font-size:10px}.contact h2{font-size:49px;letter-spacing:-2px}.contact-arrow{position:static;width:55px;height:55px;font-size:32px;margin-top:25px}.contact-links{flex-wrap:wrap;gap:25px;font-size:11px;margin-top:30px}.contact-links a:first-child{width:100%}footer{padding:25px 6%;flex-wrap:wrap;font-size:7px}footer>span:nth-child(2){display:none}dialog{padding:18px;max-height:94svh;width:96vw}.modal-layout{grid-template-columns:1fr;gap:25px}.modal-art>img{height:44svh}.modal-copy h2{font-size:34px}.modal-copy>p:not(.eyebrow){font-size:13px}.modal-head{font-size:8px}.static-motion .journey{height:100svh;min-height:700px}.static-motion .stage{min-height:700px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image img{transition:none}}
/* Responsive controls and compact viewports. */
html{scroll-padding-top:110px}img{max-width:100%}.project-info>div,.about-copy{min-width:0}.project-info h3,.modal-copy h2{overflow-wrap:anywhere}.modal-art{min-width:0}#modal-image{touch-action:pan-y;user-select:none;-webkit-user-drag:none}.gallery-controls button,#close-modal,.motion,.chapter-nav button,#menu-toggle{min-width:44px;min-height:44px}.motion{align-items:center;justify-content:center}.chapter-nav{gap:0}.chapter-nav button{padding:10px}.stage-bottom{bottom:max(20px,env(safe-area-inset-bottom))}dialog{overscroll-behavior:contain}.modal-head{position:sticky;top:-1px;background:#171b14;z-index:2;padding:8px 0}.contact-links a{overflow-wrap:anywhere}.filters button{min-height:44px}nav a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:651px) and (max-width:1000px){h1{font-size:clamp(58px,8vw,80px);letter-spacing:-4px}.hero-copy{left:6%}.art-plane.main{width:245px;height:340px}.hero-copy>p:not(.eyebrow){max-width:270px}.intro>p:nth-child(2){font-size:29px}.about-details{grid-template-columns:1fr}.contact-links{gap:25px}.disciplines small{max-width:48%;text-align:right}}
@media(max-width:650px){
html{scroll-padding-top:95px}header{padding:14px 6%;padding-top:max(14px,env(safe-area-inset-top))}nav{top:80px;max-height:calc(100svh - 80px);overflow:auto}.stage,.static-motion .stage{min-height:0;height:100svh}.static-motion .journey{min-height:0;height:100svh}.journey{height:330svh}h1{font-size:clamp(44px,14.8vw,60px);letter-spacing:-3px}.hero-copy{top:47%}.stage-top{top:100px}.hero-copy>p:not(.eyebrow){font-size:12px}.stage-bottom{left:5%;right:4%;gap:6px}.chapter-nav>span{width:8px}.chapter-nav button{font-size:9px;padding:10px 3px;min-width:35px}.scroll-cue{letter-spacing:.7px;gap:8px}.filters{gap:7px}.filters button{padding:10px 13px}.project-image,.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+3) .project-image{height:auto;aspect-ratio:1/1.08}.project-index{font-size:8px;white-space:nowrap;margin-left:8px}.about-details{gap:14px}.contact h2{font-size:clamp(37px,11.7vw,57px)}.modal-copy h2{font-size:32px}.gallery-controls button{min-width:52px}.contact-links a{min-height:36px}.intro>p:nth-child(2)>span{display:block;margin-top:8px;line-height:1.6}
}
@media(max-width:650px) and (max-height:720px){
.stage-top{top:92px;font-size:7px}.art-plane{top:29%;width:110px;height:140px}.art-plane.main{width:132px;height:174px}.orbital{top:29%;width:220px;height:220px}.hero-copy{top:45%}.hero-copy .eyebrow{margin-bottom:10px}.hero-copy>p:not(.eyebrow){margin:13px 0 6px;font-size:11px}.hero-cta{min-height:40px}.image-note{top:34%;font-size:6px;left:6%;max-width:70px}.image-note span:last-child{font-size:5px}.stage-bottom{bottom:max(10px,env(safe-area-inset-bottom))}h1{font-size:clamp(43px,13vw,54px)}
}
@media(min-width:651px) and (max-height:700px){
.stage,.static-motion .stage{min-height:0;height:100svh}.stage-top{top:106px}.hero-copy{top:28%}h1{font-size:clamp(55px,6.5vw,78px)}.hero-copy .eyebrow{margin-bottom:16px}.hero-copy>p:not(.eyebrow){margin-top:17px;font-size:12px}.art-plane{height:290px;width:220px}.art-plane.main{height:330px;width:250px}.image-note{top:auto;bottom:90px}.orbital{width:410px;height:410px}
}
@media(orientation:landscape) and (max-height:500px){
header{padding:9px 4%}.brand{font-size:18px}.brand span{font-size:6px;margin-top:2px}nav{top:63px}.nav-contact{padding:4px 13px}.stage-top{top:73px;font-size:7px}.hero-copy{top:29%;left:6%}.hero-copy .eyebrow{font-size:8px;margin-bottom:10px}h1{font-size:43px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:10px;line-height:1.4;margin:10px 0 0}.hero-cta{font-size:10px;padding:5px 0;margin:0}.art-plane{top:48%;left:70%;width:135px;height:175px}.art-plane.main{width:155px;height:200px}.scene{perspective-origin:70% 48%}.orbital{left:70%;top:48%;width:250px;height:250px}.image-note{display:none}.stage-bottom{bottom:5px}.scroll-cue small{display:none}.stage-bottom .motion span{display:none}.modal-layout{grid-template-columns:1fr 1fr;gap:20px}.modal-art>img{height:55svh}
}
@media(pointer:coarse){.project-card:hover img{transform:none}#thumbnails button{width:60px;height:68px}}
/* Language-aware layouts preserve the composition with longer translated copy. */
header{gap:22px}header nav{margin-left:auto}#language{font:inherit;font-size:11px;background:#1b2016;color:var(--fg);border:1px solid #535c47;border-radius:25px;padding:0 10px;min-height:44px;min-width:60px;cursor:pointer}#language:focus-visible{outline:2px solid var(--lime);outline-offset:4px}html[lang=en] h1,html[lang=de] h1{font-size:clamp(58px,6.8vw,104px)}html[lang=en] .section-heading h2,html[lang=de] .section-heading h2{max-width:720px;font-size:clamp(36px,4vw,60px)}html[lang=en] .contact h2,html[lang=de] .contact h2{font-size:clamp(45px,6vw,92px)}html[lang=de] .disciplines>div p{font-size:25px}html[lang=de] .about h2{font-size:48px}.contact h2{padding-right:120px}
@media(max-width:1000px){header{gap:15px}nav{gap:17px}.nav-contact span{margin-left:12px}html[lang=de] .about h2{font-size:38px}html[lang=en] h1,html[lang=de] h1{font-size:clamp(52px,7vw,75px)}}
@media(max-width:650px){header{gap:7px}.brand{font-size:clamp(17px,5.4vw,21px);margin-right:auto}.brand span{font-size:6px;letter-spacing:1.5px}#language{font-size:10px;min-width:54px;width:54px;padding:0 6px}#menu-toggle{padding:4px}nav{margin:0}html[lang=en] h1,html[lang=de] h1{font-size:clamp(40px,12vw,54px);letter-spacing:-2px}html[lang=en] .contact h2,html[lang=de] .contact h2{font-size:clamp(35px,9vw,49px);overflow-wrap:normal}html[lang=en] .section-heading h2,html[lang=de] .section-heading h2{font-size:37px}html[lang=de] .about h2{font-size:36px;letter-spacing:-1.7px}.contact h2{padding-right:0}.scroll-cue{max-width:125px;line-height:1.5}.scroll-cue .mouse{flex-shrink:0}}
@media(orientation:landscape) and (max-height:500px){html[lang=en] h1,html[lang=de] h1{font-size:42px}header{gap:10px}header nav{gap:15px}}
@media(max-width:650px){.about h2{overflow-wrap:anywhere}html[lang=de] .about h2{font-size:clamp(28px,8.4vw,36px);letter-spacing:-1.5px}.about-details small{overflow-wrap:anywhere}}
@media(max-width:650px) and (max-height:720px){.art-plane{top:31%;width:95px;height:125px}.art-plane.main{width:118px;height:155px}}
/* Two distinct portfolios with one shared visual identity. */
nav a[aria-current=page]{color:var(--lime);text-decoration:underline;text-underline-offset:8px}.portfolio-entrances .section-heading{align-items:end}.entrance-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.entrance{position:relative;display:block;min-height:510px;overflow:hidden;background:#282e23}.entrance>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.commercial-entrance>img{object-position:60% center}.entrance:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 15%,#0004 35%,#000d 100%)}.entrance:hover>img{transform:scale(1.04)}.entrance-copy{position:absolute;z-index:1;inset:auto 32px 32px;color:#fff}.entrance-copy .eyebrow{color:#d5e2c6}.entrance-copy h3{font:400 clamp(26px,3vw,43px) Manrope,Arial,sans-serif;letter-spacing:-1.6px;margin:18px 0 14px}.entrance-copy p{font-size:12px;color:#d1d6ca;line-height:1.8}.entrance-action{display:flex;justify-content:space-between;align-items:center;padding-top:25px;border-top:1px solid #ffffff40;margin-top:35px;font-size:12px}.entrance-action b{font-size:25px;font-weight:400;color:var(--lime)}
:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]){--bg:#eeece5;--fg:#292c23;--muted:#676c5d;--line:#cbcdbf;--lime:#596343;background:var(--bg)}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) header{background:#eeece5f2;border-color:#3333}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) #language{background:#e4e4d9;color:#292c23;border-color:#b7bca9}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .nav-contact{border-color:#a3ab94}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) nav a[aria-current=page]{color:#57643d}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .filters button.active{color:#fff}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .filters button{border-color:#9da58f}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-image{background:#dbddd1}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:hover .view-project{color:#fff}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) dialog{--lime:#d5f78b;color:#f1f0e9}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .modal-head{color:#a3a79a}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) #close-modal{color:#f1f0e9;border-color:#535c47}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .modal-copy .eyebrow{color:#a3a79a}
.service-hero{padding-top:155px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;min-height:92svh}.service-copy h1{font-size:clamp(60px,6vw,94px);letter-spacing:-4px;line-height:1.04;text-shadow:none}.service-copy h1 em{color:#697453;letter-spacing:-3px}.service-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:340px;color:var(--muted);margin:28px 0}.solid-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:16px 22px;background:var(--fg);color:var(--bg);font-size:12px;line-height:1.5}.solid-link span{font-size:20px}.quiet-link{display:block;font-size:11px;margin-top:20px;text-decoration:underline;text-underline-offset:6px}.wedding-composition{position:relative;padding:0 0 60px 35px;max-width:530px}.wedding-main{width:100%;height:570px;object-fit:cover}.wedding-inset{position:absolute;width:65%;height:180px;object-fit:cover;bottom:24px;left:-65px;border:7px solid var(--bg);box-shadow:0 14px 40px #2c332319}.wedding-composition>span{display:block;text-align:right;font-size:8px;letter-spacing:2px;padding-top:18px}.service-intro{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-intro h2{font-size:clamp(35px,3.6vw,54px);line-height:1.25}.service-intro>div>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:650px;margin:25px 0 0}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-grid{gap:50px 32px}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:nth-child(even){padding-top:0}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:first-child{grid-column:1/-1}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:first-child .project-image{height:470px}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:not(:first-child) .project-image{height:380px}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);background:#e0e2d6}.booking-copy{align-self:center;display:flex;flex-direction:column;align-items:start;gap:25px}.booking-copy>p{font-size:17px;line-height:1.8;color:#59604f;max-width:430px}.booking-copy small{font-size:11px;color:#676e5d;overflow-wrap:anywhere}.section-bridge{display:flex;justify-content:space-between;gap:35px;align-items:end;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.section-bridge h2{font-size:36px;line-height:1.2;letter-spacing:-1.5px}.section-bridge>a{font-size:12px;padding:14px 0;border-bottom:1px solid var(--muted)}
.art-page-hero{padding-top:165px;padding-bottom:85px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;min-height:90svh;background:radial-gradient(ellipse at 80% 50%,#2b3323,#111310 65%)}.art-page-hero h1{font-size:clamp(55px,6vw,90px);line-height:1.06;letter-spacing:-4px}.art-page-hero>div>p:not(.eyebrow){max-width:400px;line-height:1.9;font-size:14px;color:#a3a79a;margin:30px 0 20px}.art-page-hero figure{margin:0;transform:rotate(3deg);padding:14px;border:1px solid #65715155}.art-page-hero img{display:block;width:100%;height:460px;object-fit:cover}.art-page-hero figcaption{font-size:8px;letter-spacing:2px;margin-top:16px;color:#a3a79a}.art-statement{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:40px}.art-statement>p:last-child{font-size:clamp(25px,3vw,40px);line-height:1.6;margin:0;letter-spacing:-.8px}.art-statement em{color:#a7b695}body[data-page=art] .contact h2{font-size:clamp(43px,5.5vw,80px);padding-right:0}
@media(max-width:1100px){header{gap:14px}nav{gap:18px;font-size:11px}.nav-contact{padding:9px 15px}.wedding-main{height:470px}.wedding-inset{left:-25px;height:145px}.service-hero{gap:5%}.service-copy h1{font-size:70px}.art-page-hero h1{font-size:65px}.art-page-hero img{height:410px}.entrance{min-height:440px}.entrance-copy{inset:auto 24px 24px}}
@media(min-width:651px) and (max-width:900px){nav{gap:11px}.brand{font-size:19px}.brand span{font-size:6px;letter-spacing:1.5px}.nav-contact{padding:8px 12px}.nav-contact span{margin-left:5px}.service-copy h1,html[lang=en] .service-copy h1,html[lang=de] .service-copy h1{font-size:55px}.service-hero{padding-top:140px}.wedding-main{height:400px}.wedding-inset{width:80%;height:130px}.art-page-hero h1,html[lang=en] .art-page-hero h1,html[lang=de] .art-page-hero h1{font-size:55px}.art-page-hero img{height:370px}.service-intro,.art-statement{grid-template-columns:1fr;gap:20px}.section-bridge h2{font-size:30px}}
@media(max-width:650px){.entrance-grid{grid-template-columns:1fr;gap:22px}.entrance{min-height:420px}.entrance-copy h3{font-size:33px}.entrance-copy{inset:auto 24px 25px}.entrance-copy p{font-size:11px}.portfolio-entrances h2{font-size:38px}.service-hero{padding:115px 6% 65px;min-height:0;grid-template-columns:1fr;gap:42px}.service-copy h1,html[lang=en] .service-copy h1,html[lang=de] .service-copy h1{font-size:clamp(53px,14vw,72px);letter-spacing:-3px}.service-copy>p:not(.eyebrow){font-size:14px;max-width:100%}.wedding-composition{padding-left:30px;padding-bottom:45px;width:100%;margin:0 auto;max-width:430px}.wedding-main{height:400px}.wedding-inset{left:0;bottom:30px;width:70%;height:130px}.wedding-composition>span{font-size:6px;letter-spacing:1px}.service-intro{grid-template-columns:1fr;gap:15px}.service-intro h2{font-size:33px;letter-spacing:-1.5px}.service-intro>div>p{font-size:13px}.booking-section{grid-template-columns:1fr;gap:25px}.booking-section h2{font-size:50px}.booking-copy>p{font-size:15px}.booking-copy .solid-link{width:100%;gap:12px}.section-bridge{align-items:start;flex-direction:column;gap:25px}.section-bridge h2{font-size:33px}.art-page-hero{padding-top:125px;grid-template-columns:1fr;gap:50px;min-height:0}.art-page-hero h1,html[lang=en] .art-page-hero h1,html[lang=de] .art-page-hero h1{font-size:clamp(44px,12vw,64px);letter-spacing:-2.7px}.art-page-hero img{height:350px}.art-page-hero figure{margin:0 8px}.art-statement{grid-template-columns:1fr;gap:20px}.art-statement>p:last-child{font-size:25px}.art-page-hero>div>p:not(.eyebrow){font-size:13px}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:first-child .project-image,:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) .project-card:not(:first-child) .project-image{height:auto;aspect-ratio:1/1.08}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) nav{background:#eeece5}.entrance .eyebrow{font-size:8px}.booking-copy .text-link{line-height:1.7}html[lang=de] .entrance-copy h3{font-size:31px}.service-hero h1 em{letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){.entrance>img{transition:none}}

/* Onur Taşkınsoy identity: an open circular O joined to an architectural T. */
.brand{display:inline-flex;align-items:center;gap:13px;flex:none;font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:0}
.brand-mark{display:block;width:48px;height:46px;flex:none;color:var(--lime)}
.brand .brand-type{display:flex;flex-direction:column;gap:6px;margin:0}
.brand .brand-name{display:block;margin:0;font-size:22px;line-height:1.1;font-weight:500;letter-spacing:-.8px;white-space:nowrap}
.brand .brand-caption{display:block;margin:0;font-size:7px;line-height:1.25;font-weight:500;letter-spacing:1.85px;white-space:nowrap;color:var(--muted)}
.footer-signature,.footer-brand{display:inline-flex;align-items:center;gap:12px}
.footer-brand .brand-mark{width:29px;height:28px}
.footer-brand>span{font:500 14px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.3px;color:var(--fg)}
.footer-year{font-size:9px;letter-spacing:0;margin-left:12px}
footer{align-items:center}
@media(max-width:1100px){.brand{gap:10px}.brand .brand-name{font-size:19px}.brand .brand-caption{font-size:6px;letter-spacing:1.55px}.brand-mark{width:42px;height:42px}}
@media(max-width:900px){header{padding:17px 5%;gap:9px}.brand{margin-right:auto}header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#161b12;padding:24px;flex-direction:column;gap:23px;border-bottom:1px solid var(--line);margin:0;font-size:13px}header nav.open{display:flex}:is(body[data-page=commercial],body[data-page=booking],body[data-page=art]) header nav{background:#eeece5}#menu-toggle{display:block;min-width:40px;min-height:44px;padding:4px;font-size:23px}.brand .brand-name{font-size:20px}.brand .brand-caption{font-size:6px;letter-spacing:1.7px}.brand-mark{width:41px;height:41px}}
@media(max-width:650px){header{padding:16px 5%;gap:7px}.brand{gap:9px}.brand .brand-name{font-size:clamp(15px,4.6vw,20px);letter-spacing:-.55px}.brand .brand-caption{font-size:5.5px;letter-spacing:1.2px}.brand .brand-type{gap:5px}.brand-mark{width:clamp(30px,9vw,38px);height:38px}.footer-signature{width:100%;gap:12px;margin-bottom:6px}.footer-year{margin-left:auto}footer{row-gap:18px}.footer-brand>span{font-size:15px}}
@media(orientation:landscape) and (max-height:500px){header{padding-top:8px;padding-bottom:8px}.brand-mark{width:35px;height:35px}.brand .brand-name{font-size:18px}.brand .brand-caption{font-size:5.5px}.brand .brand-type{gap:3px}}
/* Direct contact and wedding enquiries. */
[hidden]{display:none!important}
.contact-icon{display:block;width:24px;height:24px;flex:none}
.contact-directory{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:40px}
.contact-method{display:flex;align-items:center;gap:18px;min-width:0;padding:25px 0;border-bottom:1px solid var(--line);transition:color .2s}
.contact-method>.contact-icon{color:var(--lime);width:27px;height:27px}
.contact-method-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-method-label{font-size:10px;letter-spacing:.6px;color:var(--muted)}
.contact-method-value{font-size:clamp(13px,1.3vw,18px);overflow-wrap:anywhere;line-height:1.5}
.contact-method-arrow{margin-left:auto;color:var(--muted);font-size:21px}
.contact-method:hover{color:var(--lime)}
.contact-arrow>.contact-icon{width:38px;height:38px}
.booking-copy .contact-directory{grid-template-columns:1fr;margin:0}
.booking-copy .contact-method{padding:18px 0}
.booking-section>div>.inquiry-link{margin-top:32px}
.inquiry-link{gap:14px;line-height:1.6}
.inquiry-link>span:not([aria-hidden]){font-size:12px}
.inquiry-link>span[aria-hidden]{margin-left:auto}
.inquiry-link>.contact-icon{width:20px;height:20px}
.wedding-project{grid-column:1/-1;min-width:0}
.wedding-card-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.wedding-card-cta strong{font-size:17px;font-weight:500}
.wedding-card-cta p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 0}
#modal-booking{background:#d5f78b;color:#111310;margin:0 0 28px}
.wedding-request-page{padding-top:155px;display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start}
.request-back{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:44px;text-decoration:underline;text-underline-offset:5px}
.request-story h1,html[lang=en] .request-story h1,html[lang=de] .request-story h1{font-size:clamp(48px,4.4vw,72px);letter-spacing:-3px;line-height:1.08;text-shadow:none}
.request-story h1 em{color:#697453;letter-spacing:-3px}
.request-story>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);max-width:350px}
.request-story>p.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:24px}
.request-story figure{margin:40px 0 24px}
.request-story figure img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;object-position:58% center}
.request-story figcaption{margin-top:14px;font-size:8px;letter-spacing:1.2px;color:var(--muted)}
.request-story>p.request-aside-note{font-size:11px;max-width:100%;border-top:1px solid var(--line);padding-top:20px}
.request-panel{padding:32px;background:#f8f7f2;border:1px solid #d1d4c5;scroll-margin-top:16px;min-width:0}
.form-heading{border-bottom:1px solid #d1d4c5;padding-bottom:20px;margin-bottom:25px}
.form-heading .eyebrow{color:#505a3f;font-size:10px}
.form-heading p{font-size:10px;color:#737767;margin:12px 0 0}
.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px}
.request-field{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:11px;line-height:1.6}
.field-wide{grid-column:1/-1}
.request-field input,.request-field select,.request-field textarea,#request-message{display:block;width:100%;min-width:0;background:#eeeee5;color:#252b1f;border:1px solid #c7ccb9;border-radius:0;padding:12px;font:400 14px/1.5 'DM Sans',Arial,sans-serif;min-height:48px}
.request-field textarea,#request-message{resize:vertical}
.request-field input::placeholder,.request-field textarea::placeholder{color:#747b68;opacity:1}
.request-field input:disabled{opacity:.45}
.request-field input:focus-visible,.request-field select:focus-visible,.request-field textarea:focus-visible,#request-message:focus-visible{outline:2px solid #596343;outline-offset:2px}
.date-flexible{display:flex;gap:10px;align-items:center;font-size:11px;margin-top:-7px;cursor:pointer;min-height:30px}
.date-flexible input{accent-color:#596343;width:18px;height:18px;margin:0;flex:none}
.request-note{font-size:11px;line-height:1.8;color:#626b55;margin:24px 0 18px}
#prepare-request{width:100%;justify-content:space-between;background:#343e27;color:#fff}
#prepare-request:disabled{opacity:.45;cursor:not-allowed}
.request-review{scroll-margin-top:16px}
.request-review h2{font-size:40px;letter-spacing:-1.7px;margin:18px 0 24px}
.request-review>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#626b55}
.request-review label{display:block;font-size:11px;margin:25px 0 10px}
.request-recipient strong{color:#292c23;overflow-wrap:anywhere;font-weight:500}
#request-message{font-size:13px;line-height:1.7;background:#fff;min-height:300px}
#send-request{margin-top:22px;width:100%;background:#343e27;color:#fff}
#send-request-icon .contact-icon{width:20px;height:20px}
.review-actions{display:flex;justify-content:space-between;gap:20px;margin-top:20px}
.review-actions button{padding:10px 0;font-size:11px;text-decoration:underline;text-underline-offset:5px}
#copy-status{font-size:11px;min-height:20px}
.request-contact{border-top:1px solid var(--line)}
.request-contact h2{font-size:48px}
@media(max-width:1000px){.wedding-request-page{gap:5%;grid-template-columns:.7fr 1.3fr}.request-panel{padding:24px}.request-story h1,html[lang=en] .request-story h1,html[lang=de] .request-story h1{font-size:47px}.request-grid{grid-template-columns:1fr}.request-field input,.request-field select,.request-field textarea{font-size:16px}.wedding-card-cta{align-items:start}.wedding-card-cta .inquiry-link{max-width:300px}}
@media(max-width:700px){.wedding-request-page{padding-top:115px;grid-template-columns:1fr;gap:30px}.request-story h1,html[lang=en] .request-story h1,html[lang=de] .request-story h1{font-size:52px}.request-story h1 br:last-child{display:none}.request-story h1 em{letter-spacing:-2px}.request-back{margin-bottom:28px}.request-story figure{margin-top:28px}.request-story figure img{aspect-ratio:1.7}.request-story>p:not(.eyebrow){max-width:none}.request-panel{padding:24px 18px;scroll-margin-top:16px}.contact-directory{grid-template-columns:1fr;gap:0;margin-top:26px}.contact-method-value{font-size:15px}.contact-method{padding:20px 0}.wedding-card-cta{flex-direction:column;gap:18px}.wedding-card-cta .inquiry-link{width:100%;max-width:none}.wedding-card-cta strong{font-size:16px}.contact-arrow>.contact-icon{width:25px;height:25px}.request-review h2{font-size:34px}.request-contact h2{font-size:40px}.request-review{scroll-margin-top:16px}.request-review>p{overflow-wrap:anywhere}}

@media(max-width:700px){.contact-method[href^="mailto:"] .contact-method-value{font-size:13px}}

.contact-archive{font-size:11px;color:var(--muted);margin:26px 0 0}.contact-archive a{border-bottom:1px solid var(--line);padding-bottom:6px}

/* One enquiry form for every commercial discipline. */
.category-field{padding-bottom:22px;border-bottom:1px solid #d1d4c5;margin-bottom:3px}
.category-field>span:first-child{font-size:13px;font-weight:600}
.category-field select{border-color:#79876a;background:#e7ebdd;font-weight:500}
.category-hint{font-size:11px;line-height:1.7;color:#626b55;min-height:38px}
.request-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.request-story .request-mosaic img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.request-story .request-selection{margin-top:30px}
.commercial-project{min-width:0}
body[data-page=commercial] .commercial-project .project-card{padding-top:0}
body[data-page=commercial] .commercial-project:not(.wedding-project) .project-image{height:350px}
.compact-booking-cta{padding-top:18px;border:0}
.compact-booking-cta .inquiry-link{min-height:44px;padding:10px 16px;font-size:11px;background:transparent;color:var(--fg);border:1px solid var(--line)}
.general-booking-link{margin-top:30px}
@media(max-width:700px){.request-mosaic{gap:6px}.request-story .request-mosaic img{aspect-ratio:1.35}body[data-page=commercial] .commercial-project:not(.wedding-project) .project-image{height:auto;aspect-ratio:1/1.08}.category-hint{min-height:0}.category-field select{font-size:16px}}

/* A wedding-led cover with every commercial discipline visible. */
body[data-page=commercial] .service-hero{grid-template-columns:minmax(0,.83fr) minmax(0,1.35fr);gap:5%;padding-top:150px;padding-bottom:70px;min-height:90svh}
.commercial-showcase{min-width:0;display:grid;gap:20px}
.showcase-wedding,.showcase-category{display:block;width:100%;padding:0;border:0;text-align:left;color:var(--fg);background:transparent;cursor:pointer;font:inherit}
.showcase-wedding{position:relative;overflow:hidden;isolation:isolate}
.showcase-wedding>img{display:block;width:100%;height:clamp(300px,30vw,470px);object-fit:cover;object-position:53% 43%;transition:transform .7s}
.showcase-wedding:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0c100bba);pointer-events:none;z-index:0}
.showcase-caption{position:absolute;bottom:26px;left:28px;right:28px;color:#fff;display:flex;align-items:end;justify-content:space-between;z-index:1}
.showcase-caption small{display:block;font-size:8px;letter-spacing:2px;margin-bottom:10px}
.showcase-caption strong{font-size:29px;font-weight:400;letter-spacing:-.7px}
.showcase-caption>span:last-child{font-size:27px}
.showcase-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.showcase-category{min-width:0}
.showcase-category>img{display:block;width:100%;height:clamp(110px,12vw,180px);object-fit:cover;object-position:center;transition:filter .3s}
.showcase-category[data-project=portrait]>img{object-position:50% 30%}
.showcase-category[data-project=food]>img{object-position:55% 65%}
.showcase-category>span{display:flex;justify-content:space-between;gap:4px;padding:12px 0 4px;font-size:11px;line-height:1.5;border-bottom:1px solid var(--line)}
.showcase-wedding:hover>img{transform:scale(1.025)}
.showcase-category:hover>img{filter:brightness(1.08)}
.showcase-category:focus-visible,.showcase-wedding:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
body[data-page=commercial] .wedding-project .project-image img{object-position:50% 43%}
@media(min-width:651px) and (max-width:1000px){body[data-page=commercial] .service-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4%}.showcase-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-category>img{height:115px}.showcase-wedding>img{height:300px}.showcase-caption{left:18px;right:18px;bottom:18px}.showcase-caption strong{font-size:24px}}
@media(max-width:650px){body[data-page=commercial] .service-hero{grid-template-columns:1fr;gap:34px;padding-top:115px;padding-bottom:50px;min-height:0}.commercial-showcase{gap:16px}.showcase-wedding>img{height:auto;aspect-ratio:1.28;object-position:53% 43%}.showcase-caption{bottom:20px;left:20px;right:20px}.showcase-caption strong{font-size:28px}.showcase-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.showcase-category>img{height:auto;aspect-ratio:1.15}.showcase-category>span{font-size:12px}.showcase-caption small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.showcase-wedding>img,.showcase-category>img{transition:none}.showcase-wedding:hover>img{transform:none}}

/* Gallery previews preserve the entire photograph at every viewport size. */
:is(body[data-page=commercial],body[data-page=art]) #project-grid{align-items:start}
:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-card{padding-top:0;min-width:0}
:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-image{height:auto;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);padding:clamp(10px,1.2vw,22px)}
:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-card:hover img{transform:none}
body[data-page=commercial] #project-grid .wedding-project .project-image{aspect-ratio:auto;padding:0;border:0}
body[data-page=commercial] #project-grid .wedding-project .project-image img{height:auto;object-fit:contain}
@media(max-width:650px){:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-image{aspect-ratio:auto;padding:0;border:0}:is(body[data-page=commercial],body[data-page=art]) #project-grid .project-image img{height:auto}}

/* Approved C identity: interlocking serif OT and horizontal name. */
.brand{gap:14px}
.brand-mark{width:58px;height:46px;color:var(--fg);overflow:visible}
.brand .brand-type{display:block;margin:0}
.brand .brand-name{font-family:Manrope,Arial,sans-serif;font-size:23px;line-height:1.2;font-weight:400;letter-spacing:-.8px}
.footer-brand{gap:10px}
.footer-brand .brand-mark{width:40px;height:32px;color:var(--fg)}
.footer-brand>span{font-weight:400;font-size:16px}
@media(max-width:1100px){.brand{gap:10px}.brand-mark{width:49px;height:40px}.brand .brand-name{font-size:20px}}
@media(max-width:650px){.brand{gap:9px}.brand-mark{width:42px;height:34px}.brand .brand-name{font-size:clamp(15px,4.5vw,20px);letter-spacing:-.6px}.footer-brand .brand-mark{width:38px;height:30px}.footer-brand>span{font-size:15px}}
@media(orientation:landscape) and (max-height:500px){.brand-mark{width:42px;height:33px}.brand .brand-name{font-size:18px}}

/* Shared awards and exhibitions archive. */
.archive-hero{padding-top:180px;padding-bottom:90px;display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;min-height:70svh}
.archive-hero h1{font-size:clamp(49px,5.2vw,80px);line-height:1.08;letter-spacing:-3px;text-shadow:none}
.archive-hero h1 em{display:inline-block;font-size:.86em;letter-spacing:-2px}
.archive-hero>div>p:not(.eyebrow){color:var(--muted);max-width:390px;font-size:15px;line-height:1.8;margin:28px 0}
.archive-index{border-top:1px solid var(--line)}
.archive-index>a{display:grid;grid-template-columns:26px 1fr 22px;align-items:start;gap:18px;padding:35px 0;border-bottom:1px solid var(--line)}
.archive-index>a>span:first-child{font-size:10px;color:var(--lime);padding-top:5px}.archive-index h2{font-size:25px;letter-spacing:-.7px;line-height:1.25}.archive-index p{font-size:12px;color:var(--muted);line-height:1.7;margin:13px 0 0}.archive-index>a>span:last-child{color:var(--lime)}
.archive-section{border-top:1px solid var(--line)}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 32px}
.archive-card{min-width:0}.archive-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;padding:16px;border:1px solid var(--line)}.archive-photo>img{width:100%;height:100%;object-fit:contain}.archive-photo-arrow{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--fg);color:var(--bg)}
.archive-card-copy{padding:22px 0 0}.archive-card-copy .eyebrow{font-size:9px;margin-bottom:12px}.archive-card-copy h3{font-size:25px;font-weight:400;line-height:1.3;overflow-wrap:anywhere}.archive-meta{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.archive-card-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.archive-empty{border:1px dashed #59614e;min-height:280px;padding:45px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.archive-empty-mark{color:var(--lime);font-size:32px;font-weight:300;margin-bottom:20px}.archive-empty h3{font:italic 32px Georgia,serif}.archive-empty p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:15px}
.archive-primary,.archive-secondary{min-height:44px;padding:13px 18px;font:500 12px/1.4 'DM Sans',sans-serif;border:1px solid var(--line);text-align:center}.archive-primary{background:var(--lime);color:#17200e;border-color:var(--lime)}.archive-secondary{color:var(--fg);background:transparent}.archive-primary:disabled,.archive-secondary:disabled{opacity:.5;cursor:wait}
#archive-owner{display:flex;gap:10px;flex-wrap:wrap}.archive-status:not(:empty){margin:22px 0;padding:16px 0;color:var(--lime);font-size:14px;line-height:1.7}.archive-management{font-size:11px;color:var(--muted);margin-top:32px;text-align:right}.archive-management a{text-decoration:underline;text-underline-offset:5px}
.archive-editor{border-top:1px solid var(--line);margin-top:70px;padding-top:45px;display:grid;grid-template-columns:.65fr 1fr;gap:7%;scroll-margin-top:120px}.editor-intro h2{font-size:37px;line-height:1.2;letter-spacing:-.8px}.editor-intro>p:last-child{font-size:13px;color:var(--muted);line-height:1.8;margin-top:20px}.archive-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.archive-form-grid .full{grid-column:1/-1}.archive-form-grid label{display:flex;flex-direction:column;gap:10px;font-size:12px;line-height:1.5;min-width:0}.archive-form-grid input,.archive-form-grid textarea,.archive-form-grid select{width:100%;min-width:0;background:#1c2118;color:var(--fg);border:1px solid #59614e;padding:13px;font:400 15px/1.5 'DM Sans',sans-serif;border-radius:0;color-scheme:dark}.archive-form-grid input[type=file]{padding:12px;font-size:12px}.archive-form-grid input[type=file]::file-selector-button{background:var(--fg);color:var(--bg);border:0;padding:8px;margin-right:12px}.archive-form-grid small{font-size:11px;line-height:1.7;color:var(--muted)}.archive-form-grid details{border-top:1px solid var(--line);padding-top:20px}.archive-form-grid details label{margin-top:18px}.archive-form-grid summary{font-size:13px;cursor:pointer;line-height:1.6}.archive-form-grid details p{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}.upload-preview{border:1px solid var(--line);padding:10px}.upload-preview img{display:block;width:100%;max-height:340px;object-fit:contain}.editor-actions{display:flex;gap:15px;margin-top:25px}.editor-actions button{min-width:110px}#editor-status{font-size:13px;line-height:1.7;color:var(--lime);margin-top:20px}
#archive-trash{margin-top:50px;border-top:1px solid var(--line);padding-top:30px;scroll-margin-top:120px}.trash-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.trash-heading h3{font-size:24px;font-weight:400}#archive-trash>p{font-size:13px;color:var(--muted);margin:20px 0;line-height:1.8}.trash-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:14px}.trash-row>span{overflow-wrap:anywhere}#trash-list{font-size:13px}
#archive-viewer{max-width:1200px;width:94vw;padding:30px}#close-archive-viewer{display:block;margin-left:auto;padding:12px;border:1px solid var(--line);margin-bottom:25px}.archive-view-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;align-items:center}.archive-view-layout>img{width:100%;height:65svh;object-fit:contain}.archive-view-layout h2{font-size:38px;line-height:1.2;overflow-wrap:anywhere}.archive-view-layout p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin-top:25px;white-space:pre-wrap;overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(min-width:901px) and (max-width:1150px){header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--bg);padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}header nav.open{display:flex}#menu-toggle{display:block}.brand{margin-right:auto}}
@media(max-width:800px){.archive-hero{grid-template-columns:1fr;gap:40px;padding-top:135px;min-height:0}.archive-hero h1{font-size:58px}.archive-index h2{font-size:26px}.archive-editor{grid-template-columns:1fr;gap:30px}.archive-section .section-heading{align-items:start;gap:25px;flex-wrap:wrap}.archive-view-layout{grid-template-columns:1fr;gap:22px}.archive-view-layout>img{height:auto;max-height:55svh}.archive-view-layout h2{font-size:29px}}
@media(max-width:650px){.archive-hero{padding-top:120px;padding-bottom:50px}.archive-hero h1{font-size:clamp(44px,11vw,58px);letter-spacing:-2px}.archive-hero h1 em{letter-spacing:-1px}.archive-hero>div>p:not(.eyebrow){font-size:13px}.archive-index>a{padding:25px 0;gap:12px}.archive-index h2{font-size:24px}.archive-grid{grid-template-columns:1fr;gap:36px}.archive-photo{aspect-ratio:auto;padding:0;border:0}.archive-photo>img{height:auto}.archive-empty{padding:30px 20px;min-height:230px}.archive-empty h3{font-size:28px}.archive-form-grid{grid-template-columns:1fr}.archive-form-grid input,.archive-form-grid textarea,.archive-form-grid select{font-size:16px}.archive-editor{margin-top:45px;padding-top:30px}.editor-intro h2{font-size:31px}.archive-view-layout>img{max-height:50svh}#archive-viewer{padding:18px}.archive-view-layout p:not(.eyebrow){font-size:13px}.archive-hero .eyebrow{font-size:8px}.archive-section .section-heading h2{font-size:40px}}
.cms-admin-link{font-size:10px;color:var(--muted)}.cms-preview-bar{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:#d2ed99;color:#17200e;padding:13px 20px;font:13px/1.5 sans-serif;text-align:center;box-shadow:0 -4px 20px #0004}.cms-preview-bar a{text-decoration:underline}

/* Five supporting commercial galleries; retain full animal cover. */
@media(min-width:1001px){.showcase-categories{grid-template-columns:repeat(6,minmax(0,1fr))}}
.showcase-category[data-project=animals]>img{object-fit:contain}
/* Shared, edge-to-edge photographic viewer. */
#project-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#101110;color:#f1f0e9;overflow:hidden}
#project-modal[open]{display:flex;flex-direction:column}
#project-modal .modal-head{position:relative;top:auto;flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:14px 3%;background:#101110;border-bottom:1px solid #ffffff18}
#modal-type{margin-right:auto;color:#aaa;font-size:10px;letter-spacing:1px}
#project-modal .viewer-fullscreen,#project-modal #close-modal{min-height:44px;padding:10px 16px;border:1px solid #ffffff35;border-radius:24px;font-size:11px}
#project-modal .modal-layout{display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow:hidden}
#project-modal .modal-art{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:18px 65px 45px;background:#0a0b0a}
#project-modal #modal-image{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;cursor:zoom-in}
#project-modal .gallery-controls{position:absolute;inset:0;display:block;margin:0;pointer-events:none}
#project-modal .gallery-controls button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#141614b8;border:1px solid #ffffff25;pointer-events:auto}
#project-modal #prev-image{left:12px}#project-modal #next-image{right:12px}
#project-modal #image-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;color:#ccc}
#project-modal .modal-copy{flex:0 0 auto;min-height:0;padding:15px 3%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;border-top:1px solid #ffffff18}
#project-modal .modal-copy>.eyebrow{display:none}
#project-modal #modal-title{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:0;grid-column:1;grid-row:1}
#project-modal .viewer-details{grid-column:1;grid-row:2;font-size:11px;color:#aaa;max-width:850px}
#project-modal .viewer-details summary{cursor:pointer;min-height:24px;padding:4px 0}
#project-modal #modal-description{font-size:12px;line-height:1.7;margin:8px 0 0;max-height:12vh;overflow:auto}
#project-modal #modal-booking{grid-column:2;grid-row:1/3;align-self:center;min-height:44px;padding:10px 16px;font-size:10px;gap:15px}
#project-modal #modal-booking[hidden]{display:none}
#project-modal #thumbnails{display:flex;flex-wrap:nowrap;gap:9px;overflow-x:auto;overflow-y:hidden;width:100%;min-height:82px;padding:9px 3% 12px;scrollbar-width:thin;scrollbar-color:#777 #181a18;flex:0 0 auto;background:#151715;overscroll-behavior-x:contain}
#project-modal #thumbnails button{flex:0 0 72px;width:72px;height:60px;padding:3px;border:1px solid transparent;background:#080908;opacity:.55;border-radius:3px}
#project-modal #thumbnails button.active{opacity:1;border-color:var(--lime)}
#project-modal #thumbnails button:hover{opacity:1}
#project-modal #thumbnails img{width:100%;height:100%;object-fit:contain}
#project-modal.viewer-immersive .modal-copy,#project-modal.viewer-immersive #thumbnails{display:none}
#project-modal.viewer-immersive #modal-image{cursor:zoom-out}
@media(max-width:650px){#project-modal .modal-head{padding:8px 4%;gap:8px}#modal-type{font-size:8px;max-width:40%}#project-modal .viewer-fullscreen,#project-modal #close-modal{padding:8px 11px;font-size:10px}#project-modal .modal-art{padding:10px 8px 42px}#project-modal .gallery-controls button{width:40px;height:44px;top:auto;bottom:0;transform:none;border:0;background:transparent}#project-modal .modal-copy{padding:12px 4%;gap:5px}#project-modal #modal-title{font-size:18px}#project-modal #modal-booking{grid-column:1;grid-row:3;justify-self:start;padding:8px 12px;min-height:38px}#project-modal #thumbnails{min-height:74px;gap:7px}#project-modal #thumbnails button{flex-basis:62px;width:62px;height:53px}}
/* Art statements are part of the work, visible on entry in a readable column. */
#project-modal.art-story:not(.viewer-immersive) .modal-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);grid-template-rows:minmax(0,1fr) auto}
#project-modal.art-story:not(.viewer-immersive) .modal-art{grid-column:1;grid-row:1}
#project-modal.art-story:not(.viewer-immersive) .modal-copy{grid-column:2;grid-row:1;display:block;overflow-y:auto;padding:32px clamp(22px,3vw,54px);border-top:0;border-left:1px solid #ffffff18;scrollbar-width:thin}
#project-modal.art-story:not(.viewer-immersive) #modal-title{font-size:clamp(28px,3vw,44px);margin-bottom:24px}
#project-modal.art-story:not(.viewer-immersive) .viewer-details{max-width:65ch}
#project-modal.art-story:not(.viewer-immersive) .viewer-details summary{font-size:11px;letter-spacing:1px;color:#c7b998;margin-bottom:18px}
#project-modal.art-story #modal-description{white-space:pre-line;max-height:none;overflow:visible;font-size:15px;line-height:1.95;color:#deded5;margin:0}
#project-modal.art-story:not(.viewer-immersive) #thumbnails{grid-column:1/-1;grid-row:2}
#project-modal #modal-video{width:100%;height:100%;min-height:0;object-fit:contain}
#project-modal #modal-video[hidden],#project-modal #modal-image[hidden]{display:none}
@media(max-width:800px){#project-modal.art-story:not(.viewer-immersive) .modal-layout{display:flex;overflow-y:auto}#project-modal.art-story:not(.viewer-immersive) .modal-art{flex:0 0 48svh;min-height:260px}#project-modal.art-story:not(.viewer-immersive) .modal-copy{overflow:visible;padding:26px 6%;border:0}#project-modal.art-story #modal-description{font-size:14px;line-height:1.85}#project-modal.art-story:not(.viewer-immersive) #thumbnails{order:-1;position:sticky;top:0;z-index:3}}

.documentary-heading{grid-column:1/-1;padding:65px 0 22px;border-top:1px solid var(--line);margin-top:30px}.documentary-heading h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3.4vw,54px);font-weight:400;line-height:1.2;letter-spacing:-1.5px;max-width:900px;margin:0}.documentary-heading~.project-card:nth-child(even){padding-top:0}

.graphic-project-description {
 max-width: 60ch;
 margin: 4px 0 0;
 color: var(--muted);
 font-size: .875rem;
 line-height: 1.65;
}

.web-design-section{border-top:1px solid var(--line)}
.web-demo-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,5vw,65px);align-items:center}
.web-demo-card img{display:block;width:100%;height:auto}
.web-demo-card h3{font:400 clamp(26px,3.2vw,46px)/1.1 Manrope,sans-serif;margin:12px 0}
.web-demo-card p:not(.eyebrow){color:var(--muted);line-height:1.75;max-width:48ch}
.web-demo-card .solid-link{margin:12px 0}
.web-demo-card .solid-link span:first-child{font-size:inherit}
.web-demo-card .text-link{display:table;margin-top:6px}
@media(max-width:700px){.web-demo-card{grid-template-columns:1fr}}
.web-demo-card + .web-demo-card{margin-top:clamp(32px,6vw,80px);padding-top:clamp(32px,6vw,80px);border-top:1px solid var(--line)}

.about-awards {
 display: inline-flex;
 align-items: center;
 gap: 14px;
 max-width: 100%;
 min-height: 58px;
 padding: 12px 20px;
 border: 1px solid #a8ad97;
 background: #dce0d2;
 color: #333d2b;
 font-size: clamp(15px, 1.3vw, 19px);
 font-weight: 600;
 line-height: 1.35;
 transition: background-color .2s, border-color .2s;
}
.about-awards svg { flex: 0 0 23px; width: 23px; height: 23px; color: #536045; }
.about-awards:hover { background: #d2d8c6; border-color: #758366; }
.about-awards:focus-visible { outline: 2px solid #536045; outline-offset: 4px; }
/* Award and exhibition galleries */
.archive-photo-count{position:absolute;left:24px;bottom:24px;padding:8px 12px;background:#111d;color:#fff;font-size:12px;border-radius:20px}.upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.upload-preview[hidden]{display:none}.upload-preview>div{display:flex;flex-wrap:wrap;gap:6px;align-content:start}.upload-preview img{height:120px;object-fit:contain;background:#111}.upload-preview button{font-size:11px;padding:8px}.upload-preview small{width:100%}.archive-gallery{min-width:0}.archive-gallery>img{display:block;width:100%;height:65svh;object-fit:contain}.archive-gallery .gallery-controls{margin:14px 0}.archive-gallery button:disabled{opacity:.3;cursor:default}#archive-thumbs{display:flex;gap:9px;overflow-x:auto;padding:4px 0 12px}#archive-thumbs button{flex:0 0 64px;border:1px solid transparent;padding:3px}#archive-thumbs button[aria-pressed=true]{border-color:var(--lime)}#archive-thumbs img{display:block;width:58px;height:64px;object-fit:cover}@media(max-width:800px){.archive-gallery>img{height:50svh}}

.about-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.about-actions .about-awards { margin:0; }
.about-cv-link { background:transparent; }

.cv-page { background:#eae9e0; color:#262b22; min-height:100vh; }
.cv-sheet { max-width:940px; margin:auto; padding:clamp(24px,6vw,68px); }
.cv-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14px; }
.cv-toolbar #language { display:block; color:#262b22; border:1px solid #9ca392; background:transparent; padding:8px 12px; }
.cv-intro { padding:clamp(44px,8vw,90px) 0 30px; }
.cv-intro h1 { font-size:clamp(38px,8vw,80px); line-height:1.05; letter-spacing:-.045em; margin:12px 0; }
.cv-intro p:last-child { color:#526049; font-size:clamp(16px,3vw,22px); }
.cv-section { display:grid; grid-template-columns:minmax(110px,1fr) 3fr; gap:24px; padding:24px 0; border-top:1px solid #bec1b3; }
.cv-section h2 { margin:0; font-size:15px; font-weight:600; line-height:1.4; letter-spacing:normal; }
.cv-section ul { padding:0; margin:0; list-style:none; display:grid; gap:20px; }
.cv-section li { display:grid; grid-template-columns:92px 1fr; gap:14px; }
.cv-section h3 { font-size:16px; font-weight:600; margin:0 0 5px; }
.cv-section p, .cv-year { color:#505b49; font-size:14px; line-height:1.55; margin:0; }
.cv-notes p + p { margin-top:8px; }
.cv-more { display:inline-block; margin-top:14px; border-bottom:1px solid #77816c; padding-bottom:4px; }
@media(max-width:620px) {
  .cv-section { grid-template-columns:1fr; gap:14px; }
  .cv-section li { grid-template-columns:76px 1fr; gap:10px; }
}
