/* V15.21 · HMS Falmouth — research-led exploration */
.fal-page{--fal-ink:#071821;--fal-paper:#f4f0e5;--fal-mint:#b5e6d4;--fal-brass:#c7b08a;--fal-line:rgba(185,215,208,.23);background:var(--fal-ink);color:var(--fal-paper)}
.fal-page *{box-sizing:border-box}
.fal-page h1,.fal-page h2,.fal-page h3,.fal-page p{margin-top:0}
.fal-page .fal-container{width:min(1300px,calc(100% - 96px));margin-inline:auto}
.fal-page a{text-decoration:none}
.fal-page button{cursor:pointer}
.fal-page .fal-kicker,.fal-page .fal-overline{font:800 10px/1.55 'Manrope',Arial,sans-serif;letter-spacing:.20em;color:#b8e0d4}
.fal-page .fal-section-head{display:grid;grid-template-columns:1.1fr .85fr;align-items:end;gap:7vw;margin-bottom:38px}
.fal-page .fal-section-head h2,.fal-page .fal-intro h2,.fal-page .fal-next h2{font:400 clamp(48px,6.2vw,98px)/1.04 Georgia,serif;letter-spacing:-.058em;margin:15px 0 0;color:#f1f0e8}
.fal-page h2 em,.fal-page h1 em,.fal-page .fal-timeline-detail h3 em{font-style:italic;color:var(--fal-mint);font-weight:400}
.fal-page .fal-section-head>p{max-width:490px;font-size:15px;line-height:1.86;color:#bacbc7;margin:0}
.fal-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:max(740px,100svh);overflow:hidden;background:#061c26}
.fal-hero-bg,.fal-hero-pattern{position:absolute;inset:0;pointer-events:none;z-index:-1}
.fal-hero-bg{background:linear-gradient(90deg,#04151af7 0%,#071a23f0 38%,#06162161 100%),linear-gradient(0deg,#06171df5 0%,transparent 52%,#04182077),url('assets/ocean-wreck.jpg') center 53%/cover no-repeat;filter:saturate(.8)}
.fal-hero-pattern{background:radial-gradient(ellipse at 88% 53%,transparent 0 19%,#71ead516 19.15% 19.3%,transparent 19.5% 34%,#71ead510 34.1% 34.28%,transparent 34.5%),repeating-linear-gradient(0deg,transparent 0 79px,#b2ead307 80px 81px);opacity:.9}
.fal-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;align-items:end;gap:8vw;flex:1;padding-top:150px;padding-bottom:48px}
.fal-hero-content{max-width:800px}
.fal-short-rule{display:inline-block;vertical-align:middle;width:31px;height:1px;background:var(--fal-brass);margin-right:15px}
.fal-pretitle{font:800 11px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.18em;color:var(--fal-brass);margin:30px 0 13px}
.fal-hero h1{font:400 clamp(95px,11vw,190px)/.82 Georgia,serif;letter-spacing:-.09em;color:#f2f1e9;margin:15px 0 37px;text-wrap:initial}
.fal-hero h1 em{letter-spacing:-.075em}
.fal-hero-sub{font:400 clamp(28px,3vw,45px)/1.18 Georgia,serif;letter-spacing:-.03em;max-width:620px;margin-bottom:18px;color:#f0e6ce}
.fal-hero-deck{font-size:16px;line-height:1.8;max-width:580px;color:#c0d4cf}
.fal-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.fal-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 20px;min-height:58px;font:800 10px/1.35 'Manrope',Arial,sans-serif;letter-spacing:.10em;border:1px solid #a6c9bd60;transition:transform .2s,background .2s}
.fal-btn-primary{background:#c5e9d9;color:#071e26!important;border-color:#c5e9d9}
.fal-btn-quiet{background:#09232cbd;color:#e3f2ed!important}
.fal-btn:hover{transform:translateY(-2px)}
.fal-hero-notice{font:800 9px/1.7 'Manrope',Arial,sans-serif;letter-spacing:.12em;color:#93b5b0}
.fal-hero-aside{padding:29px 22px 20px;background:#09252db0;border:1px solid #b5ddd145;backdrop-filter:blur(9px)}
.fal-aside-label{font:800 10px Manrope,sans-serif;letter-spacing:.15em;color:#c0d8cd}
.fal-hero-date{font:400 39px Georgia,serif;letter-spacing:-.07em;margin:28px 0;color:#f4f2e6;white-space:nowrap}.fal-hero-date span{color:#a4d3c6;padding:0 3px}
.fal-aside-line{height:1px;background:#b1cfc03a;margin:22px 0}
.fal-aside-stat{font:400 62px/.85 Georgia,serif;color:#f5f4e9}.fal-aside-stat small{display:block;font:800 9px/1.6 Manrope,sans-serif;letter-spacing:.14em;color:#a9c7bd;margin-top:10px}
.fal-aside-small{font:700 9px/1.9 Manrope,sans-serif;letter-spacing:.08em;color:#96b8b1}
.fal-hero-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #c3dcce44;padding-block:21px 25px;font:800 9px/1.4 'Manrope',Arial,sans-serif;letter-spacing:.15em;color:#abcac3}
.fal-hero-bottom a{color:#dfecde}
.fal-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--fal-line);border-bottom:1px solid var(--fal-line);background:#102b34}
.fal-facts>div{padding:26px clamp(20px,3.4vw,56px);border-right:1px solid var(--fal-line)}.fal-facts>div:last-child{border-right:0}
.fal-facts span{display:block;font:800 9px/1.4 Manrope,sans-serif;letter-spacing:.16em;color:#a3c6bd;margin-bottom:8px}.fal-facts strong{font:600 17px/1.35 'DM Sans',Arial,sans-serif;color:#f0efe5}
.fal-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:110px 125px}
.fal-intro-copy{padding-top:20px;max-width:565px}.fal-intro-copy p{font-size:16px;line-height:1.95;color:#c0d0ca}
.fal-text-link{display:inline-block;font:800 10px/1.4 Manrope,sans-serif;letter-spacing:.13em;border-bottom:1px solid #adddd1;padding:16px 0 13px;color:#bde4d7!important}
.fal-model-section{padding:100px 0 115px;background:linear-gradient(180deg,#0d2d37,#061c27 73%);border-top:1px solid var(--fal-line)}
.fal-model-shell{border:1px solid #83a9a15c;background:#061821;box-shadow:0 30px 100px #0005}
.fal-model-top,.fal-model-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 25px;font:800 9px/1.7 Manrope,sans-serif;letter-spacing:.12em;color:#b2d9cb}
.fal-model-top{border-bottom:1px solid var(--fal-line)}.fal-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a5e0bf;box-shadow:0 0 14px #64e5c0;margin-right:9px}
.fal-model-stage{position:relative;aspect-ratio:16/9;min-height:410px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#194a50,#061d26 75%)}
.fal-model-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:40px 18px;overflow:hidden}
.fal-depth-waves{position:absolute;inset:0;opacity:.5;pointer-events:none}
.fal-depth-waves span{position:absolute;border:1px solid #b8e5d12c;border-radius:50%;top:50%;left:50%;width:260px;height:260px;transform:translate(-50%,-50%)}
.fal-depth-waves span:nth-child(2){width:470px;height:470px}.fal-depth-waves span:nth-child(3){width:700px;height:700px}.fal-depth-waves span:nth-child(4){width:1040px;height:1040px}
.fal-model-symbol{font:400 67px Georgia,serif;color:#bae9d3;margin-bottom:10px;z-index:1}
.fal-model-overline{font:800 9px/1.6 Manrope,sans-serif;letter-spacing:.18em;color:#bad8cb;z-index:1}
.fal-model-placeholder h3{font:400 clamp(31px,4.6vw,67px)/1.07 Georgia,serif;letter-spacing:-.05em;margin:15px 0;color:#f1eee6;z-index:1}
.fal-model-placeholder h3 em{color:#b2e0cd;font-weight:400}
.fal-model-placeholder>p:not(.fal-model-overline){max-width:410px;color:#d0dcd5;font-size:14px;line-height:1.75;z-index:1}
.fal-model-placeholder .fal-btn{position:relative;z-index:1;border:0;margin-top:9px}
.fal-model-loaded{position:absolute;inset:0}.fal-model-loaded[hidden],.fal-model-placeholder[hidden]{display:none!important}
.fal-model-loaded iframe{border:0;width:100%;height:100%;display:block;background:#0a202a}
.fal-model-footer{border-top:1px solid var(--fal-line);color:#8baaa4;flex-wrap:wrap}
.fal-model-footer a{color:#d5e3ce!important;border-bottom:1px solid #a6c7bb;padding-bottom:3px}
.fal-truth-note{max-width:900px;border-left:2px solid #d2bc8c;margin-top:30px;padding:5px 0 5px 20px;display:grid;grid-template-columns:150px 1fr;gap:20px}
.fal-truth-note>span{font:800 9px/1.7 Manrope,sans-serif;letter-spacing:.17em;color:#d2bc8c}
.fal-truth-note p{color:#bed0c9;font-size:13px;line-height:1.85;margin:0}
.fal-evidence-section{padding:112px 0;background:#071923}
.fal-field-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);border:1px solid #8cafa05a}
.fal-field-scene{position:relative;min-width:0;background:#092633;overflow:hidden}
.fal-field-header,.fal-scene-bottom{display:flex;gap:12px;justify-content:space-between;align-items:center;position:absolute;left:22px;right:22px;z-index:3;font:800 8px/1.4 Manrope,sans-serif;letter-spacing:.13em;color:#c3e4d6;pointer-events:none}
.fal-field-header{top:20px}.fal-scene-bottom{bottom:21px}.fal-scene-bottom button{pointer-events:auto;background:transparent;border:0;border-bottom:1px solid #a4d0c3;color:#cce9dd;font:800 9px Manrope,sans-serif;padding:9px 0}
.fal-schematic{display:block;width:100%;height:auto;aspect-ratio:1100/575;min-height:340px;object-fit:cover}
.fal-hotspots{position:absolute;inset:0;pointer-events:none}
.fal-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:43px;height:43px;border:1px solid #e7ead8;background:#092c36f2;color:#fff;border-radius:50%;font:800 11px Manrope,sans-serif;display:grid;place-items:center;pointer-events:auto;box-shadow:0 0 0 6px #b1e2ce24;transition:background .2s,box-shadow .2s,transform .2s}
.fal-pin:hover,.fal-pin[aria-pressed=true]{background:#dedbc4;color:#08202a;box-shadow:0 0 0 10px #b5e9d242}
.fal-pin:active{transform:translate(-50%,-50%) scale(.96)}
.fal-field-information{background:#12323b;display:flex;flex-direction:column;min-height:400px;border-left:1px solid var(--fal-line)}
.fal-panel-top{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--fal-line);padding:24px 25px;font:800 9px Manrope,sans-serif;letter-spacing:.13em;color:#b3d6cb}.fal-status{color:#dfc494}
.fal-panel-body{padding:37px 26px;flex:1}.fal-panel-body h3{font:400 clamp(32px,3.5vw,49px)/1.1 Georgia,serif;letter-spacing:-.045em;color:#f1f0e5}.fal-panel-body>p{font:400 14px/1.85 'DM Sans',Arial,sans-serif;color:#c7d5cf}
.fal-evidence-class{border-top:1px solid var(--fal-line);margin-top:26px;padding-top:19px}.fal-evidence-class span{font:800 9px Manrope,sans-serif;letter-spacing:.13em;color:#c9c099}.fal-evidence-class p{font-size:13px;line-height:1.8;color:#b2cbc3;margin:13px 0 0}
.fal-feature-nav{display:flex;border-top:1px solid var(--fal-line)}.fal-feature-nav button{flex:1;background:#0a2630;border:0;border-right:1px solid var(--fal-line);color:#cde2d8;padding:22px 12px;font:800 9px/1.4 Manrope,sans-serif;letter-spacing:.08em}.fal-feature-nav button:hover{background:#17434a}
.fal-feature-list{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--fal-line);border-top:0}.fal-feature-tab{border:0;border-right:1px solid var(--fal-line);background:#0e2831;color:#c5d6cd;min-height:81px;display:flex;align-items:center;gap:11px;padding:17px 14px;text-align:left;font:800 14px Manrope,sans-serif}.fal-feature-tab:last-child{border-right:0}.fal-feature-tab span{font:800 9px/1.4 Manrope,sans-serif;letter-spacing:.065em}.fal-feature-tab[aria-pressed=true]{background:#c5e7d7;color:#0a252b}
.fal-smallprint{font-size:11px;color:#8baaa5;line-height:1.85;margin:22px 0 0}
.fal-timeline-section{padding:110px 0;background:linear-gradient(145deg,#102f37,#071c27 70%)}
.fal-timeline-layout{display:grid;grid-template-columns:minmax(275px,.43fr) 1fr;gap:0;border:1px solid #9dc5b74d}
.fal-timeline-nav{display:flex;flex-direction:column;border-right:1px solid var(--fal-line)}
.fal-timeline-nav button{display:grid;grid-template-columns:95px 1fr;gap:9px;text-align:left;background:#0d2a33;border:0;border-bottom:1px solid var(--fal-line);color:#c0d2ce;padding:24px 18px;min-height:86px;align-items:center}.fal-timeline-nav button:last-child{border-bottom:0}.fal-timeline-nav button[aria-pressed=true]{background:#bfe5d6;color:#082229}.fal-timeline-nav button span{font:800 9px/1.5 Manrope,sans-serif;letter-spacing:.1em}.fal-timeline-nav button strong{font:600 13px/1.6 DM Sans,sans-serif}
.fal-timeline-detail{position:relative;background:radial-gradient(ellipse at 90% 10%,#2c51546e,transparent 47%),#0b222b;min-height:550px;padding:70px clamp(30px,6vw,100px);overflow:hidden;display:flex;flex-direction:column;align-items:start;justify-content:center}
.fal-timeline-number{font:800 11px Manrope,sans-serif;color:#c4ad7f;letter-spacing:.14em;border:1px solid #decfa53c;padding:10px 13px;margin-bottom:45px}
.fal-timeline-watermark{font:400 clamp(140px,20vw,300px) Georgia,serif;letter-spacing:-.08em;position:absolute;right:-12px;bottom:5%;color:#cbe5d60a;pointer-events:none;white-space:nowrap}
.fal-timeline-detail h3{font:400 clamp(37px,4.6vw,69px)/1.08 Georgia,serif;letter-spacing:-.06em;max-width:680px;margin:20px 0;color:#eeeade;z-index:1}.fal-timeline-detail p{max-width:650px;font-size:16px;line-height:1.9;color:#c5d8ce;z-index:1}
.fal-timeline-actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;z-index:1}.fal-timeline-actions button{padding:17px 18px;border:1px solid #a7c4b859;background:#0e313a;color:#d8e8de;font:800 9px/1.4 Manrope,sans-serif;letter-spacing:.09em}.fal-timeline-actions button:last-child{background:#c3e5d7;color:#09212b}.fal-timeline-actions button:disabled{opacity:.3;cursor:not-allowed}
.fal-sources-section{padding:110px 0;background:#071923}
.fal-sources-list{border-top:1px solid var(--fal-line)}
.fal-sources-list a{display:grid;grid-template-columns:180px 1fr auto;gap:25px;align-items:center;padding:27px 15px;border-bottom:1px solid var(--fal-line);transition:background .2s}.fal-sources-list a:hover{background:#15323a}.fal-sources-list a>span{font:800 9px/1.6 Manrope,sans-serif;letter-spacing:.11em;color:#b1cbbe}.fal-sources-list a strong{font:500 18px/1.4 DM Sans,sans-serif;color:#f0f0e4}
.fal-research-ethics{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:72px}.fal-research-ethics>div{padding:25px;background:#0b2730;border-top:2px solid #a8d4c0}.fal-research-ethics span{font:800 10px Manrope,sans-serif;letter-spacing:.14em;color:#d9c093}.fal-research-ethics p{font-size:13px;line-height:1.85;color:#b9d2c9;margin:17px 0 0}
.fal-next{padding:110px 0;background:#13323b;border-top:1px solid var(--fal-line)}.fal-next-grid{display:grid;grid-template-columns:1fr .6fr;align-items:center;gap:7vw}.fal-next p{color:#bfd2ca;font-size:16px;line-height:1.8;margin:20px 0 0}.fal-next-actions{display:grid;gap:14px}.fal-next-actions a{width:100%}
.fal-footer{padding:29px clamp(30px,4vw,65px);display:flex;align-items:center;justify-content:space-between;gap:19px;flex-wrap:wrap;border-top:1px solid var(--fal-line);font:800 9px/1.6 Manrope,sans-serif;letter-spacing:.12em;color:#a3bcb2}.fal-footer a{color:#d7e8dc}
@media(max-width:1060px){.fal-hero-grid{grid-template-columns:1fr}.fal-hero-aside{display:none}.fal-field-grid{grid-template-columns:1fr}.fal-field-information{min-height:340px;border-left:0;border-top:1px solid var(--fal-line)}.fal-feature-list{grid-template-columns:repeat(5,minmax(0,1fr))}.fal-feature-tab{flex-direction:column;align-items:start;gap:6px}.fal-sources-list a{grid-template-columns:130px 1fr auto;gap:14px}}
@media(max-width:760px){.fal-page .fal-container{width:calc(100% - 42px)}.fal-page .fal-section-head{grid-template-columns:1fr;gap:19px;margin-bottom:27px}.fal-page .fal-section-head h2,.fal-intro h2,.fal-next h2{font-size:clamp(48px,11vw,72px)}.fal-hero{min-height:max(760px,100svh)}.fal-hero-bg{background:linear-gradient(180deg,#06171cbb 0%,#071b22c4 39%,#051720f9 100%),url('assets/ocean-wreck.jpg') 55% center/cover no-repeat}.fal-hero-grid{padding-top:165px;padding-bottom:44px}.fal-hero h1{font-size:clamp(76px,16.2vw,140px);margin:15px 0 28px}.fal-pretitle{font-size:9px}.fal-hero-sub{font-size:clamp(27px,7vw,39px)}.fal-hero-deck{font-size:14px;line-height:1.8}.fal-hero-actions{flex-direction:column}.fal-hero-actions>.fal-btn{width:100%}.fal-hero-bottom{font-size:8px;flex-wrap:wrap}.fal-hero-bottom span:last-child{display:none}.fal-facts{grid-template-columns:repeat(2,1fr)}.fal-facts>div{padding:19px 21px;border-bottom:1px solid var(--fal-line)}.fal-facts>div:nth-child(2n){border-right:0}.fal-facts strong{font-size:14px}.fal-intro{grid-template-columns:1fr;padding-block:80px;gap:13px}.fal-intro-copy{padding-top:0}.fal-intro-copy p{font-size:14px}.fal-model-section,.fal-evidence-section,.fal-timeline-section,.fal-sources-section,.fal-next{padding-block:77px}.fal-model-top,.fal-model-footer{font-size:8px;padding:14px 14px}.fal-model-top span:last-child{display:none}.fal-model-stage{aspect-ratio:3/4;min-height:470px}.fal-model-placeholder{padding:24px 14px}.fal-model-placeholder h3{font-size:38px}.fal-model-placeholder>p:not(.fal-model-overline){font-size:13px}.fal-model-placeholder .fal-btn{font-size:8px;min-height:49px;padding:14px}.fal-truth-note{grid-template-columns:1fr;gap:8px}.fal-schematic{min-height:290px}.fal-field-header,.fal-scene-bottom{left:9px;right:9px;font-size:6.5px}.fal-field-header{top:14px}.fal-scene-bottom{bottom:12px}.fal-field-header span:last-child{display:none}.fal-pin{width:37px;height:37px;font-size:10px;box-shadow:0 0 0 4px #b1e2ce24}.fal-panel-body{padding:28px 21px}.fal-panel-body h3{font-size:38px}.fal-feature-list{grid-template-columns:repeat(2,1fr)}.fal-feature-tab{min-height:60px;border-bottom:1px solid var(--fal-line);flex-direction:row;align-items:center}.fal-feature-tab span{font-size:8px}.fal-timeline-layout{grid-template-columns:1fr}.fal-timeline-nav{display:grid;grid-template-columns:repeat(3,1fr);border-right:0;border-bottom:1px solid var(--fal-line)}.fal-timeline-nav button{grid-template-columns:1fr;padding:13px;min-height:93px;border-right:1px solid var(--fal-line)}.fal-timeline-nav button span{font-size:8px}.fal-timeline-nav button strong{font-size:11px;line-height:1.45}.fal-timeline-detail{padding:43px 22px;min-height:410px}.fal-timeline-number{margin-bottom:20px}.fal-timeline-detail h3{font-size:45px}.fal-timeline-detail p{font-size:14px}.fal-sources-list a{grid-template-columns:1fr auto;gap:7px;padding:20px 6px}.fal-sources-list a span:first-child{grid-column:1/-1}.fal-sources-list a strong{font-size:14px}.fal-sources-list a span:last-child{font-size:8px}.fal-research-ethics{grid-template-columns:1fr;margin-top:38px;gap:13px}.fal-next-grid{grid-template-columns:1fr;gap:30px}.fal-footer{font-size:8px;padding:24px 21px}}
@media(max-width:380px){.fal-page .fal-container{width:calc(100% - 34px)}.fal-hero h1{font-size:72px}.fal-hero-grid{padding-top:160px}.fal-timeline-nav button{padding:10px 7px}.fal-timeline-nav button strong{font-size:10px}.fal-facts strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.fal-btn,.fal-pin{transition:none}}
