/* Blue sea and warm sand. */
:root{--paper:#f6efe3;--ink:#174e64;--muted:#526e7a;--accent:#347e99;--line:#cad7d6;--orange:#1b637e;--soft:#dcebf0;--sand:#ead5b7}
::selection{background:#b9dfe9;color:#153d50}.site-header{border-color:#c5d4d8}.button.solid{background:var(--ink);border-color:var(--ink)}.button.solid:hover{background:#28738b;border-color:#28738b}.nav .button{color:var(--ink);border-color:#9ab7c1}.nav .button:hover{background:var(--ink);border-color:var(--ink)}.text-link{border-bottom-color:#9ab7c1}.text-link:hover{color:#247692;border-bottom-color:#247692}
.hero-stage{background:#2c809b}.hero-shade{background:linear-gradient(90deg,#123c57bf 0%,#123c575e 57%,#123c5714 100%),linear-gradient(180deg,#082c4b66,transparent 65%)}.hero-stage:after{background:linear-gradient(to bottom,#f6efe300,#f6efe366 40%,var(--paper) 91%)}.hero-foot{color:#234f62}.hero-foot>a{border-color:#7298a766;background:#f6efe370}.hero-foot>a:hover{background:var(--ink);color:#fff8ee}.hero-actions .button.solid{color:var(--ink)}
.about-band{background:linear-gradient(140deg,#e3eff2,#d0e6ee 62%,#eee6d7)}.about-story h2 em,.cv-link-card h2 em{color:#2e7893}.about-story .about-text,.about-portrait figcaption{color:#4c6d7b}.about-text strong{color:#174e64}.about-portrait img{box-shadow:0 22px 45px #234e621f}.skill-item:before{background:linear-gradient(90deg,#cce8f17d,transparent)}.skill-output{color:#3c7489}.cv-link-card{background:linear-gradient(110deg,#dcecf1,#efe1cb);border-color:#b6cbd0}.lab{border-color:var(--line)}
.project-action{color:#24576b;border-color:#a5bbc3;background:#fffbf570}.project-card:hover .project-action,.project-next:hover .project-action{background:var(--ink);border-color:var(--ink)}.project-page{background:linear-gradient(180deg,#e4f0f4,var(--paper) 800px)}.project-artizaho{--accent:#977048;--project-tint:#eee0ca}.project-optedif{--accent:#3d7a92;--project-tint:#d8eaf0}.project-page .page-intro .role{color:#577b8b}.back-link{border-color:#a9c4ce}.back-link:hover{background:var(--ink)}.project-lead p{color:#526c76}.project-section{border-color:var(--line)}.project-section h2{color:#235f79}.project-artizaho .project-section h2{color:#89653e}.media-story video{background:#dbe9ed}.catalog-images{background:#e0ecf0}.project-takeaway{background:linear-gradient(115deg,#daeaf0,var(--project-tint));border-color:#bdcfd4}.project-takeaway .eyebrow{color:#5c7e89}.project-takeaway p:not(.eyebrow){color:#4c6c7a}
.contact,.site-footer.coast-footer{background:#183f54}.contact h2 em,.contact .eyebrow{color:#e3c8a1}.contact p{color:#dce9ec}.contact .button{border-color:#dce9ec;color:#fff8ec}.contact .button:hover{color:#183f54;background:#fff8ec}.site-footer.coast-footer{color:#e4edf0}.contact-detail svg{color:#e2c49c}.contact-label{color:#b0cbd7}.footer-contact,.footer-bottom{border-color:#d1e1e433}.return-top{border-color:#b8cdd866}.coast-footer .return-top:hover{color:#183f54}.coast-footer .contact-detail:hover{color:#edd3ad}
.brand-nature{width:240px;height:102px}.brand-nature img{width:240px;height:80px;object-fit:contain}.brand-nature:hover img{transform:translateY(-2px)}.keep-name{white-space:nowrap}.project-page .page-intro .artizaho-title{font-size:clamp(1.75rem,5.8vw,5.7rem);white-space:nowrap;max-width:none;letter-spacing:-.035em}.podcast-scope{margin-top:22px}
.media-figure{margin:0;min-width:0}.preview-trigger{position:relative;display:block;width:100%;border:0;padding:0;background:#e3edf0;border-radius:10px;overflow:hidden;text-align:inherit;color:var(--ink);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.media-figure .preview-trigger img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none;opacity:1;margin:0}.preview-hint{position:absolute;bottom:12px;right:12px;border-radius:100px;background:#fffaf0ed;color:#194b63;padding:6px 13px;font-size:.75rem;border:1px solid #ced9dc;box-shadow:0 3px 12px #153e4c10;pointer-events:none}.media-figure figcaption{font-size:.875rem;line-height:1.65;color:var(--muted);margin-top:17px}.media-figure figcaption strong{display:block;font-weight:600;color:var(--ink);margin-bottom:5px}.media-figure figcaption span{display:block}.lab-strip{align-items:start;grid-template-columns:1fr 1fr 1fr;gap:28px}.lab-strip .preview-trigger{aspect-ratio:1.13;background:#e3edf0}.lab-strip .preview-trigger img{width:100%;height:100%;max-height:none;object-fit:contain}.lab-wide{gap:40px;margin-top:42px}.lab-wide .preview-trigger img{max-height:none}.gallery-five{align-items:start;gap:20px}.gallery-two{align-items:start;row-gap:38px}.catalog-images{display:grid;grid-template-columns:1fr 1fr;align-items:start;padding:25px;gap:22px}.catalog-images .preview-trigger{background:transparent}.catalog-images .preview-trigger img{width:100%;height:auto;box-shadow:none;transform:none}.infographic-gallery .preview-trigger{background:transparent}.infographic-gallery .preview-trigger img{max-height:560px;object-fit:contain;object-position:top}.banner-figure{margin:0 0 58px}.banner-figure .preview-trigger{height:420px;border-radius:18px 120px 18px 18px;box-shadow:0 20px 40px #234e6212}.banner-figure .preview-trigger img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.project-optedif .banner-figure .preview-trigger{border-radius:120px 18px 18px 18px}.banner-figure figcaption{max-width:750px}.banner-figure figcaption strong{display:none}
body.preview-open{overflow:hidden}.image-preview{padding:0;border:1px solid #c5d6dd;border-radius:22px;background:#f8f3ea;color:var(--ink);width:min(1120px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);box-shadow:0 25px 110px #081f4480}.image-preview::backdrop{background:#092d45d9;backdrop-filter:blur(7px)}.preview-shell{padding:22px 26px 24px}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.preview-header h2{font-size:1.8rem;line-height:1.2;letter-spacing:-.025em}.preview-controls{display:flex;gap:10px;flex-shrink:0}.preview-close,.preview-zoom{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;border:1px solid #afc6ce;border-radius:100px;padding:8px 16px;background:transparent;color:var(--ink);font-size:.875rem;white-space:nowrap}.preview-close{background:var(--ink);color:#fff8ee;border-color:var(--ink)}.preview-close span{font-size:1.2rem}.preview-image-wrap{background:#dce8ec;border-radius:10px;overflow:auto;max-height:calc(100dvh - 240px);min-height:100px;text-align:center;overscroll-behavior:contain}.image-preview .preview-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 240px);margin:auto;object-fit:contain}.image-preview .preview-image[hidden]{display:none}.image-preview.is-zoomed .preview-image{max-height:none;max-width:none;width:auto;height:auto;margin:0 auto}.preview-error{padding:45px 20px}.image-preview #preview-caption{font-size:.9375rem;line-height:1.65;margin-top:18px;max-width:900px}.preview-zoom:hover{background:#d8e9ee}.preview-close:hover{background:#2e6d87}
@media(hover:hover) and (pointer:fine){.preview-trigger:hover{transform:translateY(-4px);box-shadow:0 14px 28px #244c601c}.preview-trigger:hover .preview-hint{background:#174e64;color:#fff8ee;border-color:#174e64}.preview-close,.preview-zoom{cursor:url('assets/paw-cursor.svg') 16 13,pointer}}
@media(max-width:1100px){.brand-nature{width:220px}.brand-nature img{width:220px;height:74px}.banner-figure .preview-trigger{height:360px}.gallery-five{gap:14px}.preview-header h2{font-size:1.6rem}}
@media(max-width:900px){.brand-nature{width:210px;height:84px}.brand-nature img{width:210px;height:70px}.lab-strip{grid-template-columns:1fr 1fr}.lab-strip>.media-figure:last-child{grid-column:1/-1;max-width:600px}.gallery-five{grid-template-columns:repeat(3,1fr)}.infographic-gallery{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:700px){.brand-nature{width:195px;height:80px}.brand-nature img{width:195px;height:65px}.lab-strip{grid-template-columns:1fr;gap:32px}.lab-strip>.media-figure:last-child{grid-column:auto;max-width:none}.lab-strip .preview-trigger{aspect-ratio:auto}.lab-strip .preview-trigger img{height:auto;max-height:450px}.lab-wide{gap:32px;margin-top:32px}.gallery-five{display:flex;gap:18px}.gallery-five>.media-figure{flex:0 0 76%;scroll-snap-align:start}.gallery-five .preview-trigger img{width:100%;height:auto}.media-figure figcaption{font-size:.875rem}.catalog-images{padding:18px;gap:16px}.banner-figure{margin-bottom:34px}.banner-figure .preview-trigger{height:270px;border-radius:12px 65px 12px 12px}.project-optedif .banner-figure .preview-trigger{border-radius:65px 12px 12px 12px}.image-preview{width:calc(100vw - 22px);max-height:calc(100dvh - 24px);border-radius:16px}.preview-shell{padding:17px 14px}.preview-header{display:block;margin-bottom:15px}.preview-header h2{font-size:1.65rem;margin-bottom:15px}.preview-controls{justify-content:flex-end}.preview-image-wrap,.image-preview .preview-image{max-height:calc(100dvh - 290px)}.image-preview #preview-caption{font-size:.875rem;line-height:1.6}.preview-hint{font-size:.75rem;padding:5px 10px}.catalog-images{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.brand-nature{width:172px}.brand-nature img{width:172px;height:58px}.catalog-images{grid-template-columns:1fr}.infographic-gallery{grid-template-columns:1fr}.image-preview #preview-caption{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.preview-trigger:hover,.brand-nature:hover img{transform:none}}
.hero-film{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;pointer-events:none}.hero-stage .hero-film{animation:none;transform:none}.hero-stage .hero-shade{background:linear-gradient(90deg,#123c57c2 0%,#123c5769 52%,#123c5724 100%),linear-gradient(180deg,#082c4b6e,transparent 65%)}
@media(max-width:700px){.hero-stage .hero-shade{background:linear-gradient(90deg,#123c57ba,#123c5790),linear-gradient(180deg,#082c4b66,transparent 65%)}.hero-film{object-position:52% center}}
.media-figure figcaption strong{font-family:var(--serif);font-size:1.35rem;font-weight:500;line-height:1.3;margin-bottom:7px}

/* The original beach returns as a continuous coastal opening. */
.hero-stage .hero-photo{animation:none;transform:none}.hero-water{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.hero-water.is-ready{opacity:1}

/* A symbol-only signature, consistent on every page. */
.brand-nature{width:94px;height:100px}.brand-nature img{width:86px;height:86px;object-fit:contain}.home .brand-nature img{filter:brightness(0) invert(1) sepia(.12);width:86px;height:86px}.home .brand-nature{background:none;width:94px;height:100px;justify-content:flex-start}.brand-nature:hover img{transform:rotate(-4deg)}
/* One landscape continues beneath the opening and the project introduction. */
.coastal-opening{position:relative;isolation:isolate;background:var(--paper)}
.coastal-opening .hero-scenery{height:calc(var(--hero-height,850px) + 390px);bottom:auto;background:#318e9b;z-index:-1}
.coastal-opening .hero-photo{animation:none;transform:none;will-change:auto;object-position:53% center}
.coastal-opening .hero-water{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.coastal-opening .hero-water.is-ready{opacity:1}
.coastal-opening .hero-scenery:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 43%,#f6efe308 52%,#f6efe329 60%,#f6efe385 72%,#f6efe3d9 86%,var(--paper) 100%)}
.coastal-opening .hero-shade{background:linear-gradient(90deg,#0b354dc9 0%,#0b354d80 48%,#0b354d15 100%);mask-image:linear-gradient(#000 30%,#000d 48%,transparent 79%);-webkit-mask-image:linear-gradient(#000 30%,#000d 48%,transparent 79%)}
.coastal-opening .hero-stage{background:transparent;isolation:auto;overflow:visible}
.coastal-opening .hero-stage:after{display:none}
.coastal-opening .hero-creative{padding-bottom:60px}.coastal-opening .hero-copy{max-width:500px;text-shadow:0 1px 12px #0d405a33}
.coastal-opening .hero-foot{color:#163f53;text-shadow:0 1px 12px #f6efe3b3;border-top:1px solid #174e6430;padding-top:24px;padding-bottom:32px}.coastal-opening .hero-foot>a{color:#174e64;border-color:#fff9eec9;background:#fff9eee6;backdrop-filter:blur(8px)}.coastal-opening .hero-foot>a:hover{background:#174e64;color:#fff9ee}
.home .coastal-opening #realisations{padding-top:95px;padding-bottom:105px;position:relative}.coastal-opening #realisations .section-head{margin-bottom:55px}.coastal-opening #realisations .section-head>p{color:#32596a}.coastal-opening #realisations h2 em{color:#23617c}
/* Distinct section signatures: portfolio, portrait, compass and explorations. */
.section-marker{display:flex;align-items:center;gap:15px;margin:0 0 25px;font-family:var(--serif);font-size:1.75rem;line-height:1.2;letter-spacing:-.01em;font-weight:500;text-transform:none;color:var(--ink)}
.marker-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;color:currentColor}.marker-icon svg{width:23px;height:23px}
.marker-projects .marker-icon{border-radius:13px;background:#174e64;color:#fff7e8;box-shadow:0 6px 20px #174e6417}
.marker-about .marker-icon{border:1px solid #3d6e8166;border-radius:50%;background:#f3e3ca}.marker-about{color:#285e75}
.about-band{margin:0;background:linear-gradient(125deg,#e9ded0,#e7eff0 58%,#d3e8ed);border-radius:0 110px 0 110px}.about-story h2{margin-top:0}
.skills-section{background:#174e64;color:#fff7e8;margin-top:72px;position:relative;border-radius:90px 90px 0 0;padding:95px 0 100px;--line:#d2e6ea3b;--accent:#e8c997;--muted:#daeaed}
.skills-section .section-marker{color:#f5dfbc;max-width:480px}.marker-skills .marker-icon{border:1px solid #e8c9978c;border-radius:50%;color:#f5dfbc}.skills-section h2 em{color:#e8c997}.skills-section .section-head>p{color:#daeaed;font-size:1rem}.skills-section .skill-grid{column-gap:65px;row-gap:12px}.skills-section .skill-item{grid-template-columns:1fr;gap:12px;padding:28px 0 30px}.skills-section .skill-item:before{display:none}.skills-section .skill-item h3{color:#fff7e8}.skills-section .skill-item p{color:#daeaed}.skills-section .skill-output{color:#e8c997}.skill-word{width:fit-content;padding:3px 11px;border:1px solid #bdd3db70;border-radius:99px;color:#daeaed;font-size:.875rem;line-height:1.6}.skills-section .skill-item:hover{transform:translateY(-3px);border-color:#e8c997}
.cv-link-section{padding-top:65px}.lab{border-top:0;padding-top:75px;padding-bottom:100px}.lab .section-head{border-top:1px solid #b9cbd1;padding-top:50px}.marker-lab .marker-icon{background:#e9d6b7;border:1px solid #c8b392;border-radius:12px 3px 12px 3px;color:#526b73}.lab .section-marker{color:#59717a}.lab .preview-trigger{border:1px solid #b5cbd0}.lab .media-figure figcaption{max-width:95%}
@media(min-width:701px) and (max-width:1000px){.nav{gap:18px;font-size:.8125rem}.nav .button{padding-inline:15px}.brand-nature{width:80px}.coastal-opening .hero-scenery{height:calc(var(--hero-height,850px) + 360px)}}
@media(max-width:700px){.brand-nature{width:76px;height:80px}.brand-nature img{width:72px;height:72px}.home .brand-nature{width:76px;height:80px}.home .brand-nature img{width:72px;height:72px}.coastal-opening .hero-photo{object-position:63% center}.coastal-opening .hero-scenery{height:calc(var(--hero-height,820px) + 435px)}.coastal-opening .hero-shade{background:linear-gradient(90deg,#0b354dd4,#0b354d69);mask-image:linear-gradient(#000 35%,#000e 50%,transparent 80%);-webkit-mask-image:linear-gradient(#000 35%,#000e 50%,transparent 80%)}.coastal-opening .hero-creative{padding-bottom:46px}.coastal-opening .hero-foot{padding-top:18px;padding-bottom:25px}.home .coastal-opening #realisations{padding-top:70px;padding-bottom:75px}.coastal-opening #realisations .section-head{margin-bottom:36px}.section-marker{font-size:1.5rem;gap:12px;margin-bottom:24px}.marker-icon{flex-basis:40px;width:40px;height:40px}.marker-icon svg{width:22px;height:22px}.about-band{border-radius:0 60px 0 60px}.skills-section{margin-top:55px;padding:65px 0;border-radius:55px 55px 0 0}.skills-section .skill-grid{grid-template-columns:1fr;row-gap:2px}.skills-section .section-marker{max-width:285px}.skills-section .skill-item{padding:25px 0}.cv-link-section{padding-top:40px}.lab{padding-top:50px;padding-bottom:70px}.lab .section-head{padding-top:35px}}
@media(prefers-reduced-motion:reduce){.skills-section .skill-item:hover,.brand-nature:hover img{transform:none}}
@media(min-width:701px) and (max-width:960px){.site-header,.home .site-header{height:88px}.brand-nature{height:84px}.menu-button{display:block;border:1px solid var(--line);border-radius:100px;background:transparent;padding:8px 17px;color:var(--ink);font-size:.875rem}.home .menu-button{border-color:#fff8ee80;color:#fff8ee}.nav,.home .nav{display:none;position:absolute;top:87px;left:0;right:0;background:var(--paper);color:var(--ink);padding:25px;border:1px solid var(--line);border-radius:18px;z-index:8;align-items:stretch;font-size:.875rem;gap:16px}.nav.open{display:flex;flex-direction:column}.nav .button{align-self:flex-start}.home .nav a{color:var(--ink)}.home .nav .button{border-color:var(--ink);color:var(--ink)}}

/* Separate the sections while preserving the continuous beach. */
.coastal-opening #realisations::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,#174e645c 16%,#174e6480 50%,#174e645c 84%,transparent);
  pointer-events:none;
}
/* Only the background diffuses on hover; all copy stays sharp. */
.skills-section .skill-item{isolation:isolate}
.skills-section .skill-item::after{
  content:'';position:absolute;inset:10px -12px 4px;z-index:-1;
  border-radius:24px;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse at 12% 24%,#9dd9e72e,transparent 65%),radial-gradient(ellipse at 88% 85%,#e8c99724,transparent 65%),#ffffff05;
  filter:blur(12px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:opacity .5s var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .skills-section .skill-item:hover::after{opacity:1}
}
.skills-section .skill-item:focus-within::after{opacity:1}
@media(prefers-reduced-motion:reduce){
  .skills-section .skill-item::after{transition:none}
}

/* Optédif editorial illustrations are inline images, without a preview control. */
.static-illustration{margin:0;min-width:0}
.static-illustration img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px}
.catalog-images .static-illustration img{border-radius:14px;box-shadow:none;transform:none}
.optedif-editorial{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,70px);align-items:center}
.optedif-editorial h2{font-size:clamp(1.9rem,3.1vw,2.65rem);line-height:1.2}
.optedif-editorial .text-link{margin-top:22px}
.optedif-editorial .static-illustration{width:100%;max-width:520px;justify-self:center}
.project-optedif .infographics-section>h2{text-align:center}
@media(max-width:800px){.optedif-editorial{grid-template-columns:1fr;gap:30px}.optedif-editorial .static-illustration{max-width:480px}.optedif-editorial h2{font-size:clamp(1.85rem,5.5vw,2.4rem)}}
