
:root{--bg:#000005;--surface:#06060f;--card:#0b0b18;--card2:#0f0f22;--border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.12);--cyan:#00e5ff;--green:#00ff88;--orange:#ff9500;--blue:#4488ff;--white:#f0eeff;--muted:rgba(240,238,255,.5);--faint:rgba(240,238,255,.14);--serif:'Cormorant Garamond',Georgia,serif;--mono:'DM Mono',monospace;--sans:'Cormorant Garamond',Georgia,serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden;cursor:none;min-height:100vh}
#cur{position:fixed;pointer-events:none;z-index:9999;width:5px;height:5px;background:var(--cyan);border-radius:50%;transform:translate(-50%,-50%)}
#curR{position:fixed;pointer-events:none;z-index:9998;width:28px;height:28px;border:1px solid rgba(0,229,255,.35);border-radius:50%;transform:translate(-50%,-50%);transition:all .1s ease}
nav{position:sticky;top:0;z-index:200;background:rgba(0,0,5,.92);backdrop-filter:blur(24px);padding:1.2rem 4rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}
.logo{font-family:var(--serif);font-size:1.4rem;font-weight:300;letter-spacing:.06em;color:var(--white);text-decoration:none}.logo em{font-style:italic;color:var(--cyan)}
.nav-r{display:flex;gap:1.5rem;align-items:center}.nav-r a{font-family:var(--mono);font-size:0.92rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}.nav-r a:hover{color:var(--cyan)}
.nav-cta{padding:.5rem 1.4rem;background:var(--cyan);color:#000;font-family:var(--mono);font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}

/* HERO */
.ph{position:relative;padding:5rem 4rem 4rem;overflow:hidden;border-bottom:1px solid var(--border);text-align:center}
#phC{position:absolute;inset:0;width:100%;height:100%;opacity:.25}
.ph-fade{position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(0,0,5,.8) 20%,rgba(0,0,5,.95) 80%)}
.ph-in{position:relative;z-index:2}
.eyebrow{font-family:var(--mono);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:.8rem;animation:fu .8s ease both .1s}
.eyebrow::before,.eyebrow::after{content:'';display:block;width:22px;height:1px;background:var(--cyan)}
.ph h1{font-family:var(--serif);font-size:clamp(3.5rem,7vw,6rem);font-weight:300;line-height:.9;margin-bottom:1.5rem;animation:fu .8s ease both .25s}
.ph h1 i{font-style:italic;color:var(--cyan)}
.ph p{font-weight:300;font-size:0.9rem;line-height:1.8;color:var(--muted);max-width:520px;margin:0 auto;animation:fu .8s ease both .4s}
@keyframes fu{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* LAYOUT */
.page-grid{max-width:1100px;margin:0 auto;padding:4rem;display:grid;grid-template-columns:1fr 360px;gap:4rem;align-items:start;justify-items:stretch}

/* FORM */
.form-wrap{background:var(--card);border:1px solid var(--border);padding:3rem}
.fw-title{font-family:var(--serif);font-size:1.8rem;font-weight:300;margin-bottom:.5rem;line-height:1}
.fw-title i{font-style:italic;color:var(--cyan)}
.fw-sub{font-family:var(--mono);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2.5rem;display:block}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:1px}
.form-field{display:flex;flex-direction:column;background:var(--card2)}
.form-field.full{grid-column:1/-1}
.field-label{font-family:var(--mono);font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:.9rem 1.2rem .35rem;display:block}
.field-input{background:transparent;border:none;outline:none;color:var(--white);font-family:var(--sans);font-weight:300;font-size:0.92rem;padding:.35rem 1.2rem 1rem;width:100%}
.field-input::placeholder{color:var(--faint)}
.field-input:focus{background:rgba(0,229,255,.03)}
.field-select{background:transparent;border:none;outline:none;color:var(--white);font-family:var(--sans);font-weight:300;font-size:0.92rem;padding:.35rem 1.2rem 1rem;width:100%;cursor:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(240,238,255,.3)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 1rem) 55%;background-color:transparent}
.field-select option{background:var(--card2);color:var(--white)}
textarea.field-input{resize:vertical;min-height:100px;line-height:1.6}

.field-border{height:1px;background:var(--border);margin-bottom:1px}
.form-field{border-bottom:1px solid var(--border)}
.form-field:focus-within{border-bottom-color:var(--cyan)}
.form-field:focus-within .field-label{color:var(--cyan)}

.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:2rem}
.subject-opt{display:none}
.subject-lbl{display:block;padding:.9rem 1rem;background:var(--card2);font-family:var(--mono);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);cursor:none;transition:all .2s;text-align:center;user-select:none}
.subject-opt:checked+.subject-lbl{background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.3);color:var(--cyan)}
.subject-lbl:hover{color:var(--white);background:rgba(255,255,255,.04)}

.submit-row{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}
.btn-submit{padding:.9rem 2.4rem;background:var(--cyan);color:#000;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:none;transition:all .2s;flex-shrink:0}
.btn-submit:hover{background:var(--white)}
.btn-submit:disabled{background:rgba(0,229,255,.3);cursor:not-allowed}
.submit-note{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;color:var(--faint);line-height:1.6}

.form-success{display:none;padding:2.5rem;background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.2);text-align:center}
.fs-icon{font-family:var(--serif);font-size:3rem;font-style:italic;color:var(--green);display:block;margin-bottom:1rem}
.fs-title{font-family:var(--serif);font-size:1.5rem;font-weight:300;margin-bottom:.5rem}
.fs-text{font-weight:300;font-size:1.0rem;color:var(--muted);line-height:1.7}

.form-error{display:none;padding:1rem 1.5rem;background:rgba(255,51,102,.06);border:1px solid rgba(255,51,102,.2);margin-top:1rem}
.form-error p{font-family:var(--mono);font-size:.52rem;color:rgba(255,80,100,.8)}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:2px;justify-content:flex-start;align-self:stretch}
.sb-card{background:var(--card);padding:2rem}
.sb-label{font-family:var(--mono);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.sb-label::before{content:'';display:block;width:12px;height:1px;background:currentColor}
.sb-title{font-family:var(--serif);font-size:1.55rem;font-weight:300;margin-bottom:.7rem;line-height:1.2}
.sb-body{font-weight:300;font-size:.85rem;line-height:1.75;color:var(--muted)}
.sb-mail{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;color:var(--cyan);text-decoration:none;display:block;margin-top:.8rem}
.sb-divider{height:1px;background:var(--border)}

.format-list{list-style:none;padding:0;margin-top:.8rem}
.format-list li{font-family:var(--mono);font-size:.52rem;letter-spacing:.1em;color:var(--muted);padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem}
.format-list li::before{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--cyan);flex-shrink:0}
.format-list li:last-child{border:none}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}

footer{border-top:1px solid var(--border);padding:3rem 4rem;display:flex;justify-content:space-between;align-items:center}
.ft-logo{font-family:var(--serif);font-size:0.95rem;font-weight:300}.ft-logo em{font-style:italic;color:var(--cyan)}
.ft-links{display:flex;gap:2rem}.ft-links a{font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}.ft-links a:hover{color:var(--cyan)}
.ft-copy{font-family:var(--mono);font-size:.52rem;color:var(--faint)}

@media(max-width:1100px){
  nav{padding:1rem 2rem}.ph{padding:3.5rem 2rem 3rem}
  .page-grid{grid-template-columns:1fr;padding:2.5rem 2rem;gap:2.5rem}
  .sidebar{grid-row:1;flex-direction:row;flex-wrap:wrap}.sidebar .sb-card{flex:1;min-width:240px}
}
@media(max-width:768px){
  nav{padding:.9rem 1.2rem}.nav-r{display:none}.hamburger{display:flex}
  .ph h1{font-size:clamp(2.8rem,9vw,4.5rem)}.page-grid{padding:1.5rem 1.2rem}
  .form-wrap{padding:1.8rem}.form-row{grid-template-columns:1fr}
  .subject-grid{grid-template-columns:1fr 1fr}
  footer{padding:2rem 1.2rem;flex-direction:column;gap:1.2rem;text-align:center}
  .ft-links{justify-content:center;flex-wrap:wrap;gap:1rem}
}

.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:.4rem;background:none;border:none;z-index:400}
.hamburger span{display:block;width:20px;height:1px;background:var(--white);transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;inset:0;top:56px;background:rgba(0,0,5,.97);backdrop-filter:blur(24px);z-index:350;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
.mob-menu.open{display:flex}
.mob-menu a{font-family:var(--mono);font-size:.82rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
.mob-menu a:hover,.mob-menu a.nav-cta{color:var(--cyan)}
.mob-menu .nav-cta{padding:.7rem 2rem;border:1px solid var(--cyan);color:var(--cyan)}

@media(max-width:480px){body{word-break:break-word;overflow-wrap:break-word}.ph h1,.st h2,.we-title,.mj-title,.mb-text h3,.ci-text h3,.cta-block h3,.fw-title,.intro-statement blockquote{word-break:normal;hyphens:auto}}
