:root{
  --paper:#F2EEE6;--ink:#161616;--muted:#68645E;--red:#A74235;--line:rgba(22,22,22,.16);
  --pad:clamp(22px,4vw,64px);--sans:"IBM Plex Sans",sans-serif;--serif:"Newsreader",serif;--mono:"IBM Plex Mono",monospace
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 var(--sans)}
a{color:inherit;text-decoration:none}em{font-family:var(--serif);font-weight:400}.header{height:72px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);z-index:20}
.brand{font:500 19px/1 var(--serif);letter-spacing:.03em}.nav{display:flex;gap:22px;font:500 12px/1 var(--mono);text-transform:uppercase}.nav a:hover,.direct a:hover,.text-link:hover{color:var(--red)}
.lang{position:relative;font:500 12px var(--mono)}.lang summary{cursor:pointer;list-style:none}.lang summary::-webkit-details-marker{display:none}.lang-menu{position:absolute;right:0;top:28px;width:230px;background:var(--ink);color:var(--paper);padding:18px;display:grid;gap:8px}.lang-menu small{border-top:1px solid rgba(255,255,255,.2);padding-top:12px;margin-top:6px;color:#c9c3b8}
.screen{min-height:calc(100svh - 72px);padding:clamp(54px,6vh,86px) var(--pad);display:grid;align-content:center;border-bottom:1px solid var(--line);overflow:hidden}
.eyebrow{font:500 11px/1.2 var(--mono);letter-spacing:.12em;margin-bottom:20px}.micro{font:12px/1.4 var(--mono);color:var(--muted)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;margin:0}h1{font-size:clamp(68px,10vw,154px);line-height:.82}h2{font-size:clamp(48px,6vw,92px);line-height:.92}.lead{font-size:clamp(20px,2vw,30px);line-height:1.2}.hero{grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);grid-template-rows:auto 1fr auto;gap:28px}.hero h1{font-size:clamp(58px,8vw,126px)}.hero .eyebrow{grid-column:1/-1}.hero-copy{align-self:end;max-width:540px}.hero-copy p:not(.lead){max-width:520px}.actions{display:flex;align-items:center;gap:22px;margin-top:34px}.button{background:var(--ink);color:var(--paper);padding:16px 20px;font-weight:600}.button:hover{background:var(--red)}.text-link{font-weight:600}.hero-micro{grid-column:1/-1;justify-self:end}
.section-head{display:grid;grid-template-columns:1.2fr .65fr;gap:40px;align-items:end;margin-bottom:32px}.section-head p{max-width:500px;margin:0;color:var(--muted);font-size:18px}.work{gap:20px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project{min-height:145px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;background:#e6e0d5;transition:transform .2s ease,background .2s ease}.project:hover{transform:translateY(-3px);background:#ded5c7}.project .num{font:12px var(--mono);align-self:start}.project h3{margin:0 0 4px;font:500 clamp(21px,2vw,32px) var(--serif)}.project p{margin:0;color:var(--muted)}.arrow{font-size:20px}.p2{background:#e9e4d9}.p3{background:#ded8cc}.p4{background:#ebe7df}.statement{font:400 clamp(22px,2.4vw,36px)/1.14 var(--serif);max-width:1150px;margin-top:10px}.statement em{color:var(--red)}
.what{grid-template-columns:.8fr 1.2fr;gap:56px;position:relative}.services{display:grid;align-content:center;gap:0;border-top:1px solid var(--line)}.services article{display:grid;grid-template-columns:42px 1fr 1.25fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}.services article>span{font:12px var(--mono)}.services h3{margin:0;font:500 21px/1.08 var(--serif)}.services p{margin:0;color:var(--muted)}.starting-points{grid-column:1/-1;margin:0;color:var(--muted);font-size:15px;max-width:1050px}.starting-points strong{color:var(--ink)}.tuna-note{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:12px}.tuna-note small{font:10px var(--mono);color:var(--muted)}
.process{background:var(--ink);color:var(--paper)}.process .eyebrow,.process .micro{color:#aaa49a}.section-head.inverted p{color:#bcb6ac}.process-chain{margin-top:14px!important;color:var(--paper)!important;font:500 11px/1.6 var(--mono)!important;letter-spacing:.04em}.flow{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2);margin:12px 0 20px}.flow article{min-height:112px;padding:16px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:32px 1fr;align-content:start;gap:5px 12px}.flow b{font:11px var(--mono);color:#aaa49a}.flow strong{font:500 12px var(--mono);letter-spacing:.05em}.flow span{grid-column:2;color:#d4cec4}.flow-public{grid-template-columns:repeat(5,1fr)}.flow-public article{min-height:190px;padding:20px}.flow-public strong{font-size:13px}.flow-public span{font-size:15px;line-height:1.42}.production-map{margin:2px 0 22px;border-bottom:1px solid rgba(255,255,255,.2)}.production-map summary{cursor:pointer;width:max-content;max-width:100%;padding:10px 0 16px;font:500 11px/1.4 var(--mono);letter-spacing:.06em;color:#d4cec4}.production-map summary:hover{color:var(--paper)}.production-map .flow{margin-top:0;margin-bottom:18px}
.pricing{grid-template-columns:1fr 1fr;gap:46px 70px}.price .value{margin-top:36px;max-width:610px;font-size:19px}.scope{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-content:center;border-top:1px solid var(--line)}.scope>div{padding-top:20px}.scope h3{font:500 11px var(--mono);letter-spacing:.1em}.scope p{font-size:18px;line-height:1.6}.scope-faq{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.scope-faq details{border-bottom:1px solid var(--line);padding-right:32px}.scope-faq details:nth-child(odd){border-right:1px solid var(--line)}.scope-faq details:nth-child(even){padding-left:32px}.scope-faq summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font:500 18px/1.25 var(--serif);position:relative}.scope-faq summary::-webkit-details-marker{display:none}.scope-faq summary::after{content:'+';position:absolute;right:4px;color:var(--red)}.scope-faq details[open] summary::after{content:'–'}.scope-faq p{margin:0 0 20px;color:var(--muted)}.red{color:var(--red)}
.call{background:var(--paper);grid-template-columns:.85fr 1fr;grid-template-rows:1fr auto;gap:60px}.call-copy p{font-size:19px}.direct{display:grid;gap:7px;margin-top:28px;font-weight:600}.contact-form{align-self:center;display:grid;gap:18px}.contact-form label{display:grid;gap:7px;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:10px 0;font:18px var(--sans);outline:none;resize:vertical;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--red)}.form-hint{color:var(--muted);font:12px/1.45 var(--sans);letter-spacing:0;text-transform:none;max-width:680px}.contact-form button{justify-self:start;border:0;background:var(--ink);color:var(--paper);padding:16px 20px;font:600 15px var(--sans);cursor:pointer}.contact-form button:hover{background:var(--red)}.hp{position:absolute!important;left:-9999px!important}#form-status{min-height:1.4em;margin:0;color:var(--muted)}
footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:28px;align-items:start}footer>div:first-child{display:grid;gap:5px}footer>div:first-child strong{font-family:var(--serif)}footer>div:first-child span,.travel{color:var(--muted)}.footer-langs{display:flex;flex-wrap:wrap;gap:8px 16px;font:12px var(--mono)}footer .micro{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}
@media(max-width:900px){.header{grid-template-columns:1fr auto}.nav{display:none}.screen{min-height:auto;padding-top:64px;padding-bottom:64px}.hero,.what,.pricing,.call,.section-head{grid-template-columns:1fr}.hero{min-height:calc(100svh - 72px)}.hero-copy{max-width:650px}.hero-micro{justify-self:start}.projects{grid-template-columns:1fr}.project{min-height:118px}.what{gap:34px}.services article{grid-template-columns:36px 1fr}.services article p{grid-column:2}.tuna-note{grid-template-columns:auto 1fr}.tuna-note small{grid-column:2}.flow,.flow-public{grid-template-columns:1fr}.flow article{min-height:86px}.scope{margin-top:8px}.call{gap:40px}.contact-form{margin-bottom:20px}footer{grid-template-columns:1fr}.footer-langs{margin-top:8px}footer .micro{grid-column:1}.lang-menu{right:0}}
@media(max-width:520px){h1{font-size:clamp(58px,20vw,94px)}.hero h1{font-size:clamp(48px,15vw,72px)}h2{font-size:clamp(44px,15vw,70px)}.header{padding:0 18px}.screen{padding-left:18px;padding-right:18px}.actions{align-items:flex-start;flex-direction:column}.project{padding:16px}.scope{grid-template-columns:1fr}.scope-faq{grid-template-columns:1fr}.scope-faq details,.scope-faq details:nth-child(even){padding-left:0;padding-right:0;border-right:0}.tuna-note{align-items:start}}
/* Selected work uses real, optimized captures of the shipped sites. */
.project{grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:start}
.project>.num{grid-row:1/3}
.project>div:not(.project-preview){grid-column:2;align-self:end}
.project>.arrow{grid-column:3;grid-row:1/3;align-self:start}
.project-preview{grid-column:2;aspect-ratio:8/5;margin:0;border:1px solid rgba(22,22,22,.16);overflow:hidden;background:#d8d2c7}
.project-preview img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;transition:transform .35s ease}
.project-preview-logo{background:#fff}
.project-preview-logo img{box-sizing:border-box;object-fit:contain;object-position:center;padding:4%}
.project:hover .project-preview img{transform:scale(1.015)}
@media(max-width:900px){.project{grid-template-columns:auto 1fr auto}}

.case-back{font:500 12px/1 var(--mono);text-transform:uppercase}
.case-main{padding:0 var(--pad)}
.case-hero{min-height:78svh;display:grid;align-content:end;grid-template-columns:1.3fr .7fr;gap:28px;padding:80px 0;border-bottom:1px solid var(--line)}
.case-hero .eyebrow{grid-column:1/-1}.case-hero h1{font-size:clamp(76px,12vw,170px);line-height:.82}.case-headline{font:400 clamp(24px,2.6vw,40px)/1.1 var(--serif);max-width:680px;align-self:end}.case-hero .button{justify-self:start;align-self:end}
.case-grid{display:grid;grid-template-columns:1fr 1fr}.case-grid article{min-height:300px;padding:54px 8vw 54px 0;border-bottom:1px solid var(--line)}.case-grid article:nth-child(odd){border-right:1px solid var(--line)}.case-grid article:nth-child(even){padding-left:8vw}.case-grid p{font:400 clamp(21px,2.2vw,32px)/1.25 var(--serif);margin:0}
.case-structure,.case-work{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px 0;border-bottom:1px solid var(--line);align-items:start}.case-structure>p{font-size:22px;max-width:650px;margin:0}.case-work ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.case-work li{padding:12px 0;border-bottom:1px solid var(--line);font:500 14px var(--mono);text-transform:uppercase;letter-spacing:.04em}
.case-result{padding:110px 0}.case-result h2{max-width:1200px}.case-actions{display:flex;gap:24px;align-items:center;margin-top:40px}
.case-footer{padding:26px var(--pad);display:grid;grid-template-columns:auto 1fr auto;gap:24px;border-top:1px solid var(--line);align-items:center}.case-footer strong{font-family:var(--serif)}.case-footer span:nth-child(2){color:var(--muted)}
@media(max-width:900px){.case-back{display:none}.case-hero{grid-template-columns:1fr;min-height:auto;padding:72px 0}.case-hero .eyebrow{grid-column:1}.case-grid{grid-template-columns:1fr}.case-grid article,.case-grid article:nth-child(even){min-height:auto;padding:44px 0;border-right:0}.case-structure,.case-work{grid-template-columns:1fr;gap:34px;padding:64px 0}.case-result{padding:72px 0}.case-footer{grid-template-columns:1fr}}

.legal-main{max-width:900px;margin:0 auto;padding:100px var(--pad)}.legal-main h1{font:400 clamp(60px,9vw,130px)/.86 var(--serif);letter-spacing:-.045em;margin:0 0 60px}.legal-main h2{font:500 28px/1.1 var(--serif);margin:48px 0 12px}.legal-main p{font-size:18px;max-width:760px}.legal-main a{text-decoration:underline;text-underline-offset:3px}
.not-found{min-height:100svh;padding:var(--pad);display:grid;align-content:center;justify-items:start;gap:22px}.not-found h1{font-size:clamp(86px,16vw,220px)}.not-found p{font:400 clamp(22px,3vw,42px)/1.05 var(--serif);margin:0}

.tuna-engraving{width:clamp(180px,18vw,240px);height:auto;display:block}
.not-found-fish{width:min(760px,82vw);height:auto;display:block}
@media(max-width:900px){.tuna-engraving{width:180px}.not-found-fish{width:min(620px,92vw)}}

.consent-banner{position:fixed;z-index:50;left:20px;right:20px;bottom:20px;max-width:720px;margin:auto;background:var(--ink);color:var(--paper);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.consent-banner>div:first-child{display:grid;gap:3px}.consent-banner strong{font:500 15px var(--serif)}.consent-banner span{font-size:12px;color:#c9c3b8}
.consent-actions{display:flex;gap:8px;flex-shrink:0}.consent-actions button{border:1px solid rgba(255,255,255,.28);background:transparent;color:var(--paper);padding:9px 11px;font:500 11px var(--mono);cursor:pointer}.consent-actions button:last-child{background:var(--paper);color:var(--ink)}
@media(max-width:620px){.consent-banner{left:10px;right:10px;bottom:10px;display:grid}.consent-actions{justify-content:stretch}.consent-actions button{flex:1}}

/* Commercial service pages */
.service-page{max-width:1180px;margin:0 auto;padding:clamp(34px,6vw,82px) var(--pad) 70px}
.service-breadcrumb{margin:0 0 46px;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.service-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.service-hero{padding-bottom:clamp(58px,8vw,104px);border-bottom:1px solid var(--line)}
.service-hero h1{max-width:1050px;font-size:clamp(54px,8vw,116px);line-height:.9}
.service-hero .lead{max-width:820px;margin:30px 0 0}
.service-hero .service-intro{max-width:720px;margin:22px 0 0;color:var(--muted);font-size:18px}
.service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px}
.service-section{padding:clamp(56px,7vw,92px) 0;border-bottom:1px solid var(--line)}
.service-section:last-of-type{border-bottom:0}
.service-section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);gap:44px;align-items:end;margin-bottom:34px}
.service-section h2{font-size:clamp(42px,5vw,74px);line-height:.96}
.service-section-head>p{max-width:560px;margin:0;color:var(--muted);font-size:18px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{min-height:240px;padding:26px;border:1px solid var(--line);background:#e9e4d9}
.service-card h3{margin:0 0 12px;font:500 27px/1.08 var(--serif)}
.service-card p{margin:0;color:var(--muted)}
.service-card .eyebrow{color:var(--red)}
.service-steps{counter-reset:service-step;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-step{counter-increment:service-step;min-height:205px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-step::before{content:counter(service-step,decimal-leading-zero);display:block;margin-bottom:35px;font:500 11px var(--mono);color:var(--red)}
.service-step h3{margin:0 0 10px;font:500 25px/1.05 var(--serif)}
.service-step p{margin:0;color:var(--muted)}
.service-proof{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-proof article{padding:30px;border:1px solid var(--line)}
.service-proof h3{margin:0 0 10px;font:500 29px/1.05 var(--serif)}
.service-proof p{color:var(--muted)}
.service-proof a{font-weight:600}
.service-note{max-width:820px;padding:24px 0 0;font:400 clamp(21px,2.6vw,34px)/1.2 var(--serif)}
.service-faq{border-top:1px solid var(--line)}
.service-faq details{border-bottom:1px solid var(--line)}
.service-faq summary{position:relative;padding:22px 48px 22px 0;cursor:pointer;list-style:none;font:500 23px/1.2 var(--serif)}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary::after{content:'+';position:absolute;right:6px;top:19px;font:400 24px var(--sans);color:var(--red)}
.service-faq details[open] summary::after{content:'–'}
.service-faq div{max-width:760px;padding:0 0 24px;color:var(--muted)}
.service-related{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font:500 13px var(--mono);text-transform:uppercase}
.service-cta{margin-top:clamp(56px,7vw,96px);padding:clamp(38px,6vw,70px);background:var(--ink);color:var(--paper)}
.service-cta h2{max-width:850px;font-size:clamp(46px,6vw,82px)}
.service-cta p{max-width:700px;color:#c9c3b8;font-size:18px}
.service-cta .button{background:var(--paper);color:var(--ink)}
.service-cta .button:hover{background:var(--red);color:var(--paper)}
.service-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.service-footer nav{display:flex;flex-wrap:wrap;gap:12px 20px}
.service-footer a:hover,.service-breadcrumb a:hover,.service-related a:hover,.service-proof a:hover{color:var(--red)}
@media(max-width:900px){.service-page{padding-top:32px}.service-section-head{grid-template-columns:1fr;gap:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.service-page{padding-inline:18px}.service-breadcrumb{margin-bottom:32px}.service-hero h1{font-size:clamp(46px,14vw,68px)}.service-actions{align-items:stretch;flex-direction:column}.service-actions .button{text-align:center}.service-steps,.service-proof{grid-template-columns:1fr}.service-step{min-height:0}.service-step::before{margin-bottom:22px}.service-cta{padding:34px 24px}}
