@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=Instrument+Serif:ital@0;1&display=swap');

:root{font-family:'DM Sans',sans-serif;color:#28392c;background:#f3f3eb;font-synthesis:none;--ink:#28392c;--muted:#697264;--accent:#708468;--ease:cubic-bezier(.22,1,.36,1);--dock-bottom:54px;--header-space:106px;--footer-space:158px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #617958;outline-offset:5px}::selection{background:#d6dfca}button{color:inherit}.svg-definitions{position:absolute;width:0;height:0;pointer-events:none}.site-shell{height:100svh;height:100dvh;position:relative;isolation:isolate;overflow:hidden;min-height:0}.ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 25%,#fbfaf5 0%,#f3f3eb 55%,#e5eadc 100%)}.ambient-light{position:absolute;width:85%;height:70%;right:-30%;bottom:-35%;background:#b6c7a1;filter:blur(110px);opacity:.28;animation:light-drift 22s ease-in-out infinite alternate}.streams{position:absolute;width:100%;height:100%;inset:0;opacity:.55;transform-origin:65% 80%;animation:stream-drift 25s ease-in-out infinite alternate}.streams path{fill:none;stroke:#8c9b7b;stroke-width:.65;vector-effect:non-scaling-stroke}.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.site-header{position:absolute;top:0;left:0;right:0;height:var(--header-space);padding:0 4.1%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:550;letter-spacing:-.6px}.mark{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.brand-suffix{font-size:10px;letter-spacing:0;margin-left:3px;font-weight:400;color:var(--muted)}.header-note{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.025em;color:#626d5c}.status-dot{width:5px;height:5px;display:inline-block;flex-shrink:0;border-radius:50%;background:#758866;box-shadow:0 0 0 3px #7588660a}.view{position:absolute;top:var(--header-space);bottom:var(--footer-space);left:0;right:0;display:flex;align-items:center;justify-content:center;padding:20px 7%;outline:none}.view[hidden]{display:none}.view.is-entering{animation:view-enter .7s var(--ease) both}.view.is-leaving{animation:view-leave .25s ease both;pointer-events:none}.home-composition{text-align:center;transform:translateY(-2%)}.hero-mark-wrap{margin:0 auto 30px;width:68px;height:68px;display:grid;place-items:center}.hero-mark{width:68px;height:68px;stroke-width:2.9;color:#4f6548;animation:mark-enter 1.5s var(--ease) both}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.21em;font-weight:500;color:#707a67;margin:0 0 24px}.hero-eyebrow{font-size:9px;letter-spacing:.24em;animation:reveal 1s .12s both}h1{font-size:clamp(78px,10.7vw,164px);line-height:1.08;font-weight:450;letter-spacing:-.078em;margin:0;padding-right:.05em;animation:reveal 1.2s .2s both}.wordmark-period{color:#7b8d68}.hero-tagline{font-size:clamp(20px,2.25vw,31px);letter-spacing:-.055em;margin:19px 0 0;font-weight:400;animation:reveal 1.2s .3s both}em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.15em}.hero-rule{height:28px;width:1px;background:#939e854f;margin:28px auto 21px;animation:reveal 1s .45s both}.hero-description{color:var(--muted);font-size:12px;letter-spacing:.025em;margin:0;animation:reveal 1s .5s both}.page-annotation{position:absolute;bottom:6px;left:4.1%;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.02em;color:#79836f}.annotation-line{width:24px;height:1px;background:#8c997774}.dock-wrap{position:absolute;bottom:calc(var(--dock-bottom) + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:5;animation:dock-enter 1.1s .35s var(--ease) both}.glass-dock{position:relative;display:grid;grid-template-columns:repeat(3,112px);gap:3px;padding:7px;border-radius:28px;box-shadow:0 8px 24px #3f503812,0 2px 5px #3f503809,inset 0 1px 1px #ffffffa8;isolation:isolate}.glass-surface{position:absolute;inset:0;border-radius:inherit;z-index:-2;background:linear-gradient(155deg,#ffffffe0,#ffffff42 43%,#eff2e86b 65%,#ffffff91);border:1px solid #ffffffad;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 1px 1px 0 #ffffffa6,inset -1px -1px 0 #83917a20}.has-svg-glass .glass-surface{backdrop-filter:url(#liquid-glass) blur(2px) saturate(1.2)}.glass-surface:after{content:'';position:absolute;inset:2px;border-radius:inherit;border:1px solid #ffffff30;pointer-events:none}.nav-link{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;height:44px;border-radius:22px;font-size:12px;font-weight:500;color:#6b7464;transition:color .3s,background .3s}.nav-link:hover{color:var(--ink);background:#ffffff30}.nav-link.is-active{color:#344b32}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.nav-link .icon{width:16px;height:16px}.nav-indicator{position:absolute;top:7px;left:7px;width:112px;height:44px;border-radius:22px;z-index:-1;background:linear-gradient(150deg,#e0e8d5db,#c5d1b87a);box-shadow:inset 0 1px 1px #fff9,0 1px 3px #46533b10;transform:translateX(calc(var(--active-index,0) * 115px));transition:transform .65s var(--ease)}.site-footer{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));left:4.1%;right:4.1%;display:flex;justify-content:space-between;align-items:center;color:#7a8371;font-size:10px;letter-spacing:.02em;pointer-events:none}.footer-location{display:flex;gap:11px;align-items:center}.footer-divider{color:#a6af9b}.time-label{font-size:8px;margin-left:-7px}h2{font-size:clamp(42px,4.8vw,68px);font-weight:400;line-height:1.08;letter-spacing:-.055em;margin:0}h2 em{font-size:1.1em}.section-heading>p:last-child{color:var(--muted);font-size:13px;margin-top:18px}.projects-content{width:min(850px,100%)}.project-preview{display:grid;grid-template-columns:1.12fr 1fr;margin-top:36px;min-height:238px;border-top:1px solid #84917933;padding-top:26px;gap:50px}.project-art{position:relative;overflow:hidden;display:grid;place-items:center;min-height:225px;background:radial-gradient(ellipse at 40% 30%,#e6ebdf,#d0d9c4);border-radius:3px}.project-mark{width:82px;height:82px;stroke-width:2;color:#728568;position:relative}.orbit{width:280px;height:130px;border:1px solid #84937540;border-radius:50%;position:absolute;transform:rotate(-33deg)}.orbit-two{width:340px;height:160px}.orbit-three{width:400px;height:190px}.art-caption{position:absolute;bottom:18px;left:20px;font-size:7px;letter-spacing:.19em;color:#728267}.project-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.small-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.08em;color:var(--muted)}h3{font-size:32px;line-height:1.15;letter-spacing:-.04em;font-weight:400;margin:18px 0 12px}.project-copy p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:11px;border-bottom:1px solid #78856b66;padding:0 0 6px;margin-top:23px}.text-link .icon{width:15px;height:15px;transition:transform .3s}.text-link:hover .icon{transform:translateX(4px)}.contact-content{width:min(950px,100%);display:grid;grid-template-columns:1fr 1.1fr;gap:85px}.contact-description{font-size:13px;line-height:1.8;color:var(--muted);margin:23px 0 37px}.company-details{font-size:11px;line-height:1.6;margin:0;max-width:290px}.company-details>div{display:grid;grid-template-columns:100px 1fr;margin-top:10px}.company-details dt{color:#7e8775}.company-details dd{margin:0}.contact-form{padding-top:11px;position:relative}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column}.field label{font-size:10px;margin-bottom:12px;color:#4d5e47}.field input,.field textarea{width:100%;padding:0 0 13px;border:0;border-bottom:1px solid #929d7e66;border-radius:0;background:transparent;color:var(--ink);font-size:12px;outline-offset:4px;transition:border-color .25s}.field input::placeholder,.field textarea::placeholder{color:#8a9381}.field input:focus,.field textarea:focus{border-color:#4d6944}.message-field{margin-top:33px}.field textarea{resize:none;min-height:120px;line-height:1.7}.form-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:23px;gap:12px}.form-bottom p{font-size:9px;color:#7c8770;max-width:120px;line-height:1.6}.send-button{border:1px solid #344a32;background:#344a32;color:#f1f3e9;display:flex;align-items:center;justify-content:center;gap:24px;border-radius:25px;padding:14px 20px;font-size:11px;transition:background .25s,transform .25s}.send-button:hover{background:#465f41;transform:translateY(-2px)}.send-button:active{transform:translateY(0)}.send-button .icon{width:15px;height:15px}.form-status{font-size:11px;line-height:1.6;color:#4b6441;margin:15px 0 0;max-width:390px}.view:focus-visible{outline:none}
@keyframes reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes mark-enter{from{opacity:0;transform:translateY(10px) rotate(-12deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes view-enter{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes view-leave{to{opacity:0;transform:translateY(-8px);filter:blur(2px)}}@keyframes dock-enter{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes stream-drift{from{transform:translateY(9px) scale(1.02)}to{transform:translateY(-12px) scale(1.07)}}@keyframes light-drift{to{transform:translate(-15%,-8%);opacity:.4}}
@media(min-width:1600px){.home-composition{transform:translateY(-1%)}.hero-mark-wrap{margin-bottom:36px}.hero-rule{margin-top:36px}}
@media(max-width:700px){:root{--header-space:83px;--footer-space:155px;--dock-bottom:55px}.site-header{padding:0 25px}.brand{font-size:14px;gap:8px}.brand .mark{width:28px;height:28px}.header-note{font-size:9px}.header-note span:last-child{max-width:85px;line-height:1.6;text-align:right}.header-note .status-dot{display:none}.view{padding:14px 27px}.hero-mark-wrap,.hero-mark{width:60px;height:60px}.hero-mark-wrap{margin-bottom:29px}.hero-eyebrow{font-size:7px;letter-spacing:.17em;margin-bottom:24px}h1{font-size:clamp(58px,14.3vw,100px);letter-spacing:-.08em}.hero-tagline{font-size:23px;margin-top:18px}.hero-description{font-size:10px}.hero-rule{margin:25px auto 20px}.page-annotation{display:none}.site-footer{left:25px;right:25px;bottom:calc(22px + env(safe-area-inset-bottom));font-size:8px}.footer-location{gap:7px}.time-label{font-size:7px;margin-left:-3px}.glass-dock{grid-template-columns:repeat(3,94px);padding:6px;gap:2px}.nav-link{height:43px;font-size:11px;gap:7px}.nav-indicator{width:94px;height:43px;top:6px;left:6px;transform:translateX(calc(var(--active-index,0) * 96px))}.contact-content{grid-template-columns:1fr;gap:26px;width:min(450px,100%)}h2{font-size:43px}.eyebrow{font-size:8px;margin-bottom:16px}.contact-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.contact-intro>.eyebrow{grid-column:1/-1}.contact-intro h2{align-self:center}.contact-description{display:none}.company-details{font-size:9px;align-self:center}.company-details>div{grid-template-columns:1fr;margin-top:5px}.company-details>div:first-child{display:none}.company-details dt{font-size:8px}.contact-form{padding-top:0}.form-row{gap:20px}.field label{font-size:9px;margin-bottom:10px}.field input,.field textarea{font-size:11px;padding-bottom:11px}.message-field{margin-top:24px}.field textarea{min-height:90px;height:90px}.form-bottom{margin-top:15px}.send-button{padding:12px 16px;font-size:10px;gap:18px}.form-status{font-size:10px;margin-top:10px}.projects-content{max-width:450px}.section-heading>p:last-child{font-size:11px}.project-preview{gap:23px;grid-template-columns:1fr 1fr;margin-top:26px;padding-top:23px;min-height:200px}.project-art{min-height:200px}.project-mark{width:65px;height:65px}.art-caption{font-size:5px;left:12px;bottom:13px}.project-copy h3{font-size:25px;margin:16px 0 10px}.project-copy p{font-size:10px}.small-label{font-size:8px}.text-link{font-size:9px;gap:7px;margin-top:20px}.text-link .icon{width:13px}}
@media(max-height:730px) and (min-width:701px){:root{--header-space:80px;--footer-space:126px;--dock-bottom:44px}.hero-mark-wrap,.hero-mark{width:48px;height:48px}.hero-mark-wrap{margin-bottom:18px}.hero-eyebrow{margin-bottom:15px}h1{font-size:clamp(76px,10vw,130px)}.hero-tagline{font-size:25px;margin-top:10px}.hero-rule{height:20px;margin:20px auto 15px}.project-preview{min-height:180px;margin-top:25px;padding-top:20px}.project-art{min-height:180px}h2{font-size:49px}.site-footer{bottom:22px}.contact-description{margin:17px 0 25px}}
@media(max-height:650px) and (max-width:700px){:root{--header-space:63px;--footer-space:112px;--dock-bottom:39px}.hero-mark-wrap,.hero-mark{width:42px;height:42px}.hero-mark-wrap{margin-bottom:17px}.hero-eyebrow{margin-bottom:13px}.hero-tagline{font-size:20px;margin-top:12px}.hero-rule{height:18px;margin:18px auto 13px}.site-footer{bottom:14px}.contact-content{gap:15px}.contact-intro>.eyebrow{margin-bottom:10px}.contact-intro h2{font-size:38px}.message-field{margin-top:15px}.field textarea{height:65px;min-height:65px}.form-bottom{margin-top:10px}.form-status{font-size:9px;line-height:1.4;margin-top:7px}.project-art{min-height:165px}.project-preview{min-height:165px;margin-top:17px;padding-top:15px}.project-copy h3{font-size:22px}.project-copy p{font-size:9px}.text-link{margin-top:15px}.section-heading h2{font-size:37px}}
@media(max-height:480px) and (min-width:600px){:root{--header-space:49px;--footer-space:83px;--dock-bottom:15px}.site-header{padding:0 25px}.brand{font-size:12px}.brand .mark{width:25px;height:25px}.header-note{font-size:9px}.view{padding:5px 9%}.hero-mark-wrap{display:none}.hero-eyebrow{font-size:7px;margin-bottom:12px}h1{font-size:72px}.hero-tagline{font-size:21px;margin-top:7px}.hero-rule{height:12px;margin:14px auto 11px}.hero-description{font-size:9px}.page-annotation{display:none}.site-footer{bottom:30px;font-size:8px;left:25px;right:25px}.footer-location{gap:5px}.time-label{display:none}.glass-dock{grid-template-columns:repeat(3,85px);padding:5px;gap:2px}.nav-link{height:35px;font-size:10px;gap:6px}.nav-indicator{width:85px;height:35px;left:5px;top:5px;transform:translateX(calc(var(--active-index,0) * 87px))}.nav-link .icon{width:13px;height:13px}.contact-content{grid-template-columns:1fr 1.25fr;gap:35px;width:900px}.contact-intro{display:block}.eyebrow{font-size:7px;margin-bottom:10px}h2{font-size:36px}.contact-description{font-size:10px;margin:12px 0 17px;display:block}.company-details{font-size:9px}.company-details>div{grid-template-columns:80px 1fr;margin-top:5px}.company-details>div:first-child{display:grid}.field label{font-size:8px;margin-bottom:8px}.field input,.field textarea{font-size:10px;padding-bottom:7px}.message-field{margin-top:16px}.field textarea{height:57px;min-height:57px}.form-bottom{margin-top:9px}.form-bottom p{font-size:8px}.send-button{padding:10px 15px;font-size:9px}.form-status{font-size:9px;margin-top:6px}.projects-content{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;max-width:900px;align-items:center}.section-heading h2{font-size:36px}.section-heading>p:last-child{font-size:10px;line-height:1.6}.project-preview{margin-top:0;padding-top:0;border:0;gap:20px;min-height:170px}.project-art{min-height:170px}.project-copy h3{font-size:23px}.project-copy p{font-size:9px}.small-label{font-size:7px}.text-link{font-size:8px;gap:7px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Project index: three destinations, always within one screen. */
.project-list { margin-top: 36px; border-top: 1px solid #84917933; }
.project-item { display: grid; grid-template-columns: 25px 46px 1fr auto 20px; align-items: center; gap: 22px; padding: 24px 10px 24px 0; border-bottom: 1px solid #84917933; transition: background .3s, padding .4s var(--ease); }
.project-item:hover { background: #e0e7d83d; padding-left: 10px; }
.project-number { font-size: 9px; color: #929a87; font-variant-numeric: tabular-nums; }
.project-symbol { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; font-size: 25px; letter-spacing: -.12em; font-weight: 500; }
.splatt-symbol { background: #e7e8dd; color: #68735b; padding-right: 4px; }
.questonia-symbol { background: #dee7d8; color: #617454; }
.arrival-symbol { background: #e0e7e5; color: #617772; }
.project-symbol svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.project-info { display: flex; flex-direction: column; gap: 7px; }
.project-name { font-size: 21px; letter-spacing: -.04em; }
.project-description { font-size: 11px; color: var(--muted); }
.project-domain { color: #7b8570; font-size: 10px; }
.project-arrow { width: 17px; height: 17px; transform: rotate(-45deg); color: #718165; transition: transform .4s var(--ease); }
.project-item:hover .project-arrow { transform: rotate(-45deg) translateX(4px); }
.registry-link { text-decoration: underline; text-decoration-color: #95a08666; text-underline-offset: 3px; }
.registry-link:hover { text-decoration-color: currentColor; }
@media (max-width: 700px) {
  .project-list { margin-top: 26px; }
  .project-item { grid-template-columns: 14px 36px 1fr 15px; gap: 12px; padding: 21px 0; }
  .project-item:hover { padding-left: 3px; }
  .project-symbol { width: 35px; height: 35px; border-radius: 10px; font-size: 22px; }
  .project-symbol svg { width: 23px; height: 23px; }
  .project-name { font-size: 19px; }
  .project-description { font-size: 9px; line-height: 1.5; }
  .project-number { font-size: 8px; }
  .project-domain { display: none; }
  .project-arrow { width: 15px; height: 15px; }
}
@media (max-height: 650px) and (max-width: 700px) {
  .project-list { margin-top: 21px; }
  .project-item { padding-top: 16px; padding-bottom: 16px; }
  .project-name { font-size: 17px; }
  .project-info { gap: 5px; }
}
@media (max-height: 480px) and (min-width: 600px) {
  .project-list { margin-top: 0; }
  .project-item { grid-template-columns: 12px 30px 1fr 14px; gap: 10px; padding: 13px 0; }
  .project-symbol { width: 29px; height: 29px; font-size: 18px; border-radius: 8px; }
  .project-symbol svg { width: 20px; height: 20px; }
  .project-name { font-size: 15px; }
  .project-description { font-size: 8px; }
  .project-info { gap: 4px; }
  .project-domain { display: none; }
  .project-number { font-size: 7px; }
}
/* Avoid automatic input zoom on touch browsers. */
@media (pointer: coarse) {
  .field input, .field textarea { font-size: 16px; }
}

/* Soft, passing light and a breathing current keep the space quietly alive. */
.ambient-light {
  width: 110%;
  height: 100%;
  right: -36%;
  bottom: -38%;
  background: radial-gradient(ellipse, #a6bb8c70 0%, #b8cba331 40%, transparent 69%);
  filter: none;
  opacity: .7;
  animation: light-breathe 15s ease-in-out infinite alternate;
  will-change: transform, opacity;
}
.ambient::before,
.ambient::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  will-change: transform, opacity;
}
.ambient::before {
  width: 100%;
  height: 115%;
  left: -46%;
  top: -40%;
  background: radial-gradient(ellipse, #dbcc9f38, #e7dcc31c 38%, transparent 68%);
  animation: warm-light-pass 19s ease-in-out -6s infinite alternate;
}
.ambient::after {
  width: 105%;
  height: 70%;
  left: -20%;
  bottom: -27%;
  background: radial-gradient(ellipse, #ffffffa6, #fffffc38 36%, transparent 69%);
  animation: reflected-light-pass 13s ease-in-out -4s infinite alternate;
}
.streams {
  opacity: .67;
  animation: current-breathe 11s ease-in-out infinite alternate;
}
.hero-mark-wrap {
  animation: mark-breathe 8s ease-in-out 1.5s infinite;
}
.motion-paused .ambient *,
.motion-paused .ambient::before,
.motion-paused .ambient::after,
.motion-paused .hero-mark-wrap {
  animation-play-state: paused;
}
@keyframes light-breathe {
  from { transform: translate(6%, 5%) scale(.94); opacity: .55; }
  to { transform: translate(-20%, -13%) scale(1.16); opacity: .95; }
}
@keyframes warm-light-pass {
  from { transform: translate(-8%, -2%) scale(.95); opacity: .45; }
  to { transform: translate(40%, 16%) scale(1.2); opacity: .9; }
}
@keyframes reflected-light-pass {
  from { transform: translate(-16%, 9%) rotate(-12deg); opacity: .35; }
  to { transform: translate(43%, -10%) rotate(9deg); opacity: .8; }
}
@keyframes current-breathe {
  from { opacity: .52; }
  to { opacity: .78; }
}
@keyframes mark-breathe {
  0%, 100% { transform: translateY(0) rotate(-2deg) scale(1); }
  50% { transform: translateY(-4px) rotate(2deg) scale(1.035); }
}
