:root{--blue:#002FA7;--ivory:#f8f5ee;--navy:#071329;--black:#000;--rule:#c9c7c1;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--black);font-family:'DM Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--blue);color:var(--ivory)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--blue);outline-offset:8px}p{font-size:16px;line-height:1.75;margin:0 0 22px}img{max-width:100%;display:block}figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.04em;text-wrap:balance}h2{font-size:clamp(40px,5.7vw,88px);line-height:1.04;margin:0 0 40px}em{font-style:normal;color:var(--blue)}.site-header{padding:22px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.wordmark{display:flex;align-items:center;gap:14px;font-size:19px;font-weight:600;letter-spacing:.06em;line-height:1.05}.header-shield{width:42px;height:54px;object-fit:contain}.wordmark-sub{display:block;font-size:11px;letter-spacing:.25em;margin-top:7px}.header-identifier{font-size:12px;letter-spacing:.12em}.hero{padding:65px 4% 55px;position:relative;display:grid;grid-template-columns:1.55fr 1fr;gap:35px;min-height:680px}.hero-left{display:flex;align-items:center}.hero h1{font-size:clamp(60px,8.6vw,132px);line-height:.99;margin:0 0 36px;position:relative;z-index:1;font-weight:500}.hero h1 em{display:block}.hero-description{max-width:520px;font-size:18px}.explore-link{display:inline-flex;align-items:center;gap:40px;padding:16px 0;border-bottom:1px solid var(--blue);color:var(--blue);font-size:14px}.explore-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .5s var(--ease)}.explore-link:hover svg{transform:translate(4px,4px)}.hero-art{align-self:stretch;display:flex;align-items:center;justify-content:center;position:relative;padding:65px 0 0}.hero-fish-alone{width:85%;height:400px;object-fit:contain;animation:flight 1.3s var(--ease) both}.art-label{position:absolute;top:15px;right:0;font-size:13px;line-height:1.5;text-align:right;color:var(--blue)}@keyframes flight{from{clip-path:inset(0 100% 0 0);transform:translateY(16px)}to{clip-path:inset(0);transform:translateY(0)}}.intro{padding:110px 4% 70px;background:var(--blue);color:var(--ivory)}.intro-content{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.intro h2 em{color:inherit;opacity:.76}.intro-bottom{padding-top:8px}.intro-bottom p{font-size:16px;max-width:68ch}.capability-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:70px;border-top:1px solid #ffffff70;padding-top:25px}.capability-index{font-size:12px;color:var(--ivory)}.capability-title{font-size:26px;margin:20px 0 14px;letter-spacing:-.025em}.capability-text{font-size:14px;max-width:36ch}.portfolio{padding:110px 4% 75px;background:var(--ivory)}.portfolio-header{display:flex;justify-content:space-between}.portfolio h2{font-size:clamp(48px,7vw,100px)}.portfolio-preface{max-width:620px;margin-left:auto;margin-bottom:85px}.portfolio-feature{display:grid;grid-template-columns:1fr 1.25fr;column-gap:9%;row-gap:30px;border-top:1px solid var(--rule);padding:50px 0 65px;align-items:start}.feature-head{grid-column:1}.portfolio-category{font-size:12px;color:var(--blue);display:block;margin-bottom:16px}.feature-head h3{font-size:clamp(40px,5.5vw,84px);line-height:1.02;margin:0}.portfolio-photo{grid-column:2;grid-row:1 / span 2}.portfolio-photo img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;transition:clip-path .7s var(--ease),filter .7s var(--ease);clip-path:inset(0);filter:saturate(.88)}.portfolio-feature:hover .portfolio-photo img{clip-path:inset(1.2%);filter:saturate(1.1)}figcaption{display:flex;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:.08em;line-height:1.4;padding-top:12px}figcaption span:last-child{text-align:right}.feature-body{grid-column:1;align-self:end;padding-bottom:24px}.feature-body p{max-width:46ch}.feature-signature{font-size:10px;color:var(--blue);line-height:1.7}.feature-reverse .feature-head,.feature-reverse .feature-body{grid-column:2}.feature-reverse .portfolio-photo{grid-column:1}.fieldwork{background:var(--navy);color:var(--ivory);padding:75px 4% 95px}.editorial-wide-photo img{width:100%;height:480px;object-fit:cover}.fieldwork-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;margin-top:75px}.fieldwork h2 em{color:inherit}.fieldwork-lead>p{max-width:44ch}.fieldwork-panels article{padding:24px 0;border-top:1px solid #ffffff60}.fieldwork-panels article>span{font-size:11px}.fieldwork-panels h3{font-size:28px;line-height:1.2;margin:16px 0}.fieldwork-panels p{font-size:14px;max-width:55ch}.international{padding:75px 4% 70px}.international-meta{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding:20px 0 35px;font-size:11px;letter-spacing:.05em}.international-photo img{width:100%;height:440px;object-fit:cover}.international-body{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;margin-top:60px}.international h2{font-size:clamp(40px,5vw,78px)}.international-footer{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding-top:22px;font-size:10px}.house{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--blue);color:var(--ivory);padding:100px 4%;gap:12%}.house-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.house-shield-feature{width:220px;height:300px;object-fit:contain;filter:none}.house-mark>span{font-size:18px;letter-spacing:.08em}.house-mark small{font-size:11px;letter-spacing:.12em}.house h2{font-size:clamp(40px,5vw,74px)}.house h2 em{color:inherit}.house-copy p{max-width:65ch}.house-latin{display:block;margin-top:35px;padding-top:20px;border-top:1px solid #ffffff70;font-size:10px;line-height:1.7}.closing-statement{padding:120px 4% 100px}.closing-statement h2{font-size:clamp(48px,7.3vw,110px);max-width:1000px;margin-bottom:50px}.closing-statement>p{max-width:620px;margin-left:auto;font-size:18px}.closing-latin{margin-top:85px;font-size:12px;letter-spacing:.12em;color:var(--blue)}footer{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:30px 4%;border-top:1px solid var(--rule);font-size:9px;letter-spacing:.04em}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:24px;height:32px;object-fit:contain}footer>a{font-size:12px;color:var(--blue);padding:12px 0;border-bottom:1px solid var(--blue)}
@media(min-width:1700px){main,header,footer{max-width:1800px;margin:auto}}
@media(max-width:1000px){.hero{grid-template-columns:1.5fr 1fr;min-height:600px}.hero h1{font-size:9vw}.hero-fish-alone{height:300px}.intro-content{gap:5%}.portfolio-feature{column-gap:6%}.house{gap:6%}.house-shield-feature{width:180px}.international-meta span{max-width:40%;text-align:right}footer>span:nth-of-type(1){display:none}}
@media(max-width:650px){.site-header{padding:18px 6%}.wordmark{font-size:16px}.header-shield{width:34px;height:44px}.header-identifier{font-size:9px}.hero{padding:55px 6% 45px;grid-template-columns:1fr;gap:15px;min-height:0}.hero h1{font-size:clamp(52px,12vw,78px)}.hero-description{font-size:16px}.hero-art{min-height:250px;padding:20px 0}.hero-fish-alone{width:62%;height:240px}.art-label{font-size:10px;top:20px;right:0}.intro,.portfolio,.fieldwork,.international,.house,.closing-statement{padding:65px 6%}.intro-content,.fieldwork-grid,.international-body,.house{grid-template-columns:1fr;gap:26px}.intro h2{font-size:46px}.capability-strip{grid-template-columns:1fr;margin-top:25px;gap:12px}.capability-item{border-bottom:1px solid #ffffff60;padding-bottom:15px}.capability-title{margin:12px 0;font-size:25px}.capability-text{max-width:100%}.portfolio h2{font-size:52px}.portfolio-preface{margin-bottom:40px}.portfolio-feature{grid-template-columns:1fr;gap:25px;padding:32px 0 44px}.feature-head,.feature-body,.portfolio-photo,.feature-reverse .feature-head,.feature-reverse .feature-body,.feature-reverse .portfolio-photo{grid-column:1;grid-row:auto}.feature-head{order:0}.portfolio-photo{order:1}.feature-body{order:2;padding:0}.feature-head h3{font-size:48px}.portfolio-photo img{aspect-ratio:1.25}.feature-body p{max-width:100%}.editorial-wide-photo img,.international-photo img{height:260px}.fieldwork-grid{margin-top:45px}.fieldwork h2,.international h2,.house h2{font-size:46px}.international-meta{font-size:9px}.international-meta span{display:none}.international-body{margin-top:35px}.international-footer{flex-wrap:wrap;gap:20px}.house-mark{padding-bottom:25px}.house-shield-feature{height:210px;width:160px}.house-mark>span{font-size:14px}.house-copy p{font-size:15px}.closing-statement h2{font-size:51px}.closing-statement>p{font-size:16px}.closing-latin{margin-top:50px;font-size:10px}footer{padding:25px 6%;flex-wrap:wrap;gap:22px}footer>span:last-of-type{order:3;width:100%}footer>a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

figcaption,.feature-signature,.international-footer,.house-latin,.closing-latin,.art-label,.header-identifier,footer{font-size:11px} .house-mark{background:var(--ivory);color:var(--blue);padding:35px 15px}

/* Closing shield: blue fish on white field, retaining the approved silhouette. */
.house-mark{background:transparent;color:#fff}.house-shield-feature{filter:url(#shield-reverse)}

/* Drawings retain their complete composition rather than photographic cropping. */
.portfolio-photo img,.editorial-wide-photo img,.international-photo img{object-fit:contain;filter:none;background:var(--ivory)}
.portfolio-feature:hover .portfolio-photo img{filter:none;clip-path:inset(0)}

/* White technical linework sits directly on the navy section. */
.editorial-wide-photo img{background:transparent;object-fit:contain}

.casa{padding:100px 4%;background:var(--ivory)}.casa-introduction{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:start}.casa-introduction h2{font-size:clamp(44px,6vw,88px)}.casa-introduction p,.fish-story p{max-width:62ch}.fish-story{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;padding-top:45px;border-top:1px solid var(--rule);margin-top:35px}.fish-story h3{font-size:36px;margin:0}.flag-display{display:grid;grid-template-columns:1.1fr 1fr;gap:65px 9%;align-items:center;margin-top:60px}.flag-display img{width:100%;height:auto;object-fit:contain}.flag-display figcaption{font-size:12px;margin-top:16px;color:var(--blue)}.flag-main{grid-row:1 / span 2}.flag-burgee{max-width:430px}.flag-long{width:100%}.closing-statement{border-top:1px solid var(--rule)}@media(max-width:650px){.casa{padding:65px 6%}.casa-introduction,.fish-story,.flag-display{grid-template-columns:1fr;gap:25px}.casa-introduction h2{font-size:48px}.fish-story h3{font-size:32px}.flag-display{gap:40px;margin-top:40px}.flag-main{grid-row:auto}.flag-burgee{width:85%}}
/* Finite maritime motion; source artwork remains the accessible fallback. */
.hero-fish-alone{animation:none;transform-origin:55% 55%}.flag-display figure{position:relative}.header-shield,.house-shield-feature{transform-origin:center}
@media(prefers-reduced-motion:reduce){.flag-display img{opacity:1!important}}

.casa .fish-story{margin-top:0;padding-top:0;border-top:0}.fish-story h2{font-size:clamp(40px,5vw,72px);margin:0}

/* Final approved header identity. */
.site-header{min-height:0;padding:22px 4%;border-bottom:0}.header-main-logo{display:block;width:300px;height:auto}@media(max-width:650px){.site-header{min-height:0;padding:18px 6%}.header-main-logo{width:245px}}

/* Audit refinements: readable small print, clear mobile spacing and keyboard access. */
.site-header{gap:24px}.header-identifier{flex:none}
.skip-link{position:absolute;top:12px;left:4%;z-index:20;padding:12px 18px;background:var(--blue);color:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:none;outline:2px solid var(--black);outline-offset:3px}
figcaption,.feature-signature,.international-footer,.house-latin,.closing-latin,.art-label,.header-identifier,.international-meta,footer{font-size:12px}
footer>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:650px){.hero-art{flex-direction:column;align-items:center;justify-content:flex-start;gap:16px}.art-label{position:static;align-self:flex-end;margin:0}.hero-fish-alone{flex:none}.header-identifier{font-size:11px}}
@media(max-width:360px){.header-identifier{display:none}}

/* Business titles are the sole onward links within each portfolio entry. */
.portfolio-title-link{color:inherit;transition:color .2s ease}
.portfolio-title-link:hover,.portfolio-title-link:focus-visible{color:var(--blue)}

/* Match the new sailor ink to the established muted blue illustrations. */
.portfolio-feature .portfolio-photo img[src*="drawing-sparky"]{filter:url(#drawing-ink-match);background:transparent}
.flag-display img{transform-origin:0 50%;will-change:auto}
