:root{--bg:#070706;--fg:#efe9d8;--muted:rgba(239,233,216,.54);--muted-soft:rgba(239,233,216,.30);--line:rgba(239,233,216,.14);--amber:#c9a86a;--amber-soft:rgba(201,168,106,.18);--amber-line:rgba(201,168,106,.42)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 69% 36%,rgba(201,168,106,.07),transparent 29%),radial-gradient(circle at 17% 88%,rgba(95,82,55,.055),transparent 28%),linear-gradient(180deg,#080807 0%,#050505 100%);color:var(--fg);font-family:Inter,system-ui,sans-serif}button,input,textarea{font:inherit}::selection{background:var(--amber);color:#090806}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.052;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='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.ambient{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.10}.ambient-a{width:34vw;height:34vw;right:-8vw;top:9vh;background:#b78d42}.ambient-b{width:22vw;height:22vw;left:-7vw;bottom:4vh;background:#564a32;opacity:.07}
.shell{width:min(1500px,calc(100% - 64px));margin:0 auto;min-height:100vh}.topbar,footer{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.brand-mark{color:var(--fg);text-decoration:none;display:inline-flex;align-items:center;gap:12px}.mark-line{width:28px;height:1px;background:var(--amber);box-shadow:0 0 16px rgba(201,168,106,.75)}.nav-meta{color:var(--muted);display:inline-flex;align-items:center;gap:10px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 11px rgba(201,168,106,.8);animation:pulse 3.2s ease-in-out infinite}
.hero{min-height:70vh;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;border-bottom:1px solid var(--line);position:relative}.hero::before{content:"";position:absolute;top:0;bottom:0;left:52.6%;width:1px;background:linear-gradient(180deg,transparent,rgba(239,233,216,.055) 20%,rgba(239,233,216,.055) 80%,transparent)}.hero-copy{position:relative;z-index:3}.eyebrow,.project-kicker{margin:0 0 18px;color:var(--amber);font-size:11px;letter-spacing:.22em;text-transform:uppercase}h1{margin:0;font-family:Manrope,Inter,sans-serif;font-weight:300;font-size:clamp(72px,10vw,178px);line-height:.82;letter-spacing:-.065em}h1 .ghost{color:transparent;-webkit-text-stroke:1px rgba(239,233,216,.28);text-shadow:0 0 24px rgba(201,168,106,.07)}.statement-wrap{margin:38px 0 0 4px;display:flex;align-items:flex-end;gap:36px}.statement{margin:0;font-size:clamp(17px,1.5vw,24px);line-height:1.45;font-weight:300;color:rgba(239,233,216,.75)}.route-code{padding-bottom:5px;color:rgba(239,233,216,.28);font-size:9px;letter-spacing:.22em;white-space:nowrap}
.navigation-field{position:relative;width:min(39vw,530px);aspect-ratio:1;justify-self:center;transform-style:preserve-3d;transition:transform .3s ease-out}.nav-ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(201,168,106,.15)}.ring-outer{width:92%;height:92%;border-style:dashed;animation:rotateSlow 42s linear infinite}.ring-mid{width:68%;height:68%;border-color:rgba(239,233,216,.10)}.ring-inner{width:39%;height:39%;border-color:rgba(201,168,106,.33);box-shadow:inset 0 0 50px rgba(201,168,106,.025);animation:breathe 5s ease-in-out infinite}.bearing{position:absolute;left:50%;top:50%;width:94%;height:1px;transform-origin:center;background:linear-gradient(90deg,transparent,rgba(239,233,216,.10),transparent)}.bearing-a{transform:translate(-50%,-50%) rotate(31deg)}.bearing-b{transform:translate(-50%,-50%) rotate(-26deg)}.departure-axis{position:absolute;left:50%;top:10%;width:1px;height:80%;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(201,168,106,.48),rgba(201,168,106,.10),transparent)}.vessel-mark{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(201,168,106,.68);box-shadow:0 0 38px rgba(201,168,106,.13),inset 0 0 28px rgba(201,168,106,.07);background:rgba(7,7,6,.62)}.vessel-mark::before,.vessel-mark::after{content:"";position:absolute;background:rgba(201,168,106,.45)}.vessel-mark::before{width:150%;height:1px;left:-25%;top:50%}.vessel-mark::after{height:150%;width:1px;top:-25%;left:50%}.vessel-core{position:absolute;inset:36%;background:var(--amber);box-shadow:0 0 22px rgba(201,168,106,.55)}.wake{position:absolute;left:50%;border:1px solid rgba(201,168,106,.12);border-top:0;border-left-color:transparent;border-right-color:transparent;border-radius:0 0 50% 50%;transform:translateX(-50%);transform-origin:top center}.wake-1{top:56%;width:31%;height:15%;animation:wake 4.8s ease-out infinite}.wake-2{top:58%;width:46%;height:22%;animation:wake 4.8s 1.15s ease-out infinite}.wake-3{top:60%;width:64%;height:29%;animation:wake 4.8s 2.3s ease-out infinite}.horizon-line{position:absolute;left:-9%;top:50%;width:118%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,106,.55),rgba(239,233,216,.12),rgba(201,168,106,.55),transparent);box-shadow:0 0 17px rgba(201,168,106,.18)}.nav-label{position:absolute;color:rgba(239,233,216,.30);font-size:8px;letter-spacing:.20em;text-transform:uppercase}.nav-label-a{top:7%;left:50%;transform:translateX(-50%)}.nav-label-b{right:3%;top:51%}.nav-label-c{left:8%;bottom:17%;color:rgba(201,168,106,.45)}
.project{min-height:190px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:28px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.project::after{content:"";position:absolute;height:1px;width:0;bottom:0;left:0;background:var(--amber);transition:width .7s cubic-bezier(.2,.8,.2,1)}.project:hover::after{width:100%}.project-index,.contact-index{color:var(--muted);font-size:12px;letter-spacing:.18em}.project-main h2,.contact-intro h2{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:-.045em;margin:0}.project-main h2{font-size:clamp(38px,5vw,74px)}.project-desc{max-width:660px;margin:12px 0 0;color:var(--muted);line-height:1.65}.project-link{border:1px solid var(--line);color:var(--fg);text-decoration:none;padding:18px 20px;min-width:190px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.17em;transition:background .25s ease,border-color .25s ease,transform .25s ease}.project-link:hover{background:var(--amber-soft);border-color:rgba(201,168,106,.45);transform:translateY(-2px)}.arrow{font-size:16px;color:var(--amber)}
.contact-section{border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px minmax(0,1fr) auto;column-gap:28px;padding:72px 0 0;position:relative}.contact-index{padding-top:5px}.contact-intro{padding-bottom:66px}.contact-intro h2{font-size:clamp(42px,5.4vw,78px);line-height:.95}.contact-copy{max-width:560px;margin:22px 0 18px;color:var(--muted);line-height:1.65}.email-link{color:var(--amber);text-decoration:none;font-size:13px;letter-spacing:.08em;border-bottom:1px solid transparent;transition:border-color .2s ease}.email-link:hover{border-color:var(--amber)}.contact-action{align-self:end;padding-bottom:66px}.contact-toggle{appearance:none;border:1px solid var(--line);background:transparent;color:var(--fg);min-width:210px;padding:18px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:26px;font-size:11px;letter-spacing:.17em;transition:background .25s ease,border-color .25s ease}.contact-toggle:hover,.contact-toggle[aria-expanded="true"]{border-color:var(--amber-line);background:var(--amber-soft)}.toggle-symbol{color:var(--amber);font-size:17px;line-height:1;transition:transform .35s ease}.contact-toggle[aria-expanded="true"] .toggle-symbol{transform:rotate(45deg)}.contact-panel{grid-column:2/4;border-top:1px solid var(--line);padding:38px 0 52px}.contact-panel[hidden]{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 34px}.field{display:grid;gap:10px}.field span{color:var(--muted-soft);font-size:9px;letter-spacing:.20em;text-transform:uppercase}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);outline:none;background:transparent;color:var(--fg);padding:11px 0 13px;font-size:15px;font-weight:300;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus{border-color:var(--amber);box-shadow:0 7px 14px -14px rgba(201,168,106,.7)}.field textarea{resize:vertical;min-height:120px;line-height:1.55}.field-message{grid-column:1/-1}.hp-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}.form-note{margin:0;color:var(--muted-soft);font-size:10px;letter-spacing:.08em}.send-button{appearance:none;min-width:190px;border:1px solid var(--amber-line);background:rgba(201,168,106,.08);color:var(--fg);padding:16px 18px;display:flex;justify-content:space-between;gap:30px;cursor:pointer;font-size:10px;letter-spacing:.17em;transition:background .2s ease,transform .2s ease}.send-button:hover{background:var(--amber-soft);transform:translateY(-1px)}.send-button:disabled{opacity:.45;cursor:wait}.form-status{grid-column:1/-1;min-height:1.2em;margin:-8px 0 0;color:var(--muted);font-size:11px;letter-spacing:.05em}.form-status.success{color:var(--amber)}.form-status.error{color:#d0a18f}
footer{border-bottom:0;color:var(--muted)}.footer-note{text-transform:lowercase;letter-spacing:.08em}
@keyframes rotateSlow{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes breathe{0%,100%{box-shadow:inset 0 0 40px rgba(201,168,106,.02),0 0 0 rgba(201,168,106,0)}50%{box-shadow:inset 0 0 55px rgba(201,168,106,.045),0 0 35px rgba(201,168,106,.035)}}@keyframes wake{0%{opacity:0;transform:translateX(-50%) scale(.58)}20%{opacity:.65}100%{opacity:0;transform:translateX(-50%) scale(1.23)}}@keyframes pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:900px){.shell{width:min(100% - 34px,900px)}.hero{grid-template-columns:1fr;padding:90px 0 34px}.hero::before{display:none}.navigation-field{width:min(78vw,470px);margin-top:30px}.project{grid-template-columns:58px 1fr;padding:36px 0}.project-link{grid-column:2;width:min(100%,340px)}.contact-section{grid-template-columns:58px 1fr}.contact-action{grid-column:2;padding-bottom:44px}.contact-panel{grid-column:2}.footer-note{display:none}}
@media(max-width:560px){.nav-meta{display:none}.topbar{min-height:64px}h1{font-size:clamp(62px,22vw,108px)}.statement-wrap{margin-top:28px;align-items:flex-start;flex-direction:column;gap:12px}.navigation-field{width:min(88vw,420px)}.project,.contact-section{grid-template-columns:1fr;gap:12px}.project-index,.project-link,.contact-index,.contact-action,.contact-panel{grid-column:1}.contact-section{padding-top:46px}.contact-intro{padding-bottom:18px}.contact-action{padding-bottom:34px}.contact-toggle{width:100%}.contact-panel{padding-top:30px}.form-grid{grid-template-columns:1fr}.field-message,.form-footer,.form-status{grid-column:1}.form-footer{align-items:stretch;flex-direction:column}.send-button{width:100%}footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}


/* v0.4 — PROJECT HUB + SEPARATE CONTACT DRAWER */
.top-actions{display:flex;align-items:center;gap:28px;}
.text-action,.footer-contact{appearance:none;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;letter-spacing:.18em;text-transform:uppercase;padding:0;transition:color .2s ease;}
.text-action:hover,.footer-contact:hover{color:var(--amber);}
.text-action span{color:var(--amber);margin-left:5px;}
.projects{display:block;}
.project + .project{border-top:0;}
.project:nth-child(2){background:linear-gradient(90deg,rgba(201,168,106,.018),transparent 58%);}
.project-kicker{margin-bottom:14px;}
.contact-section{display:none!important;}

.contact-overlay{position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden;}
.contact-overlay.is-open{pointer-events:auto;visibility:visible;}
.contact-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.66);backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease;cursor:default;}
.contact-overlay.is-open .contact-backdrop{opacity:1;}
.contact-drawer{position:absolute;top:0;right:0;width:min(620px,94vw);height:100%;overflow:auto;padding:58px clamp(28px,5vw,68px);background:linear-gradient(145deg,#0c0c0a 0%,#070706 72%);border-left:1px solid rgba(201,168,106,.27);box-shadow:-30px 0 90px rgba(0,0,0,.55);transform:translateX(102%);transition:transform .48s cubic-bezier(.2,.8,.2,1);}
.contact-overlay.is-open .contact-drawer{transform:translateX(0);}
.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line);}
.drawer-head h2{font-family:Manrope,sans-serif;font-weight:300;font-size:clamp(42px,5vw,72px);line-height:.92;letter-spacing:-.05em;margin:0;}
.contact-close{appearance:none;border:1px solid var(--line);background:transparent;color:var(--amber);width:44px;height:44px;flex:0 0 44px;font-size:26px;font-weight:200;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.contact-close:hover{background:var(--amber-soft);border-color:var(--amber-line);}
.contact-drawer .contact-copy{margin:28px 0 12px;}
.contact-drawer .email-link{display:inline-block;margin-bottom:42px;}
.contact-drawer .form-grid{grid-template-columns:1fr;gap:26px;}
.contact-drawer .field-message,.contact-drawer .form-footer,.contact-drawer .form-status{grid-column:1;}
.contact-drawer .form-footer{align-items:flex-end;}
body.contact-open{overflow:hidden;}

@media(max-width:900px){
  .top-actions{gap:18px;}
  .nav-meta{display:none;}
}
@media(max-width:560px){
  .text-action{font-size:9px;}
  .contact-drawer{width:100%;padding:34px 22px;}
  .drawer-head h2{font-size:44px;}
  .contact-drawer .form-footer{align-items:stretch;}
  .footer-contact{font-size:8px;}
}


/* v0.5 — THREE PROJECT ROUTES */
.project:nth-child(2){
  background:
    linear-gradient(90deg,rgba(201,168,106,.025),transparent 60%);
}
.project:nth-child(3){
  background:
    linear-gradient(270deg,rgba(239,233,216,.012),transparent 55%);
}
.project h2{
  transition:letter-spacing .35s ease,color .35s ease;
}
.project:hover h2{
  letter-spacing:-.032em;
  color:#f5eedb;
}
.project-index{
  transition:color .25s ease;
}
.project:hover .project-index{
  color:var(--amber);
}


/* v0.6 — REFINED PROJECT TYPOGRAPHY
   Project names are intentionally quieter than the APOPlOUS hero title. */
.project{
  min-height:168px;
}

.project-main{
  padding:4px 0;
}

.project-main .project-title{
  margin:0;
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(30px,3.05vw,48px);
  line-height:1.08;
  font-weight:300;
  letter-spacing:.005em;
  word-spacing:.10em;
  color:rgba(239,233,216,.91);
}

.project-main .title-modifier{
  display:inline-block;
  margin-left:.58em;
  position:relative;
  top:-.08em;
  font-family:Inter,system-ui,sans-serif;
  font-size:.34em;
  line-height:1;
  font-weight:500;
  letter-spacing:.22em;
  word-spacing:normal;
  color:var(--amber);
  opacity:.88;
}

.project-main .project-desc{
  margin-top:13px;
  max-width:610px;
  font-size:14px;
  line-height:1.62;
}

.project .project-kicker{
  margin-bottom:11px;
  font-size:9px;
  letter-spacing:.20em;
  opacity:.88;
}

/* Replace the previous hover treatment with a quieter one. */
.project:hover .project-title{
  letter-spacing:.012em;
  color:#f5eedb;
}

.project:hover .title-modifier{
  color:#dfc28a;
}

@media(max-width:900px){
  .project{
    min-height:0;
    padding:31px 0;
  }
  .project-main .project-title{
    font-size:clamp(29px,6vw,42px);
  }
}

@media(max-width:560px){
  .project-main .project-title{
    font-size:30px;
    line-height:1.15;
    word-spacing:.08em;
  }
  .project-main .title-modifier{
    margin-left:.42em;
    font-size:.32em;
  }
}
