/* Already Enough — public site. Colours and type from Julie's brand guide
   (Documents: doc-ae-brand-guide-20261020). Avenir and Bellaboo are not web fonts;
   Nunito Sans and Parisienne stand in until licensed web versions are added. */
:root{
  --gold:#b8893f; --bronze:#8e6d3c; --cream:#f6f0e6; --navy:#2d4a69; --blush:#ffe0e6; --aqua:#bbe2e5;
  --ink:#2d4a69; --muted:#5b6f86; --rule:#e4d9c6; --white:#fffdf9;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Nunito Sans",system-ui,sans-serif; --script:"Parisienne",cursive;
}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}
a{color:var(--bronze);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
img{max-width:100%;display:block}
.wrap{max-width:1040px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-block:18px 14px;border-bottom:1px solid var(--rule)}
.brand{text-decoration:none;display:block;line-height:1}
.brand .w{font-family:var(--serif);font-weight:700;font-size:1.35rem;letter-spacing:.06em;color:var(--gold);display:block}
.brand .s{font-size:.62rem;letter-spacing:.14em;color:var(--bronze);display:block;margin-top:3px}
.brand .j{font-family:var(--script);font-size:1rem;color:var(--bronze);display:block;margin-top:2px}
.nav{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:.95rem}
.nav a{text-decoration:none;color:var(--navy);padding:4px 0;border-bottom:2px solid transparent}
.nav a[aria-current=page]{border-bottom-color:var(--gold)}
.nav a:hover{border-bottom-color:var(--aqua)}
/* hero */
.hero{padding-block:clamp(44px,8vw,100px) clamp(32px,5vw,60px)}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.01em;margin:0 0 22px;max-width:18ch;color:var(--navy)}
.hero .sub{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.6rem);font-style:italic;color:var(--bronze);max-width:28em;margin:0 0 30px;line-height:1.35}
.hero p{font-size:1.1rem;max-width:36em;margin:0 0 26px;color:var(--muted)}
/* buttons and doors */
.btn{display:inline-block;background:var(--bronze);color:#fff;text-decoration:none;padding:13px 24px;border-radius:999px;font-weight:700;font-size:1rem;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:#755a31}
.btn.quiet{background:transparent;color:var(--bronze);border:1.5px solid var(--bronze)}
.btn.quiet:hover{background:var(--blush)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.doors{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:560px){.doors{grid-template-columns:1fr 1fr;max-width:600px}}
.door{display:block;text-decoration:none;border-radius:14px;padding:18px 22px;font-family:var(--serif);font-weight:700;font-size:1.5rem;border:1.5px solid var(--bronze);color:var(--bronze);background:var(--white)}
.door:hover{background:var(--blush)}
.door.main{background:var(--bronze);color:#fff}
.door.main:hover{background:#755a31}
/* sections */
section{padding-block:clamp(36px,6vw,72px);border-top:1px solid var(--rule)}
/* blush and aqua are highlights, never full-width blocks */
section.blush,section.aqua{background:transparent}
section.blush h2,section.aqua h2{padding-bottom:10px;background:linear-gradient(var(--blush),var(--blush)) left bottom/72px 6px no-repeat}
section.aqua h2{background-image:linear-gradient(var(--aqua),var(--aqua))}
.hero h1{padding-bottom:16px;background:linear-gradient(90deg,var(--blush) 0 50%,var(--aqua) 50% 100%) left bottom/120px 6px no-repeat}
ul.points li::marker{color:var(--gold)}
input:focus,textarea:focus,select:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(187,226,229,.6);outline:none}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.1;margin:0 0 18px;max-width:22ch;color:var(--navy)}
h3{font-family:var(--serif);font-weight:700;font-size:1.4rem;margin:24px 0 6px;color:var(--navy)}
p,li{max-width:66ch}
.lead{font-size:1.15rem}
.two{display:grid;gap:24px 56px;grid-template-columns:1fr}
@media(min-width:760px){.two{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.three{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:700px){.three{grid-template-columns:repeat(3,1fr)}}
.three h3{margin-top:0}
ul.points{padding-left:1.1em}
ul.points li{margin-bottom:10px}
.muted{color:var(--muted)}
/* forms */
form{max-width:40em}
label{display:block;font-weight:700;margin:18px 0 6px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid var(--rule);border-radius:8px;background:var(--white);color:var(--ink)}
textarea{min-height:120px;resize:vertical}
.hint{color:var(--muted);font-size:.9rem;margin:4px 0 0}
fieldset{border:0;padding:0;margin:18px 0 0}
legend{font-weight:700;margin-bottom:6px}
.choice{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0}
.choice input{width:auto;margin-top:6px}
.notice{border-left:3px solid var(--gold);padding:10px 14px;background:var(--white);margin:20px 0}
.notice.ok{border-left-color:var(--aqua)}
/* facts only Julie can give — removed before launch */
.ask{background:#fff1cf;border-bottom:2px dotted var(--gold);padding:0 3px}
.ask::before{content:"Julie to confirm: ";font-weight:700;color:#8a6516}
/* photo slot: hidden until a real photo exists */
.portrait{display:none}
.portrait.has{display:block}
.portrait img{border-radius:16px;width:100%;max-height:70vh;object-fit:cover}
/* footer */
footer{border-top:1px solid var(--rule);padding-block:36px 56px;color:var(--muted);font-size:.9rem}
footer .cols{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
footer a{color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.btn,.door{transition:background .15s}}
