/*
Theme Name: Glasswater Estate
Version: 0.1.0
Description: Architectural editorial theme for the Glasswater Estate prototype.
Requires at least: 6.8
Requires PHP: 8.3
Text Domain: glasswater
*/
@charset "UTF-8";
:root{--bg:#101716;--surface:#18211f;--surface2:#202b28;--ink:#e9ebe2;--muted:#a6b2aa;--accent:#b9d6c6;--line:#34423c;--error:#ffc8ba;--display:Georgia,'Times New Roman',serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}body.light{--bg:#f0f0e9;--surface:#e6e8de;--surface2:#dce2d8;--ink:#18231f;--muted:#52635a;--accent:#315b49;--line:#bdc8bd;--error:#a02f19;color-scheme:light}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,.button{background:var(--accent);color:var(--bg);padding:.85rem 1.2rem;border:1px solid var(--accent);font:inherit;font-size:.86rem;letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;gap:1rem;justify-content:space-between;align-items:center;transition:filter .2s}button:hover,.button:hover{filter:brightness(1.1);color:var(--bg)}button.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(2.6rem,6vw,5.7rem)/1.07 var(--display);letter-spacing:-.035em;max-width:1100px;margin-bottom:1.7rem}h2{font:400 clamp(1.8rem,3vw,2.65rem)/1.16 var(--display);letter-spacing:-.02em}h3{font:400 1.5rem/1.25 var(--display)}.site-header{padding:1.5rem 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:2rem}.brand{display:flex;gap:1rem;align-items:center;letter-spacing:.22em;font-size:1.15rem;text-decoration:none;line-height:1.2}.brand small{display:block;font:10px/2.5 Arial,sans-serif;letter-spacing:.22em}.brand-mark{font:italic 2.5rem var(--display);letter-spacing:-.1em;color:var(--accent)}nav{display:flex;gap:1.2rem;align-items:center}nav a,.text-button{font-size:12px;letter-spacing:.04em;text-decoration:none}.text-button,.theme-toggle{padding:.3rem;border:0;background:transparent;color:var(--ink)}nav form{margin:0}.theme-toggle{font-size:1.6rem}.menu-toggle{display:none}.prototype-strip{padding:.6rem 4vw;font-size:10px;letter-spacing:.16em;color:var(--accent);border-bottom:1px solid var(--line)}.prototype-strip span{margin-left:1.5rem;color:var(--muted);letter-spacing:.05em}main{max-width:1440px;margin:auto;padding:4.5rem 5vw 6rem;min-height:65vh}.page-intro{margin-bottom:2rem}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:1.3rem}.intro{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:750px;color:var(--muted);margin-bottom:2.5rem}.muted,small,.helptext{color:var(--muted);font-size:.85rem}.helptext{display:block}.helptext ul{padding-left:1.2rem}.panel,.card{background:var(--surface);border:1px solid var(--line);padding:2rem}.card{display:block;text-decoration:none;margin-bottom:1rem}.card p{color:var(--muted)}.card span:last-child{font-size:.85rem}.narrow{max-width:740px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.section{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--line)}.workspace-banner{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem;background:var(--surface);border-top:2px solid var(--accent);margin-bottom:2rem}.workspace-banner p:last-child{margin:0}.status{display:inline-block;border:1px solid var(--line);padding:.3rem .6rem;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 .4rem .7rem 0}.list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0;text-decoration:none}.list-row p{margin:0}.empty{padding:2rem;border:1px dashed var(--line);color:var(--muted)}label{display:block;margin-bottom:.5rem;font-size:.85rem}input,select,textarea{font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:.8rem;width:100%;border-radius:0}input[type=checkbox]{width:auto;margin-right:.6rem}textarea{min-height:110px;resize:vertical}form p{margin-bottom:1.4rem}.errorlist{color:var(--error);padding-left:1.2rem}.notice{padding:1rem 1.5rem;background:var(--surface2);border-left:3px solid var(--accent);margin:1rem 0 2rem}.notice.error{border-color:var(--error);color:var(--error)}.table-wrap{overflow-x:auto;margin:1.5rem 0}table{border-collapse:collapse;width:100%;min-width:620px;text-align:left}th,td{border-bottom:1px solid var(--line);padding:.8rem .5rem;vertical-align:top}th{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}td input{min-width:90px}td:first-child input{min-width:180px}.bid-total{font-size:1.2rem;text-align:right;border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:2rem}.bid-total strong{font:2rem var(--display);margin:0 1rem}.actions{display:flex;gap:1rem}.alternate-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.6rem;margin-bottom:1rem}.receipt{overflow-wrap:anywhere;font-size:1.3rem}footer{padding:3rem 5vw;border-top:1px solid var(--line);background:var(--surface)}footer .muted{max-width:700px}footer>span{display:block;color:var(--muted);font-size:11px;margin-top:2rem}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);color:var(--bg);padding:1rem;z-index:100}.skip:focus{top:10px}.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}.hero-art{position:absolute;inset:0;background:linear-gradient(180deg,#768d8b 0%,#819b98 47%,#355e5c 48%,#172d2a 100%)}.hero-art svg{width:100%;height:100%;opacity:.9}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101716 0%,#101716ad 28%,transparent 70%)}.hero-copy{position:relative;z-index:1;padding:5rem 5vw;max-width:1100px;color:#f4f1e8}.hero-copy h1{font-size:clamp(3.3rem,7vw,7rem)}.hero-copy .eyebrow{color:#d2e9dd}.hero-copy p{max-width:600px;color:#d9e0d7}.hero-meta{font-size:10px;letter-spacing:.1em;color:#d9e0d7}.public-content{max-width:1440px;margin:auto;padding:5rem 5vw}.public-nav{max-width:800px;flex-wrap:wrap;justify-content:flex-end}.public-statement{font:clamp(2rem,4vw,4rem)/1.2 var(--display);max-width:1000px}.feature-number{font:italic 3rem var(--display);color:var(--accent)}@media(max-width:1000px){.site-header{position:relative;flex-wrap:wrap}.menu-toggle{display:block}nav{display:none;width:100%;align-items:flex-start;flex-direction:column;padding:1rem 0}nav.open{display:flex}.grid.three{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:2rem}.hero{min-height:650px}.public-nav{align-items:flex-start}}@media(max-width:600px){main{padding-top:2.8rem}.prototype-strip span{display:block;margin:3px 0 0}.grid.two{grid-template-columns:1fr}.workspace-banner{display:block}.panel,.card{padding:1.2rem}.list-row{align-items:flex-start;flex-direction:column}.alternate-row{grid-template-columns:1fr 1fr}.actions{flex-direction:column}.brand{font-size:.95rem}.hero-copy{padding:3rem 5vw}.hero-copy h1{font-size:3rem}.hero{min-height:620px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{nav,.site-header,.prototype-strip,footer,button,.button{display:none}body{background:white;color:black}main{padding:0}.panel,.card,.workspace-banner{background:white;color:black;border:1px solid #aaa}}
.public-main{max-width:none;padding:0}.editorial-content>p{max-width:850px;font-size:1.13rem;color:var(--muted)}.editorial-content h2{margin-top:3rem}.editorial-content ul{max-width:850px;padding-left:1.2rem}.editorial-content li{margin:.5rem 0}.editorial-content .card p{font-size:1rem}.editorial-content form{max-width:720px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}

/* Approved GE identity — navy, lake blue and ivory */
:root{--bg:#0b2039;--surface:#112d4b;--surface2:#183957;--ink:#f7f5ef;--muted:#b9cbdc;--accent:#a6cfe9;--line:#34516d;--error:#ffd0c4}
body.light{--bg:#faf8f2;--surface:#edf3f8;--surface2:#dfebf4;--ink:#102a46;--muted:#435c74;--accent:#225f8c;--line:#bccfdf;--error:#a02f19}
.site-header{background:#faf8f2;color:#102a46;padding:1.1rem 4vw;gap:1.5rem;border-bottom:1px solid #c5d4df}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;letter-spacing:.12em;gap:.85rem;white-space:nowrap}
.brand small{font-size:9px;letter-spacing:.22em;color:#47799b}
.brand-emblem{display:block;flex:0 0 78px;width:78px;height:56px;position:relative;overflow:hidden;border-radius:50%;background:#faf8f2}
.brand-emblem img{position:absolute;width:164px!important;height:auto!important;max-width:none!important;left:-43px;top:-14px}
.site-header nav a{font-size:12px;letter-spacing:.02em}
.site-header nav a:hover{color:#226593}
.site-header .theme-toggle{color:#173b5e}
.site-header .menu-toggle{background:#173b5e;border-color:#173b5e;color:#fff}
.public-nav{gap:1rem;max-width:780px}
.prototype-strip{background:var(--surface)}
.hero-art{background:linear-gradient(180deg,#adc7db 0%,#8fb2cf 47%,#3f769e 48%,#102d4d 100%)}
.hero:after{background:linear-gradient(0deg,#0b2039 0%,#0b2039b8 32%,#0b203922 80%)}
.hero-copy .eyebrow,.hero-copy p,.hero-meta{color:#e0edf7}
.hero .button{background:#b5d8ee;color:#102a46;border-color:#b5d8ee}
.hero .button.secondary{background:#0b203950;color:#fff;border-color:#b5d8ee}
.card{border-top:2px solid var(--accent);transition:background .2s,border-color .2s}
.card:hover{background:var(--surface2)}
footer{background:#081a30;color:#f7f5ef}
footer .muted,footer>span{color:#b9cbdc}
footer a{color:#b5d8ee}
footer .brand small{color:#aacde5}
.footer-brand{margin-bottom:1.5rem}
h1,h2,h3{font-weight:400}
@media(max-width:600px){.brand{font-size:.88rem;letter-spacing:.08em;gap:.6rem}.brand small{font-size:8px}.brand-emblem{flex-basis:65px;width:65px;height:47px}.brand-emblem img{width:137px!important;left:-36px;top:-12px}.site-header{padding:1rem 5vw;gap:.8rem}.menu-toggle{font-size:12px;padding:.55rem .7rem}}

/* Palette drawn from project dusk renderings: concrete, blue glass, amber light. */
:root{--bg:#111f2b;--surface:#192c3b;--surface2:#233c4d;--ink:#f4f1e9;--muted:#b9c8d0;--accent:#9bbdd0;--line:#3b5260;--bronze:#d2b17b}
body.light{--bg:#f4f1e9;--surface:#e8edf0;--surface2:#dce6eb;--ink:#1b2d3b;--muted:#475f6e;--accent:#356783;--line:#bccbd2;--bronze:#8d682f}
.site-header{background:#f8f5ee;color:#1b2d3b}
.site-header .brand small{color:#52778e}
.hero{min-height:730px}
.hero-art.render-road{background-image:url('assets/estate-concept.png');background-size:200% 256%;background-position:left top;background-repeat:no-repeat}
.hero:after{background:linear-gradient(90deg,#101e2bec 0%,#101e2b9c 37%,#101e2b05 80%),linear-gradient(0deg,#111f2b 0%,transparent 40%)}
.hero-copy{max-width:800px;padding:4.5rem 5vw}
.hero-copy h1{font-size:clamp(3rem,5.4vw,5.6rem)}
.hero-copy .eyebrow{color:#ecd6b2}
.hero .button{background:#a9c9db;border-color:#a9c9db;color:#142a3a}
.hero .button.secondary{background:#142a3a66;border-color:#d2b17b;color:#fff}
footer{background:#0d1923}
.gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:2rem}
.gallery-intro h2{font-size:clamp(2rem,4vw,3.6rem);margin:0}
.gallery-intro .intro{margin:0}
.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.render-card{display:block;text-decoration:none;position:relative;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.render-card.wide{grid-column:span 2}
.render-image{height:340px;background-repeat:no-repeat;background-color:#233c4d}
.render-card.wide .render-image{height:480px}
.render-road{background-image:url('assets/estate-concept.png');background-size:200% 256%;background-position:left top}
.render-pool{background-image:url('assets/estate-concept.png');background-size:450% 900%;background-position:100% 97%}
.render-roof{background-image:url('assets/estate-concept.png');background-size:450% 900%;background-position:100% 45%}
.render-lounge{background-image:url('assets/lounge-concept.png');background-size:148.5% 181%;background-position:left top}
.image-caption{padding:1.5rem 1.8rem;border-top:1px solid var(--line)}
.image-caption span{font-size:10px;letter-spacing:.18em;color:var(--accent)}
.image-caption h3{margin:.5rem 0 0;font-size:1.7rem}
.render-card:hover{border-color:var(--bronze);color:var(--ink)}
.render-note{font-size:12px;color:var(--muted);max-width:850px;margin:1.5rem 0 0}
.editorial-content .render-gallery{margin-bottom:4rem}
@media(max-width:700px){.hero{min-height:0;display:block}.hero-art.render-road{height:60vw;min-height:220px}.hero-copy{padding:calc(60vw + 2rem) 5vw 3rem;max-width:none}.hero-copy h1{font-size:2.8rem}.hero:after{background:linear-gradient(0deg,#111f2b 0%,#111f2b 55%,transparent 80%)}.gallery-intro,.image-grid{grid-template-columns:1fr;gap:1rem}.gallery-intro{gap:1.5rem}.render-card.wide{grid-column:auto}.render-card.wide .render-image,.render-image{height:54vw;min-height:220px}.render-pool,.render-roof{background-size:450% 900%}.image-caption{padding:1.2rem}.image-caption h3{font-size:1.5rem}}
/* Frame the artwork without the board's baked-in captions. */
.hero-art.render-road,.render-road{background-size:200% 300%}
.render-image.render-pool,.render-image.render-roof{height:auto;min-height:0;aspect-ratio:3 / 1}
.render-image.render-pool{background-size:450% 1100%;background-position:100% 93.5%}
.render-image.render-roof{background-size:450% 1365%;background-position:100% 42.8%}

/* Review pass: an image-led estate story. */
.site-header .brand{font-size:1.18rem}.site-header .portal-link{padding:.75rem 1rem;background:#17374c;color:#fff;border:1px solid #17374c}
nav a[aria-current=page]{text-decoration:underline;text-decoration-color:#a78753;text-underline-offset:8px}
.hero-art.render-lake{background-image:url('assets/lake-hero.webp');background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero{min-height:620px}.hero-copy{max-width:700px;padding:4rem 5vw}.hero-copy h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}
.hero:after{background:linear-gradient(90deg,#101e2bbd 0%,#101e2b50 43%,transparent 78%),linear-gradient(0deg,#111f2b 0%,transparent 40%)}
.render-card>img{width:100%;height:260px;object-fit:cover;display:block}
.render-card:nth-child(4)>img{object-position:center 60%}
.editorial-photo{margin:0 0 3rem}.editorial-photo img{width:100%;height:auto;max-height:550px;object-fit:cover;display:block}
.editorial-content>.intro{margin-bottom:2rem}.editorial-content>h2{max-width:900px}
.editorial-content .image-text{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin:3rem 0}
.editorial-content .image-text img{width:100%;height:auto}
.stage-line{padding:1rem 1.3rem;border-left:3px solid var(--bronze);background:var(--surface);margin:2rem 0}
.opportunity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.opportunity-list article{padding:1.5rem;border:1px solid var(--line);background:var(--surface)}
.opportunity-list h3{margin-bottom:.6rem}.opportunity-list p:last-child{margin:0}
.footer-nav{display:flex!important;flex-wrap:wrap;flex-direction:row!important;padding:1.5rem 0;gap:1.4rem}
.image-viewer{background:#111f2b;color:#f4f1e9;border:1px solid #607b8d;padding:1rem;max-width:min(1100px,94vw);max-height:94vh}
.image-viewer::backdrop{background:#06111ce8}.image-viewer img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:1rem auto}
.viewer-close{display:block;margin-left:auto}.viewer-caption{margin:.5rem;font-size:.85rem}
@media(max-width:1000px){.public-nav{max-width:none}.public-nav .portal-link{display:inline-block}}
@media(max-width:700px){.hero{min-height:0}.hero-art.render-lake{height:58vw;min-height:210px;background-position:65% center}.hero-copy{padding:calc(58vw + 1.5rem) 5vw 2.5rem}.hero-copy h1{font-size:2.7rem}.hero:after{background:linear-gradient(0deg,#111f2b 0%,#111f2b 53%,transparent 80%)}.render-card>img{height:54vw;max-height:320px}.editorial-content .image-text,.opportunity-list{grid-template-columns:1fr}.footer-nav{display:flex!important}.brand{max-width:calc(100% - 75px)}.site-header .brand{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Narrative chapters: concise on the homepage, complete on the story page. */
.home-story{display:grid;grid-template-columns:1fr 1.25fr;gap:6vw;align-items:start;margin-bottom:5rem}
.home-story h2{font-size:clamp(2rem,3.7vw,3.6rem)}
.home-story .intro{font-size:1.2rem;margin-bottom:1.3rem}
.story-link{display:inline-block;margin:.5rem 1.5rem .5rem 0;color:var(--accent);font-size:.9rem}
.narrative-experience-link{margin-top:3rem}
@media(max-width:700px){.home-story{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}.home-story h2{margin-bottom:1rem}}

/* Suspended lounge story and homepage feature. */
.lounge-spotlight{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.lounge-spotlight-image img{display:block;width:100%;height:auto}
.lounge-spotlight h2{font-size:clamp(2rem,3.5vw,3.3rem)}
.lounge-chapter{margin:4rem 0}
.page-id-0 .editorial-photo{margin-bottom:2rem}
.lounge-chapter .editorial-photo img{max-height:600px}
@media(max-width:800px){.lounge-spotlight{grid-template-columns:1fr;gap:1.5rem}.lounge-chapter{margin:3rem 0}.lounge-spotlight h2{font-size:2rem}}
