:root{--bg: #efece4;--bg-2: #dfd9c8;--ink: #1f2820;--ink-soft: #4d5b50;--rule: #c2bba4;--accent: #2a5d3a;--accent-deep: #143524;--warm: #c75c4a;--paper-tint: #e7e2cf;--serif: "Cormorant Garamond", "EB Garamond", Georgia, serif;--sans: "Work Sans", system-ui, sans-serif;--mono: "DM Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{transition:background .6s ease,color .6s ease}a{color:inherit;text-decoration:none}.paper-grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.5;mix-blend-mode:multiply;background-image:radial-gradient(circle at 20% 30%,rgba(0,0,0,.025) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.02) 0,transparent 50%)}.topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;border-bottom:1px solid var(--rule)}.brand-mark{display:flex;align-items:center;gap:4px;font-family:var(--serif);font-style:normal;font-weight:500;font-size:22px;letter-spacing:-.005em;line-height:1}.brand-mark .colophon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mark .colophon svg{display:block;width:100%;height:100%}.brand-mark .wordmark{display:inline-block;transform:translateY(1px)}.topbar nav{display:flex;gap:36px;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.topbar nav a:hover{color:var(--ink)}.topbar .meta{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft)}.hero{position:relative;z-index:2;padding:80px 48px 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end;border-bottom:1px solid var(--rule)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8.4vw,132px);line-height:.92;letter-spacing:-.015em;margin:0 0 32px;color:var(--ink)}.hero h1 em{font-style:italic;color:var(--accent)}.hero .lede{font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--ink-soft);max-width:46ch;margin:0 0 36px;font-weight:400}.hero .ctas{display:flex;gap:16px;align-items:center}.btn{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:16px 28px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;transition:background .2s ease,color .2s ease}.btn:hover{background:var(--accent);border-color:var(--accent)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.btn{display:inline-block;text-align:center}.btn.small{font-size:11px;letter-spacing:.18em;padding:11px 20px;display:inline-block}.menu-wrap{position:relative}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 4px;background:transparent;border:none;cursor:pointer}.hamburger span{display:block;height:1px;background:var(--ink);transition:background .2s ease}.hamburger:hover span{background:var(--accent)}.menu-close{display:none}.menu-panel{position:absolute;top:calc(100% + 12px);right:0;min-width:230px;background:var(--bg);border:1px solid var(--rule);padding:6px;z-index:20;box-shadow:0 12px 32px #1f282014}.menu-nav{display:none}.menu-panel a{display:block;padding:14px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);transition:background .18s ease,color .18s ease}.menu-panel a:hover{background:var(--ink);color:var(--bg)}.tide-stage{position:relative;height:520px;background:var(--bg-2);overflow:hidden;border:1px solid var(--rule)}.tide-stage .marker{position:absolute;left:0;right:0;transform:translateY(-50%);pointer-events:none;z-index:4;display:flex;align-items:center;gap:0}.tide-stage .marker-label{flex:0 0 auto;padding:2px 10px 2px 12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-soft);background:transparent;transition:color .4s ease,background .4s ease}.tide-stage .marker-rule{flex:1 1 auto;height:1px;background:var(--ink);opacity:.18;transition:background .4s ease,opacity .4s ease}.tide-stage .marker.submerged .marker-label{color:#efece466;background:transparent}.tide-stage .marker.submerged .marker-rule{background:#efece42e;opacity:1}.tide-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tide-readout{position:absolute;top:20px;right:20px;text-align:right;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-soft);z-index:5;transition:color .4s ease}.tide-readout.submerged{color:#efece4b3}.tide-readout .readout-static{color:var(--ink-soft)}.tide-readout .num{font-family:var(--serif);font-size:56px;color:var(--ink);line-height:1;margin-top:8px;font-feature-settings:"tnum" 1;transition:color .4s ease}.tide-readout.submerged .num{color:var(--bg)}.tide-readout .num em{font-style:italic;color:var(--accent);transition:color .4s ease}.tide-readout.submerged .num em{color:var(--warm)}.tide-readout .label-line{margin-top:8px;font-weight:500;color:var(--ink);transition:color .4s ease}.tide-readout.submerged .label-line{color:#efece4f2}.tide-caption{position:absolute;left:24px;bottom:18px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);z-index:3}.tide-instruction{position:absolute;left:50%;top:22px;transform:translate(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);opacity:.7;z-index:3}.section{padding:96px 48px;position:relative;z-index:2;border-bottom:1px solid var(--rule)}.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,84px);line-height:1;letter-spacing:-.012em;margin:0 0 24px;max-width:18ch}.section h2 em{font-style:italic;color:var(--accent)}.section .section-lede{font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink-soft);max-width:56ch;margin:0 0 64px}.products{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.product{display:grid;grid-template-columns:60px 1.4fr 1fr 1fr;gap:32px;padding:36px 0;border-bottom:1px solid var(--rule);align-items:start;transition:padding .25s ease,background .25s ease;position:relative}.product .num{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-soft);padding-top:14px}.product .name-block .it{font-family:var(--serif);font-size:44px;line-height:1;font-weight:400;color:var(--ink);letter-spacing:-.01em}.product .name-block .it em{font-style:italic;color:var(--accent)}.product .name-block .en{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.product .name-block .en .coming-soon{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--warm);border:1px solid var(--warm);padding:4px 8px 3px;line-height:1;white-space:nowrap}.product .desc{font-family:var(--serif);font-size:17px;line-height:1.45;color:var(--ink-soft);padding-top:8px}.product .pillars{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);padding-top:14px}.product .pillars span:before{content:"·";margin-right:8px;color:var(--accent)}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:48px}.two-up h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1;margin:0 0 16px}.two-up p{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink-soft);margin:0 0 16px}.photo{aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--rule);position:relative;overflow:hidden;display:flex;align-items:end;justify-content:space-between;padding:16px;color:var(--ink-soft)}.photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02)}.photo .tag,.photo .ref{position:relative;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:#efece4d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 8px;border:1px solid var(--rule);color:var(--ink-soft)}.photo.wide{aspect-ratio:16/10}.photo.tall{aspect-ratio:3/4}.manifesto{padding:120px 48px;background:var(--bg-2);border-bottom:1px solid var(--rule);position:relative;z-index:2}.manifesto blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(32px,4.6vw,64px);line-height:1.15;letter-spacing:-.005em;max-width:22ch;color:var(--ink);text-wrap:balance}.manifesto blockquote:before{content:"“";display:block;font-size:1.4em;line-height:.4;color:var(--accent);margin-bottom:24px}.manifesto .attribution{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:48px}footer{padding:80px 48px 40px;position:relative;z-index:2}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;align-items:start}footer h5{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 16px;font-weight:500}footer ul{list-style:none;padding:0;margin:0;font-family:var(--serif);font-size:17px;line-height:1.8}footer .lockup{font-family:var(--serif);font-size:56px;font-style:italic;line-height:1;margin-bottom:16px;display:flex;align-items:center;gap:4px}footer .footer-colophon{width:64px;height:64px;display:inline-flex;flex-shrink:0;color:var(--ink)}footer .footer-colophon svg{display:block;width:100%;height:100%}footer .colophon-line{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-soft);line-height:1.7;max-width:36ch}footer .baseline{margin-top:64px;padding-top:24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}@media(max-width:1100px){.hero{grid-template-columns:1fr}.product{grid-template-columns:40px 1fr 1fr}.product .pillars{display:none}.topbar nav{display:none}.two-up,.footer-grid{grid-template-columns:1fr}}@media(max-width:760px){.topbar{padding:16px 20px}.brand-mark{font-size:19px}.brand-mark .colophon{width:30px;height:30px}.hero{padding:44px 20px 40px;gap:40px}.hero h1{font-size:clamp(44px,13vw,68px);margin-bottom:24px}.hero .lede{font-size:19px;margin-bottom:28px}.hero .ctas{flex-direction:column;align-items:stretch;gap:12px}.btn{width:100%;padding:18px 24px}.tide-stage{height:380px}.tide-readout .num{font-size:42px}.section{padding:60px 20px}.section h2{font-size:clamp(34px,10vw,52px)}.section .section-lede{font-size:18px;margin-bottom:40px}.product{grid-template-columns:1fr;gap:14px;padding:28px 0}.product .num{padding-top:0}.product .name-block .it{font-size:34px}.product .desc,.product .pillars{padding-top:0}.manifesto{padding:72px 20px}.manifesto blockquote{max-width:none}.manifesto .attribution{margin-top:32px}.two-up{gap:36px;margin-top:36px}.two-up h3{font-size:27px}.two-up p{font-size:17px}footer{padding:56px 20px 32px}.footer-grid{gap:36px}footer .lockup{font-size:42px}footer .footer-colophon{width:52px;height:52px}footer .baseline{margin-top:40px;flex-direction:column;gap:8px}.menu-panel{position:fixed;right:0;bottom:0;left:0;top:0;min-width:0;border:none;box-shadow:none;padding:84px 20px 40px;display:flex;flex-direction:column;background:var(--bg);z-index:60}.menu-close{display:block;position:absolute;top:18px;right:16px;background:transparent;border:none;padding:8px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}.menu-nav{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--rule);padding-bottom:24px;margin-bottom:24px}.menu-panel .menu-nav a{font-family:var(--serif);font-size:34px;line-height:1.1;letter-spacing:-.01em;text-transform:none;padding:10px 0}.menu-panel .menu-nav a:hover{background:transparent;color:var(--accent)}.menu-panel .menu-login{margin-top:auto;text-align:center;background:var(--ink);color:var(--bg);padding:18px 20px}}
