/* Diamond Homes — interior pages (gallery, contact, warranty) */
.page-hero{background:linear-gradient(180deg,var(--burgundy-deep),#332E28);color:var(--cream);text-align:center;padding:9.5rem 2rem 4.5rem;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:url('../images/exterior-2.jpg') center/cover;opacity:.12;pointer-events:none}
.page-hero>*{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.4rem,5vw,3.6rem)}
.page-hero .sub{font-weight:300;max-width:600px;margin:1.2rem auto 0;color:var(--sand-deep);font-size:1.02rem}
.page{max-width:1160px;margin:0 auto;padding:4.5rem 2rem}
.page-narrow{max-width:860px}

/* --- gallery page --- */
.gallery-page{padding:3.5rem 0 5rem}
.gallery-page .gal-tabs{margin-bottom:2.4rem}
.gal-section{max-width:1240px;margin:0 auto 3.6rem;padding:0 2rem}
.gal-section h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:1.1rem;display:flex;align-items:baseline;gap:.8rem}
.gal-section h2 small{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#8a8078}
.gal-section .gal-grid{padding:0}
.gal-grid.masonry{grid-auto-rows:220px;grid-auto-flow:dense}
.gal-grid.masonry .gal-item{aspect-ratio:auto;height:100%}
.gal-grid.masonry .gal-item.wide{grid-column:span 2}
.gal-grid.masonry .gal-item.tall{grid-row:span 2}
.gal-cta{text-align:center;margin-top:3rem}
.gal-cta p{font-family:var(--serif);font-size:1.5rem;margin-bottom:1.2rem;color:var(--burgundy)}
@media (max-width:640px){.gal-grid.masonry{grid-auto-rows:170px}.gal-grid.masonry .gal-item.wide{grid-column:span 1}}

/* --- light form (contact + warranty pages) --- */
.form-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:start}
.form-grid>*{min-width:0;max-width:100%}
.form-copy .contact-details a{overflow-wrap:anywhere}
.form-copy .kicker{margin-bottom:.4rem}
.form-copy h2{margin-bottom:1rem}
.form-copy p{color:#5f574f;font-weight:300;max-width:min(46ch,100%)}
.form-copy .contact-details{margin-top:2rem}
.form-copy .contact-details a{color:var(--ink)}
.form-copy .contact-details a:hover{color:var(--gold-deep)}
.form-copy .cd-label{color:var(--gold-deep)}
.form-copy .hours{margin-top:1.8rem;border-top:1px solid var(--sand-deep);padding-top:1.4rem}
.form-copy .hours p{font-size:.9rem;margin:.15rem 0}
.form-light{display:flex;flex-direction:column;gap:1.05rem;background:#fff;border:1px solid var(--sand-deep);padding:2.4rem;box-shadow:0 18px 50px rgba(46,42,37,.07)}
.form-light label{display:flex;flex-direction:column;gap:.45rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.form-light label .opt,.contact-form label .opt{color:#9a928a;letter-spacing:.1em;text-transform:none;display:block;font-size:.68rem;margin-top:-.1rem}
.form-row label{justify-content:flex-end}
.form-light .hint a{color:var(--burgundy);text-decoration:underline;text-decoration-color:var(--gold)}
.form-light .hint a:hover{color:var(--gold-deep)}
.form-light input,.form-light textarea,.form-light select{background:#FFFDF8;border:1px solid rgba(46,42,37,.22);color:var(--ink);padding:.85rem 1rem;font-family:var(--sans);font-size:.95rem;resize:vertical;letter-spacing:.01em}
.form-light input:focus,.form-light textarea:focus,.form-light select:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(192,160,98,.18)}
.form-light input[type=file]{padding:.6rem;font-size:.85rem;color:#5f574f;cursor:pointer}
.form-light input[type=file]::file-selector-button{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;background:var(--burgundy);color:var(--cream);border:none;padding:.55rem 1rem;margin-right:.9rem;cursor:pointer}
.form-light .hint{font-size:.78rem;color:#8a8078;letter-spacing:0;text-transform:none;font-weight:300}
.form-light .btn-submit{margin-top:.4rem}
.form-light .cf-note{color:var(--burgundy);min-height:1.3em;text-align:center;font-size:.9rem}
.form-light .cf-note.ok,.contact-form .cf-note.ok{color:var(--gold-deep);font-weight:400}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
fieldset.choices{border:1px solid rgba(46,42,37,.15);padding:1rem 1.1rem 1.1rem;margin:0}
fieldset.choices legend{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);padding:0 .4rem}
.choice-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.choice-row label{flex-direction:row;align-items:center;gap:.5rem;font-size:.82rem;letter-spacing:.04em;text-transform:none;color:var(--ink);border:1px solid rgba(46,42,37,.2);padding:.5rem .9rem;cursor:pointer;transition:all .2s;background:#FFFDF8}
.choice-row label:hover{border-color:var(--gold-deep)}
.choice-row label:has(input:checked){background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}
.choice-row input{accent-color:var(--gold-deep);margin:0}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.form-steps div{border-top:2px solid var(--gold);padding-top:.8rem}
.form-steps span{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--burgundy);line-height:1}
.form-steps p{font-size:.82rem;max-width:none;margin-top:.3rem}
.map-embed{margin-top:4rem;border:1px solid var(--sand-deep);height:clamp(320px,38vw,480px);width:100%;overflow:hidden;background:var(--sand) url('../images/lot-aerial.jpg') center/cover;position:relative}
.map-embed iframe{position:relative;z-index:1;background:transparent}
.map-links{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:920px){.form-grid{grid-template-columns:1fr;gap:2.6rem}.form-steps{grid-template-columns:1fr}}
@media (max-width:520px){.form-row{grid-template-columns:1fr}.form-light{padding:1.6rem}.page{padding:3rem 1.2rem}}
