:root{--ivory:#f5f0e7;--blue:#71899a;--ink:#3d4242}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Georgia,"Yu Mincho",serif;line-height:2}header{position:fixed;z-index:8;inset:0 0 auto;display:flex;justify-content:space-between;padding:22px 5vw;background:linear-gradient(#f5f0e7dd,transparent)}header a{color:inherit;text-decoration:none;letter-spacing:.13em}nav{display:flex;gap:25px;font:10px Arial}.hero{min-height:100svh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:10vh 7vw;gap:7vw}.photo{display:grid;place-items:center;color:#fff9;letter-spacing:.25em;background:linear-gradient(140deg,#bfc9cb,#657887)}.hero-photo{height:78vh}.hero p,.story p,.plan>p,.contact>p{font:10px Arial;letter-spacing:.3em;color:var(--blue)}.hero h1,.story h2,.contact h2{font-weight:400;font-size:clamp(38px,5vw,68px);line-height:1.5}.story{padding:160px 12vw;max-width:1100px}.gallery{padding:30px 7vw 160px;display:grid;grid-template-columns:repeat(2,1fr);gap:9vw 6vw;align-items:start}.gallery figure{margin:0}.gallery .photo{height:48vh}.gallery .tall .photo{height:76vh}.gallery .wide{grid-column:1/-1;width:78%;margin:auto}.gallery .wide .photo{height:60vh}.g2{background:linear-gradient(145deg,#d9d2c5,#8f8377)}.g3{background:linear-gradient(145deg,#899eab,#394b58)}.g4{background:linear-gradient(145deg,#c6b5a5,#79675b)}.g5{background:linear-gradient(145deg,#aab7b3,#506560)}figcaption{text-align:right;font-size:11px;letter-spacing:.15em}.plan{margin:0 7vw;padding:110px 8vw;background:#dbe1df;display:grid;grid-template-columns:1fr 1fr;align-items:end}.plan h2{font-weight:400;font-size:40px}.plan b{font-size:42px}.plan span{font-size:12px}.contact{text-align:center;padding:160px 5vw}.contact a{color:inherit}.contact small{display:block;margin-top:35px}.js .reveal,.js .reveal-photo{opacity:0;transform:translateY(35px);transition:1s}.js .reveal-photo .photo{filter:blur(18px);transform:scale(1.04);transition:filter 1.3s,transform 1.3s}.js .is-visible{opacity:1;transform:none}.js .is-visible .photo{filter:none;transform:none}@media(max-width:760px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:12vh}.hero-photo{height:55vh}.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:auto;width:100%}.gallery .photo,.gallery .tall .photo,.gallery .wide .photo{height:55vh}.plan{grid-template-columns:1fr}.story{padding:110px 7vw}}
