/* Brochure access page — same living harbour as the homepage hero
   (public/harbour/). Sky on top with the copy and the form card, the port
   scene along the bottom. Form IDs and states are unchanged (access.js). */
:root{font-family:'DM Sans',system-ui,sans-serif;color:#1F2F3A;background:#dde6ec;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;background:linear-gradient(180deg,#cbd8e2 0%,#dde6ec 40%,#e9e2d4 70%,#f3d7ae 100%)}
header,main,footer{width:100%;max-width:1240px;margin:0 auto;position:relative;z-index:2}
header{padding:26px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
header span,.eyebrow{font-family:'DM Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.2em;color:#1F2F3A}
header img{display:block;max-width:100%;width:150px}
main{padding:30px 36px 0;display:grid;grid-template-columns:1.1fr 440px;gap:70px;align-items:start}
.intro{padding-top:30px}
.eyebrow{color:#B07A44;margin:0 0 18px;display:inline-flex;align-items:center;gap:12px}
.intro .eyebrow::before{content:'';width:26px;height:1px;background:currentColor}
h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(38px,4.6vw,62px);line-height:1.02;letter-spacing:-.05em;margin:0 0 22px;font-weight:700}
h1 em{font-style:normal;color:#5F88A8}
.lead{max-width:420px;font-size:18px;line-height:1.65;color:#5d6b76;margin:0 0 22px}
.promise{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#1F2F3A}
.promise span{background:rgba(250,243,233,.8);border:1px solid rgba(31,47,58,.1);padding:7px 12px;border-radius:999px}
.access-card{padding:30px 32px;border:1px solid rgba(31,47,58,.1);background:rgba(255,253,248,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 30px 70px -30px rgba(15,25,35,.45)}
.access-card .eyebrow{margin-bottom:12px;color:#5F88A8}
h2{font-family:'Space Grotesk',sans-serif;font-size:30px;line-height:1.12;letter-spacing:-.04em;margin:0 0 12px;font-weight:700}
.access-card>p:not(.eyebrow){font-size:14px;color:#5d6b76;line-height:1.6}
form{display:flex;flex-direction:column;margin-top:20px}
label{font-size:13px;font-weight:600;margin:0 0 7px}
input{width:100%;border:1px solid #d9d3ca;border-radius:10px;background:white;color:#1F2F3A;font:inherit;font-size:16px;min-height:46px;padding:11px 13px;margin-bottom:16px}
input:focus{outline:3px solid #AACDDC80;border-color:#5F88A8}
button{font:inherit;cursor:pointer}
.primary{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:12px;background:#1F2F3A;color:white;padding:14px 18px;font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;min-height:50px;box-shadow:0 10px 24px -10px rgba(31,47,58,.6)}
.primary:hover{background:#2a3f4e}
.primary:disabled{opacity:.65;cursor:wait}
.primary:focus-visible,.text-button:focus-visible{outline:3px solid #5F88A8;outline-offset:3px}
.text-button{border:0;background:none;padding:8px 0;color:#5F88A8;text-decoration:underline;font-size:13px}
.access-card .fine{font-size:11px!important;line-height:1.65;margin:20px 0 0}
.fine a{color:inherit}
#access-status:empty{display:none}
#access-status.error{color:#a3332d}
#access-status.success{color:#237a4b}
[hidden]{display:none!important}
.access-scene{position:relative;z-index:1;flex:1;min-height:clamp(260px,40vh,460px);margin-top:-120px;pointer-events:none}
.access-scene svg{position:absolute;inset:0;width:100%;height:100%;display:block}
footer{position:absolute;left:0;right:0;bottom:0;max-width:none;padding:0 36px 18px;font-family:'DM Mono',monospace;font-size:11px;color:rgba(250,243,233,.75)}
@media(max-width:960px){main{grid-template-columns:1fr 400px;gap:40px}}
@media(max-width:860px){
  main{display:flex;flex-direction:column;gap:24px;align-items:stretch;padding:8px 20px 0}
  .intro{padding-top:0}
  .access-scene{margin-top:24px;min-height:240px}
}
@media(max-width:640px){
  header{padding:20px}
  header img{width:130px}
  header span{display:none}
  .intro .eyebrow{display:none}
  h1{font-size:34px;margin-bottom:10px}
  .lead{font-size:15px;margin-bottom:0}
  .promise{display:none}
  .access-card{padding:24px;border-radius:16px}
  h2{font-size:25px}
  .access-scene{min-height:200px}
  footer{padding:0 20px 14px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
