/* A photographic beginning, not a catalog index. Fixed media is decorative;
   every control remains in normal document flow and scrolling stays native. */
.fiberglass-mobile-shape{display:none}
.design-entry,.fiberglass-reference{position:relative;isolation:isolate;min-height:100svh;padding:108px var(--gutter,26px) 42px;background:#07121d;color:#f6f7f8}
.entry-environment,.fiberglass-environment{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#07121d}
.entry-environment::after,.fiberglass-environment::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#03101ddb 0%,#07152238 80%),linear-gradient(0deg,#030c15f5 0%,#07152208 75%,#030c1588 100%)}
.entry-environment-image,.fiberglass-environment>img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}
.entry-environment-image{position:absolute;inset:0;transition:opacity .65s ease}
.entry-environment-brochure{opacity:0}.design-entry[data-preview=fiberglass] .entry-environment-concept{opacity:0}.design-entry[data-preview=fiberglass] .entry-environment-brochure{opacity:1}
.entry-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:clamp(22px,4vh,44px)}
.entry-top .text-action{padding:10px 0;color:#e1e9ef}.entry-step{margin:0;color:#c4d4df;font-size:10px;text-transform:uppercase;letter-spacing:.18em;white-space:nowrap}
.entry-opening{max-width:770px}.entry-title{max-width:10.5ch;margin:12px 0 22px;font:400 clamp(54px,7.7vw,112px)/.99 Georgia,'Times New Roman',serif;letter-spacing:-.052em;text-wrap:balance;text-shadow:0 3px 32px #0003}
.entry-title:focus-visible,.fiberglass-detail h2[tabindex="-1"]:focus-visible{outline:none}
.entry-intro{max-width:46ch;margin:0;color:#d9e5ed;font-size:clamp(16px,1.4vw,20px);line-height:1.65}
.design-entry .eyebrow,.fiberglass-reference .eyebrow{color:#ccdae4}
.entry-paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,7vw,108px);max-width:1080px;margin-top:clamp(35px,6vh,70px)}
.entry-path{padding:22px 0 0;border-top:1px solid #d7e9f35e}.entry-path .eyebrow{font-size:10px}
.entry-path h2{max-width:15ch;margin:17px 0 15px;font:400 clamp(30px,3.1vw,45px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.03em;text-wrap:balance}
.entry-path>p:not(.eyebrow){max-width:41ch;margin:0;color:#cfdee8;font-size:14px;line-height:1.65}
.entry-action{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;margin-top:15px;padding:12px 0;background:none;color:#f5f8fa;border:0;border-bottom:1px solid #c3e3f199;text-align:left;font-size:16px;cursor:pointer;text-decoration:none}
.entry-action:hover{color:#c4ecff;border-color:#d8f0fc}.entry-action:disabled{cursor:default;opacity:.42}
.entry-image-caption{max-width:70ch;margin:34px 0 0;color:#bfd0db;font-size:10px;line-height:1.6}
.entry-resume{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:26px;padding-top:20px;border-top:1px solid #d7e9f32e;color:#c4d4df;font-size:12px}.entry-resume p{margin:0}
.entry-boundary,.reference-disclaimer,.reference-date{max-width:810px;color:#b7c9d6;font-size:12px;line-height:1.65}.entry-boundary{margin-top:16px}.reference-date{font-size:10px;color:#9fb2c0}

/* The active family owns the full environment. Its visible caption always
   states the reference boundary; the uncropped photograph remains expandable. */
.fiberglass-reference{background:#06111b}
.fiberglass-environment{position:fixed;inset:0}.fiberglass-environment>img{object-position:42% 50%;transition:opacity .3s ease}.fiberglass-environment[data-media=loading]>img{opacity:0}
.fiberglass-environment::after{background:linear-gradient(180deg,#020a14c9 0%,#06152122 48%,#020b14e8 100%),linear-gradient(90deg,#03101c33 0%,#05142233 47%,#04101ac9 100%)}
.fiberglass-opening{position:relative;max-width:960px}.fiberglass-opening .entry-title{max-width:none;font-size:clamp(52px,6.2vw,88px);margin:10px 0 15px}.fiberglass-opening .entry-intro{max-width:62ch;font-size:16px}
.fiberglass-navigation{margin:28px 0 0;min-width:0;border-top:1px solid #d7e9f35e;border-bottom:1px solid #d7e9f35e;background:#06142059}
.fiberglass-models{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b3cddb59 transparent;padding:2px 0 7px;max-width:100%}
.fiberglass-model{flex:0 0 auto;min-height:54px;padding:12px 17px;border:0;border-bottom:2px solid transparent;background:none;color:#d1dde6;text-align:left;font:400 21px Georgia,'Times New Roman',serif;cursor:pointer;white-space:nowrap}
.fiberglass-model:hover{color:#fff}.fiberglass-model[aria-pressed=true]{color:#fff;border-bottom-color:#d2efff;background:#c5e5f414}
.fiberglass-select-label,.fiberglass-model-select{display:none}
.fiberglass-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,390px);gap:clamp(30px,5vw,76px);align-items:start;min-width:0;margin-top:32px}
.fiberglass-scene-space{display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(310px,49svh,590px);padding:24px 0}
.fiberglass-scene-label{margin:0 0 12px;max-width:14ch;font:400 clamp(39px,5vw,74px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.035em;text-shadow:0 2px 30px #0008}
.fiberglass-environment-caption{max-width:58ch;margin:0;color:#f0f4f7;font-size:11px;line-height:1.6;text-shadow:0 2px 6px #000}
.fiberglass-detail{min-width:0;padding:28px clamp(22px,2.4vw,36px);border-top:1px solid #daedf270;background:linear-gradient(135deg,#091d2cee,#06111ee8);box-shadow:0 18px 50px #0002}
.fiberglass-detail>.eyebrow{margin:0 0 16px;font-size:10px}.fiberglass-detail h2{margin:0 0 23px;font:400 clamp(36px,3.8vw,56px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.036em;text-wrap:balance}
.fiberglass-prompt{color:#d5e1eb;font-size:14px;line-height:1.65}.fiberglass-sizes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.fiberglass-size{min-width:66px;min-height:49px;padding:11px 16px;background:#b9d3e405;border:1px solid #a7c9e061;color:#f3f7f9;font-size:16px;cursor:pointer}.fiberglass-size:hover{border-color:#d4eaf7}.fiberglass-size[aria-pressed=true]{background:#e2f1f9;color:#071722;border-color:#e2f1f9}
.fiberglass-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;margin:26px 0}.fiberglass-facts dt{color:#b7cbd8;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.fiberglass-facts dd{margin:7px 0 0;color:#f4f7fa;font:400 clamp(25px,2.5vw,34px) Georgia,'Times New Roman',serif}
.fiberglass-continue{display:flex;width:100%;min-height:54px;justify-content:center;border:1px solid #e0eff7;background:#e0eff7;color:#071724;margin:26px 0 0;padding:14px 20px;font-weight:500}.fiberglass-continue:hover:not(:disabled){background:#fff;color:#071724;border-color:#fff}.fiberglass-continue:disabled{background:#c4dfef0d;color:#d4e1e9;border-color:#bedbe83b;opacity:.62}
.reference-source{display:inline-block;padding:10px 0;color:#d4ebf8;font-size:12px;line-height:1.55}.entry-warning{padding:13px 0;border-block:1px solid #d8b77570;color:#f0d3a8;font-size:12px;line-height:1.6}
.fiberglass-full-photo,.fiberglass-plan{margin:24px 0 0;border-top:1px solid #d4e3ee35;border-bottom:1px solid #d4e3ee35}.fiberglass-plan{margin-top:0;border-top:0}
.fiberglass-full-photo summary,.fiberglass-plan summary{min-height:50px;padding:16px 0;color:#dfedf6;font-size:12px;line-height:1.6;cursor:pointer}
.fiberglass-figure{margin:0 0 20px}.fiberglass-figure img,.fiberglass-plan img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}.fiberglass-figure figcaption{margin-top:10px;font-size:10px;line-height:1.6;color:#b9cdda}.fiberglass-plan .reference-disclaimer{margin:12px 0 20px}
.fiberglass-boundary{max-width:70ch;margin:30px 0 0;color:#bdcfda;font-size:10px}

@media(max-width:1000px) and (orientation:portrait),(max-width:760px){
  .design-entry,.fiberglass-reference{padding:99px max(22px,env(safe-area-inset-left)) 32px}
  .entry-top{margin-bottom:25px}.entry-step{font-size:8px;letter-spacing:.1em}.entry-top .text-action{font-size:9px;letter-spacing:.12em}
  .entry-title{font-size:clamp(54px,10.5vw,80px);max-width:11ch}.entry-intro{font-size:16px;max-width:40ch}
  .entry-environment-image{object-position:60% 50%}.entry-environment::after{background:linear-gradient(180deg,#03101dad 0%,#07152240 30%,#030c15f7 75%),linear-gradient(90deg,#03101d99,transparent)}
  .entry-paths{gap:30px;margin-top:38px}.entry-path h2{font-size:29px}.entry-path>p:not(.eyebrow){font-size:13px}.entry-action{font-size:14px}.entry-image-caption{margin-top:28px}
  .fiberglass-opening .entry-title{font-size:clamp(46px,8.5vw,76px)}.fiberglass-opening .entry-intro{font-size:14px;max-width:38ch}
  .fiberglass-navigation{padding:13px 16px;margin-top:23px;background:#071826bc}.fiberglass-models{display:none}.fiberglass-select-label{display:block;color:#bdcfdd;font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:9px}
  .fiberglass-model-select{display:block;width:100%;min-height:44px;padding:8px 34px 8px 0;border:0;border-radius:0;background:#071826;color:#f1f6fa;font:400 22px Georgia,'Times New Roman',serif;color-scheme:dark}
  .fiberglass-layout{display:block;margin-top:0}.fiberglass-scene-space{min-height:38svh;padding:22px 0}.fiberglass-scene-label{font-size:clamp(42px,9vw,68px)}.fiberglass-environment-caption{font-size:10px;max-width:54ch}
  .fiberglass-environment>img{object-position:42% 45%}.fiberglass-environment::after{background:linear-gradient(180deg,#020a14bf 0%,#06152126 48%,#020b14db 100%)}
  .fiberglass-detail{padding:27px 25px;background:#071825f2}.fiberglass-detail h2{font-size:43px}.fiberglass-facts{gap:21px}.fiberglass-facts dd{font-size:32px}.fiberglass-continue{font-size:16px}
}
@media(max-width:560px){.entry-paths{grid-template-columns:1fr;gap:26px}.entry-path{padding-top:17px}.entry-path h2{max-width:19ch;margin:12px 0;font-size:31px}.entry-path>p:not(.eyebrow){max-width:35ch}.entry-title{font-size:57px}.entry-resume{gap:8px}.entry-image-caption{max-width:44ch}.fiberglass-reference .entry-top{gap:12px}.fiberglass-reference .entry-step{max-width:10ch;white-space:normal;line-height:1.5;text-align:right}}
@media(prefers-reduced-motion:reduce){.design-entry *,.fiberglass-reference *,.design-board *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Phone-first brochure photography: approved top controls are unchanged.
   Natural image height preserves the entire original photograph, upright. */
@media(max-width:800px){
  .fiberglass-reference{padding:82px max(16px,env(safe-area-inset-left)) 32px}
  .fiberglass-reference .entry-top{margin:0 0 8px;min-height:32px}
  .fiberglass-reference .entry-step,.fiberglass-opening>.eyebrow,.fiberglass-opening>.entry-intro{display:none}
  .fiberglass-opening .entry-title{font-size:30px;line-height:1.1;margin:0 0 12px}
  .fiberglass-reference .fiberglass-scene-space{display:none}
  .fiberglass-reference .fiberglass-environment{position:absolute;height:230px;opacity:.2}
  .fiberglass-reference .fiberglass-navigation{padding:0 10px;margin:0;background:#102636}
  .fiberglass-reference .fiberglass-select-label{display:none}
  .fiberglass-reference .fiberglass-model-select{background:#102636;font-size:20px;min-height:46px}
  .fiberglass-reference .fiberglass-detail{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
  .fiberglass-detail[data-selected=true]>h2,.fiberglass-detail[data-selected=true]>.eyebrow,.fiberglass-detail[data-selected=true]>.fiberglass-prompt{display:none}
  .fiberglass-reference .fiberglass-sizes{gap:8px;margin:8px 0 0}
  .fiberglass-reference .fiberglass-size{min-height:44px;min-width:58px;padding:8px 12px;font-size:15px}
  .fiberglass-reference .fiberglass-mobile-shape{display:block;margin:10px 0 0}
  .pool-photo-frame{display:block;width:calc(100% + 32px);margin-inline:-16px;background:#102636}
  .pool-photo-image{display:block;width:100%;height:auto;object-fit:contain}
  .pool-photo-frame:focus-visible,.pool-photo-open:focus-visible{outline:2px solid #e5d6b4;outline-offset:3px}
  .pool-photo-caption{font-size:11px;line-height:1.5;color:#c7d6df;margin:10px 0 0}
  .pool-photo-open{display:inline-flex;align-items:center;min-height:44px;color:#dfedf6;font-size:12px;text-underline-offset:4px}
  .pool-photo-details{margin:0;border-block:1px solid #d4e3ee35}
  .pool-photo-details summary{min-height:44px;padding:12px 0;cursor:pointer;color:#dfedf6;font-size:13px}
  .pool-photo-details img{display:block;width:100%;height:auto;object-fit:contain;background:white}
  .pool-photo-measurements,.pool-photo-limit{font-size:12px;line-height:1.6;color:#c7d6df}
  .fiberglass-detail>.fiberglass-facts,.fiberglass-detail>.fiberglass-plan,.fiberglass-detail>.fiberglass-full-photo{display:none}
  .fiberglass-reference .fiberglass-continue{margin-top:18px}
}

/* Existing acknowledged design-board rules are preserved independently of the
   entry experiment. They remain UI beside, never authority inside, a renderer. */
.design-board{margin:0 0 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.design-board .eyebrow{font-size:10px;letter-spacing:.17em;margin:0 0 10px}.design-board-headline{font:400 21px/1.35 Georgia,'Times New Roman',serif;margin:0 0 12px;overflow-wrap:anywhere}.design-board-limit{font-size:11px;line-height:1.55;color:var(--quiet);margin:12px 0 0;max-width:600px}.design-board-swatches{display:flex;gap:10px;flex-wrap:wrap}.design-board-swatch{display:block;width:38px;height:20px;border:1px solid #ffffff44}.design-board-details summary{cursor:pointer;min-height:36px;padding:10px 0;font-size:12px;color:var(--muted)}.design-board-list{margin:8px 0}.design-board-list>div{display:grid;grid-template-columns:minmax(70px,.6fr) minmax(0,1.4fr);gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.5}.design-board-list dt{color:var(--quiet)}.design-board-list dd{margin:0;overflow-wrap:anywhere}.design-board-dimension,.design-board-retained{display:block;font-size:11px;color:var(--muted)}.design-board-retained{color:var(--warn)}
#reveal-design-board{margin:25px 0 40px}#reveal-design-board .design-board-headline{font-size:clamp(23px,3vw,34px)}
@media(max-width:760px){.design-board{padding:16px 0;margin-bottom:24px}.design-board-headline{font-size:18px}.design-board-limit{font-size:10px}}
#design-board{position:absolute;z-index:2;top:clamp(140px,19svh,230px);left:var(--gutter);width:min(calc(60% - var(--gutter)*2),calc(100% - 440px - var(--gutter)*2));margin:0;padding:28px 0;border-top:1px solid #dae2dc66;border-bottom:0}
#design-board .design-board-headline{font-size:clamp(30px,3.2vw,52px);line-height:1.12;max-width:19ch;margin:20px 0 30px}
#design-board .design-board-swatch{width:72px;height:64px;border-radius:3px;box-shadow:0 4px 18px #0004}
#design-board .design-board-details{margin-top:24px}#design-board .design-board-list{background:#061319f2;padding:4px 16px;max-height:35svh;overflow:auto}#design-board .design-board-limit{max-width:50ch;color:#cfdbd9}
.composer:has(#design-board) .visual-caption{display:none}
@media(max-width:1000px) and (orientation:portrait),(max-width:760px){
  #design-board{position:relative;top:auto;left:auto;width:auto;margin:0;padding:22px 24px;background:#0d2028;border:0}
  #design-board .design-board-headline{font-size:26px;margin:12px 0 16px;max-width:none}#design-board .design-board-details{margin-top:8px}#design-board .design-board-swatch{width:40px;height:34px}#design-board[data-recorded="0"]{display:none}.composer:has(#design-board) .decision-pane{margin-top:0}
}
@media(max-width:760px){.composer .visual-pane{height:130px;min-height:130px;max-height:130px}.composer .visual-status{bottom:16px}#design-board{padding:14px 24px}#design-board .design-board-headline{font-size:24px;margin:10px 0 12px}#design-board .design-board-limit{margin:6px 0 0}}
