:root{color-scheme:light;--navy:#0b1d33;--gold:#c8a96b;--muted:#b9c1cd;--white:#f9f6f2;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--navy);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0}
.landing{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr)}
.identity,.welcome{min-width:0}
.identity{background:var(--white);padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.identity-top{width:100%;height:1rem;display:flex;justify-content:center}
.small-rule{display:block;width:2.75rem;height:2px;background:var(--gold)}
.brand{width:100%;max-width:48rem;text-align:center;padding:3rem 0}
.brand-symbol{display:block;width:clamp(10rem,20vw,20rem);max-width:70%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:darken;margin:0 auto 1.5rem}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2rem,4.25vw,5rem);letter-spacing:.1em;line-height:1.2;margin:0;text-indent:.1em;overflow-wrap:anywhere}
h1 span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.75rem,1.15vw,1.25rem);font-weight:500;line-height:1.7;letter-spacing:.22em;text-indent:.22em;margin-top:1rem;color:#95743c;overflow-wrap:normal}
.identity-bottom{border-top:1px solid #dfd6c6;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.25rem;width:100%;max-width:48rem;padding-top:1.2rem;font-size:.75rem;letter-spacing:.15em;line-height:1.5;color:#66707b}
.welcome{background:var(--navy);color:var(--white);padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:space-between}
.welcome-content{width:100%;max-width:32rem;margin:auto 0;padding:2.5rem 0 3.5rem}
.gold-rule{height:2px;width:3.5rem;background:var(--gold);margin-bottom:2rem}
.eyebrow{font-size:.875rem;letter-spacing:.15em;line-height:1.7;color:var(--gold);margin:0 0 1.3rem}
h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.25rem,3.1vw,3.65rem);font-weight:400;line-height:1.17;letter-spacing:-.025em;margin:0 0 1.5rem;overflow-wrap:anywhere}
.intro{font-size:1rem;line-height:1.75;color:var(--muted);max-width:25rem;margin:0}
.contact{margin-top:2.5rem}
.contact-label{font-size:.875rem;letter-spacing:.15em;line-height:1.6;color:var(--gold);margin:0 0 .4rem}
.email{display:inline-flex;align-items:center;max-width:100%;min-height:2.75rem;padding:.4rem 0;font-size:1rem;line-height:1.65;color:var(--muted);text-decoration-color:#718092;text-underline-offset:5px;overflow-wrap:anywhere;transition:color .16s}
.email:hover{color:var(--gold)}
.contact-button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:12.5rem;max-width:100%;min-height:3.3rem;padding:.85rem 1.15rem;margin-top:1rem;background:var(--gold);border:1px solid var(--gold);color:var(--navy);text-decoration:none;font-size:1rem;line-height:1.5;transition:background .16s}
.contact-button span{flex:none;font-size:1.3rem;line-height:1}
.contact-button:hover{background:#dbc18e}
a:focus-visible{outline:3px solid #fff;outline-offset:5px}
footer{width:100%;max-width:32rem;border-top:1px solid #314053;padding-top:1.2rem;color:#a4afbd;font-size:.75rem;line-height:1.75;overflow-wrap:anywhere}
footer p{margin:0 0 .25rem}
/* Stack tablets before either panel becomes cramped. */
@media(max-width:63.99rem){
.landing{display:block}
.identity{padding:2rem max(2rem,env(safe-area-inset-right)) 1.5rem max(2rem,env(safe-area-inset-left))}
.identity-top{height:auto}
.brand{padding:1.5rem 0 2rem}
.brand-symbol{width:clamp(7rem,17vw,10rem);margin-bottom:1rem}
h1{font-size:clamp(2rem,6vw,3.8rem)}
h1 span{font-size:.875rem;letter-spacing:.2em;margin-top:.65rem}
.welcome{padding:2.25rem max(2rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left))}
.welcome-content{max-width:42rem;margin:0 auto;padding:0 0 2rem}
.gold-rule{margin-bottom:1.25rem}
.eyebrow{margin-bottom:.8rem}
h2{font-size:2.5rem;margin-bottom:1rem}
.desktop-break{display:none}
.contact{margin-top:1.5rem}
.contact-button{width:100%;max-width:24rem}
footer{max-width:42rem;margin:0 auto}
}
/* Compact phone branding keeps the contact details higher on the page. */
@media(max-width:37.5rem){
.identity{padding:max(1rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) 1rem max(1.25rem,env(safe-area-inset-left))}
.identity-top{display:none}
.brand{padding:.5rem 0 1.25rem}
.brand-symbol{width:clamp(5.5rem,22vw,7.25rem);margin-bottom:.65rem}
h1{font-size:clamp(1.6rem,6.8vw,2.55rem);letter-spacing:.08em;text-indent:.08em}
h1 span{font-size:.75rem;letter-spacing:.15em;text-indent:.15em;margin-top:.5rem}
.identity-bottom{padding-top:.75rem;letter-spacing:.08em}
.welcome{padding:1.5rem max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}
.welcome-content{padding-bottom:1.5rem}
.gold-rule{margin-bottom:1rem;width:2.75rem}
.eyebrow{font-size:.875rem;margin-bottom:.65rem}
h2{font-size:clamp(2rem,7.2vw,2.5rem)}
.intro{line-height:1.65}
.contact{margin-top:1.15rem}
.contact-button{max-width:none;margin-top:.65rem}
footer{padding-top:1rem}
}
/* Short landscape screens use content-driven heights and tighter spacing. */
@media(min-width:37.51rem) and (max-height:32rem) and (orientation:landscape){
.landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.identity,.welcome{padding:1.5rem max(1.5rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left))}
.identity-top{display:none}
.brand{padding:.75rem 0 1.5rem}
.brand-symbol{width:5.5rem;margin-bottom:.75rem}
h1{font-size:clamp(1.5rem,3.2vw,2.3rem);letter-spacing:.04em}
h1 span{font-size:.75rem;letter-spacing:.04em}
.identity-bottom{font-size:.75rem;letter-spacing:.03em}
.welcome-content{padding:0 0 1.5rem}
h2{font-size:2rem}
.gold-rule{margin-bottom:1rem}
.contact{margin-top:1rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
