@import url('https://fonts.googleapis.com/css2?family=GFS+Didot&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#20352f;--paper:#fff;--muted:#68726d;--line:#d8ddd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b79b63;outline-offset:5px}header{height:110px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white}.brand{font-size:23px;letter-spacing:4px;font-weight:500;white-space:nowrap}.brand span{display:block;font-size:10px;letter-spacing:3px;margin-top:7px}nav{display:flex;gap:35px;font-size:14px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.langs{display:flex;align-items:center;gap:8px;font-size:13px}.langs button{border:0;background:none;padding:10px 4px;color:#838883}.langs button[aria-pressed=true]{color:var(--ink);font-weight:700}.hero{position:relative;min-height:680px;height:calc(100svh - 110px);max-height:950px;color:white;margin:0 20px}.hero>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 57%}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,21,17,.03) 10%,rgba(5,21,17,.1) 25%,rgba(5,21,17,.67) 100%)}.hero-copy{position:absolute;bottom:100px;left:5%;right:5%}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.5px;line-height:1.8;margin:0 0 27px}h1,h2,.gallery-quote p{font-family:'GFS Didot',Georgia,serif;font-weight:400}h1{font-size:clamp(58px,6.5vw,104px);line-height:1.05;letter-spacing:-2px;margin:0 0 30px;max-width:1000px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.hero-bottom p{max-width:435px;font-size:15px;line-height:1.8;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 28px;border:1px solid var(--ink);font-size:14px;transition:background .2s,color .2s}.button.light{border-color:#ffffff90;color:white}.button.light:hover{background:white;color:var(--ink)}.hero-caption{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.section{padding:115px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:7%;padding-top:130px;padding-bottom:130px}.intro>.eyebrow{padding-top:12px}h2{font-size:clamp(40px,4.4vw,67px);line-height:1.12;letter-spacing:-1.2px;margin:0 0 30px}.body-copy{max-width:670px;font-size:17px;line-height:1.9;color:var(--muted);margin:0 0 20px}.services{background:#f2f4f1}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:50px}.section-head h2{margin:0}.services .section-head{display:block}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.service-grid article{border-top:1px solid #adb8ae;padding-top:25px}.number{font-size:13px;color:#687969}h3{font-family:'GFS Didot',Georgia,serif;font-size:33px;font-weight:400;line-height:1.2;margin:48px 0 20px}.service-grid p{color:var(--muted);line-height:1.8;margin:0}.project-desc{max-width:350px;line-height:1.8;color:var(--muted);font-size:15px}.image-button{border:0;padding:0;background:transparent;text-align:left;color:var(--ink);position:relative;display:block;overflow:hidden}.image-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.image-button:hover img{transform:scale(1.025)}.image-button>span{position:absolute;bottom:20px;left:22px;background:#ffffffed;padding:10px 16px;font-size:13px}.wide{width:100%;aspect-ratio:1.93}.project-note{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px;padding:20px 0 70px}.project-note span:last-child{letter-spacing:0;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery>.image-button{aspect-ratio:1.4}.gallery>.offset{margin-top:75px}.gallery>.court{margin-top:-40px}.gallery-quote{align-self:center;padding:35px}.gallery-quote p{font-size:clamp(35px,3.3vw,52px);line-height:1.2;margin:0 0 30px}.gallery-quote span{font-size:11px;letter-spacing:2px}.closing{background:var(--ink);color:white;padding:100px 7%;text-align:center}.closing h2{font-size:clamp(48px,5.5vw,83px)}.closing>p:not(.eyebrow){color:#d2dcd6;line-height:1.8;margin:0 0 30px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:55px 5%}footer p,footer small{font-size:12px;color:var(--muted)}dialog{border:0;background:#10211ef5;color:white;width:100vw;max-width:100vw;height:100svh;max-height:100svh;margin:0;padding:60px 6% 20px}dialog::backdrop{background:#10211e}dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}dialog img{max-width:100%;max-height:calc(100svh - 160px);object-fit:contain}.close{position:absolute;right:25px;top:10px;font-size:40px;background:none;border:0;color:white}.viewer-bottom{display:flex;align-items:center;gap:40px;margin-top:15px}.viewer-bottom button{background:none;color:white;border:1px solid #ffffff70;font-size:26px;width:48px;height:44px}body:has(dialog[open]){overflow:hidden}@media(min-width:1700px){.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}@media(max-width:800px){header{height:90px;padding:0 6%;gap:15px}.brand{font-size:18px;letter-spacing:2.5px}.brand span{font-size:9px;letter-spacing:1.8px}nav{display:none}.hero{margin:0 10px;height:calc(90svh - 90px);min-height:600px}.hero-copy{bottom:90px;left:7%;right:7%}h1{font-size:clamp(45px,8vw,66px);letter-spacing:-1px}.hero-bottom{display:block}.hero-bottom p{font-size:14px;margin-bottom:25px}.hero-caption{font-size:9px;letter-spacing:1px;left:7%;right:7%;gap:20px}.eyebrow{font-size:11px;letter-spacing:2px}.section{padding:75px 7%}.intro{grid-template-columns:1fr;gap:10px}.body-copy{font-size:16px}.service-grid{grid-template-columns:1fr;gap:35px}h3{margin-top:22px}.section-head{display:block;margin-bottom:30px}.project-desc{margin-top:25px}.wide{aspect-ratio:1.25}.project-note{display:block;line-height:2;padding-bottom:35px}.project-note span{display:block}.gallery{gap:20px;grid-template-columns:1fr}.gallery>.offset,.gallery>.court{margin-top:0}.gallery-quote{padding:20px 0 0}.closing{padding:75px 7%}footer{align-items:start;flex-direction:column;padding:40px 7%;gap:15px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.more-projects{border-top:1px solid var(--line)}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.more-grid .image-button{aspect-ratio:3/4}.more-grid .image-button:first-child{grid-column:span 2;aspect-ratio:auto}.more-grid .image-button:nth-child(3){grid-column:span 2;aspect-ratio:1.8}.more-grid .image-button:nth-child(4){aspect-ratio:auto}.more-grid .image-button:last-child{grid-column:span 2;aspect-ratio:1.8}@media(max-width:800px){.more-grid{grid-template-columns:1fr 1fr;gap:15px}.more-grid .image-button{grid-column:auto!important;aspect-ratio:3/4!important}.more-grid .image-button:first-child,.more-grid .image-button:nth-child(3){grid-column:span 2!important;aspect-ratio:1.5!important}}
.closing .contact-email{margin-top:22px;font-size:16px}.contact-email a:hover{text-decoration:underline}
/* White Curves: white surfaces, Aegean blue and flowing section edges. */
:root{--ink:#103b71;--paper:#fff;--muted:#526b85;--line:#d2e2f4;--blue:#0b4eb6;--pale:#edf6ff}
.brand{color:var(--blue)}.langs button{color:#617c99}button:focus-visible,a:focus-visible{outline-color:#21a5e5}
.hero{margin:0;overflow:hidden}.shade{background:linear-gradient(180deg,rgba(4,35,78,.02) 10%,rgba(4,35,78,.12) 30%,rgba(4,35,78,.78) 100%)}.hero-copy{bottom:160px}.hero-caption{bottom:110px}
.wave-divider{position:absolute;bottom:-1px;left:0;width:100%;height:95px;pointer-events:none;display:block}.wave-back{fill:#a6d8ff}.wave-front{fill:white}
.button{border-radius:50px;padding-left:32px;padding-right:32px}.hero .button.light{background:white;color:var(--blue);border-color:white}.hero .button.light:hover{background:#dceeff}
.intro>.eyebrow,.section-head .eyebrow{color:var(--blue)}.intro{position:relative}.intro:after{content:'';position:absolute;left:7%;bottom:50px;width:100px;height:24px;border-bottom:3px solid #54b4ed;border-radius:0 0 60% 60%;transform:rotate(-6deg)}
.services{position:relative;background:var(--pale);padding-top:155px;padding-bottom:145px}.services>.wave-divider{top:-1px;bottom:auto;transform:rotate(180deg);height:60px}.services .wave-back{fill:#d0e9ff}.service-grid article{border-color:#9fc4ed}.number{color:var(--blue)}
.image-button{border-radius:4px 55px 4px 55px}.wide{border-radius:70px 5px 70px 5px}.image-button>span{border-radius:30px;color:var(--ink)}.gallery-quote p{color:var(--blue)}
.closing{position:relative;background:var(--blue);padding-top:160px;padding-bottom:110px;overflow:hidden}.closing>.wave-divider{top:-1px;bottom:auto;transform:rotate(180deg);height:80px}.closing .wave-back{fill:#5ca6ef}.closing .wave-front{fill:#fff}.closing>p:not(.eyebrow){color:#e3f0ff}.closing .button.light{background:white;color:var(--blue);border-color:white}.closing .button.light:hover{background:#e3f0ff}.closing:after{content:'';position:absolute;right:-10%;bottom:-110px;width:65%;height:200px;border:1px solid #ffffff35;border-radius:50%;pointer-events:none;transform:rotate(-9deg)}
dialog{background:#072c60f7}dialog::backdrop{background:#072c60}.viewer-bottom button{border-radius:50%}footer{background:white}
@media(max-width:800px){.hero{margin:0;min-height:660px}.hero-copy{bottom:140px}.hero-caption{bottom:90px}.wave-divider{height:65px}.services{padding-top:115px;padding-bottom:90px}.wide{border-radius:35px 4px 35px 4px}.image-button{border-radius:4px 30px 4px 30px}.closing{padding-top:125px;padding-bottom:85px}.intro:after{bottom:25px}}

/* Open white contact section above overlapping sea-blue waves. */
.closing{background:#fff;color:var(--ink);padding:90px 7% 285px;isolation:isolate}.closing-copy{position:relative;z-index:1}.closing h2{color:var(--blue)}.closing .eyebrow{color:var(--blue)}.closing .closing-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:0 0 30px}.closing .button.light{background:white;color:var(--blue);border:1px solid #0b4eb6}.closing .button.light:hover{background:#edf6ff}.closing .closing-copy>.contact-email{color:var(--blue);margin-top:22px}.closing:after{display:none}.closing-sea{position:absolute;bottom:-1px;left:0;width:100%;height:260px;pointer-events:none;z-index:0}footer{border-top:0;padding-top:45px}
@media(max-width:800px){.closing{padding:65px 7% 200px}.closing-sea{height:175px}.closing h2{font-size:clamp(42px,8vw,65px)}}

/* Supplied sculptural wave texture frames the contact copy. */
.closing{padding:140px 7% 155px;min-height:700px;background:#e9f4fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.sculptural-sea{position:absolute;inset:0;z-index:-2;background-image:url('images/flowing-waves.jpg');background-size:cover;background-position:center 52%;transform:scale(1.02)}.closing:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 47%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 26%,rgba(255,255,255,.65) 47%,rgba(255,255,255,.12) 76%)}.closing-copy{width:100%;max-width:950px}.closing h2{color:#0b4eb6}.closing .closing-copy>p:not(.eyebrow){color:#244e79}.closing .button.light{background:#ffffffd9}.closing .button.light:hover{background:white}.closing .closing-copy>.contact-email{color:#0b4eb6}.services{background:#f0f7fd}.intro:after{border-color:#80b9df}.wave-back{fill:#bfdef2}
@media(min-width:1000px){.sculptural-sea{background-size:55% auto;background-repeat:repeat-x}}@media(max-width:800px){.closing{padding:100px 7%;min-height:620px}.sculptural-sea{background-size:cover;background-position:50% 50%}.closing:before{background:radial-gradient(ellipse at 50% 47%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.65) 63%,rgba(255,255,255,.16) 100%)}}
/* A quiet, continuous wave texture across the reading surfaces. */
body{background:#fff;isolation:isolate}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('images/flowing-waves.jpg') center center / cover no-repeat;opacity:.13}
header{background:rgba(255,255,255,.92)}.intro,.project{background:rgba(255,255,255,.60)}.services{background:rgba(233,245,255,.70)}footer{background:rgba(255,255,255,.84)}.more-projects{border-color:#cbdff1}.services .wave-front,.hero .wave-front{fill:#f7fbff}.services .wave-back,.hero .wave-back{fill:#d9ebf8}
.closing{background:rgba(242,249,255,.55)}.sculptural-sea{opacity:.35}.closing:before{background:radial-gradient(ellipse at center,rgba(255,255,255,.93) 0%,rgba(255,255,255,.82) 35%,rgba(255,255,255,.42) 72%,rgba(255,255,255,.16) 100%)}
@media(max-width:800px){body:before{background-size:auto 100vh;opacity:.11}.intro,.project{background:rgba(255,255,255,.66)}}

/* Original supplied waves remain the continuous, subtle page backdrop. */
body:before{background-image:url('images/flowing-waves.jpg');opacity:.18}.intro,.project{background:rgba(255,255,255,.52)}.services{background:rgba(233,245,255,.62)}.hero>img{object-position:center 50%}.hero .shade{background:linear-gradient(180deg,rgba(5,36,76,0) 25%,rgba(5,36,76,.16) 48%,rgba(5,36,76,.79) 100%)}
@media(max-width:800px){body:before{opacity:.15}.hero>img{object-position:58% center}}

/* Softer lettering and gentle image transitions. */
h1,h2,h3,.gallery-quote p{font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:-.045em;line-height:1.2}h2{font-size:clamp(36px,4vw,60px)}h3{font-size:29px;letter-spacing:-.035em}.hero{background:white}.hero>.wave-divider{display:none}.hero>img{mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%)}.hero .shade{background:linear-gradient(to bottom,transparent 10%,rgba(5,36,76,.42) 45%,rgba(5,36,76,.56) 68%,transparent 100%)}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,white);pointer-events:none}.hero-copy{bottom:210px;z-index:1}.hero-caption{bottom:90px;color:var(--ink);z-index:1}.intro{background:linear-gradient(white,rgba(255,255,255,.55) 140px)}
.services{isolation:isolate;background:#f8fbff;overflow:hidden}.horizontal-waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.20;pointer-events:none}.services>.wave-divider{display:none}.services:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(white,transparent 18%,transparent 82%,white);pointer-events:none}
#project .gallery>.image-button:first-child:after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.23);pointer-events:none}#project .gallery>.image-button:first-child>span{z-index:1}
@media(max-width:800px){.hero{min-height:760px}.hero-copy{bottom:210px}.hero-caption{bottom:70px}h1{font-size:clamp(42px,7.5vw,60px)}h2{font-size:clamp(34px,6vw,46px)}.closing h2{font-size:clamp(38px,7vw,60px)}.services{padding-top:85px}}
/* A consistent, very light white veil across the Isterni portfolio. */
#project .image-button:after,#project .gallery>.image-button:first-child:after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);pointer-events:none}
#project .image-button>span{z-index:1}

/* Supplied primary logo, option C: Nunito. */
.brand-logo{display:block;flex-shrink:0;width:310px;max-width:42%;line-height:0;letter-spacing:0}.brand-logo img{display:block;width:100%;height:auto}footer .brand-logo{width:340px;max-width:100%}
@media(max-width:1000px) and (min-width:801px){header nav{gap:20px;font-size:13px}.brand-logo{width:270px}}
@media(max-width:800px){header .brand-logo{width:300px;max-width:calc(100% - 90px)}footer .brand-logo{width:320px;max-width:100%}}
