:root{--ink:#112d36;--sea:#0b5966;--aqua:#b9ded8;--sand:#eee4d0;--gold:#c8903e;--cream:#fbfaf6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif;background:var(--cream)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif;line-height:1.06}h2{font-size:clamp(2.25rem,4vw,4rem)}a{color:inherit;text-decoration:none}.hero{min-height:720px;height:100vh;max-height:950px;color:white;background:linear-gradient(90deg,rgba(5,29,35,.79),rgba(5,29,35,.12)),url('assets/heroshot.png') center/cover;position:relative}nav{height:92px;display:flex;align-items:center;justify-content:space-between;width:min(1220px,92%);margin:auto}.brand{font-weight:700;letter-spacing:.14em;font-size:.88rem;display:flex;align-items:center;gap:10px}.brand img{width:34px;height:34px;object-fit:contain}.brand span{font-weight:400;opacity:.72}.navlinks{display:flex;align-items:center;gap:32px;font-size:.9rem}.nav-cta,.button{background:var(--gold);color:#fff;padding:13px 21px;border:0;cursor:pointer;font:600 .9rem 'DM Sans';display:inline-block}.menu{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.hero-copy{position:absolute;width:min(760px,88%);left:max(4%,calc((100% - 1220px)/2));top:28%}.eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:700}.gold{color:var(--gold)}h1{font-size:clamp(3rem,7vw,6.3rem);margin:14px 0 22px}.hero-copy>p:not(.eyebrow){max-width:500px;font-size:1.08rem;opacity:.92}.button b{padding-left:12px;font-size:1.15em}.scroll{position:absolute;bottom:36px;left:4%;font-size:.63rem;letter-spacing:.14em;display:flex;align-items:center;gap:10px}.scroll i{display:block;width:55px;height:1px;background:#fff}.intro{max-width:750px;margin:0 auto;padding:130px 24px 105px;text-align:center}.intro p:last-child{max-width:590px;margin:24px auto 0;color:#557078}.intro em,.contact em{color:var(--gold);font-weight:normal}.experiences{padding:90px max(4%,calc((100% - 1220px)/2));background:var(--sand)}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head h2{margin-bottom:0}.count{color:#63777b;font-size:.85rem;margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:38px 0 30px}.filter{padding:9px 16px;border:1px solid #cfc4ad;background:transparent;color:var(--ink);cursor:pointer;border-radius:30px;font:500 .82rem 'DM Sans'}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;cursor:pointer;position:relative;min-height:330px;overflow:hidden;box-shadow:0 6px 18px rgba(17,45,54,.06)}.card img{height:238px;width:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover img{transform:scale(1.05)}.card-info{padding:17px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.card h3{font:600 1.05rem/1.25 'DM Sans';margin:0}.tag{font-size:.62rem;letter-spacing:.1em;color:var(--gold);font-weight:700;margin:0 0 6px}.heart{position:absolute;right:12px;top:12px;border:0;background:#fff;color:var(--ink);border-radius:50%;width:37px;height:37px;cursor:pointer;font-size:1.15rem}.heart.saved{background:var(--gold);color:#fff}.how{background:var(--sea);color:#fff;padding:105px max(4%,calc((100% - 1220px)/2))}.how h2{margin:12px 0 56px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.steps article{border-top:1px solid rgba(255,255,255,.35);padding-top:20px}.steps span{font:500 .8rem 'DM Sans';color:#e9ba76}.steps h3{font-family:'Playfair Display';font-size:1.65rem;margin:12px 0}.steps p{color:#d3e0e1;max-width:280px}.contact{padding:110px max(4%,calc((100% - 1050px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{margin:12px 0 18px}.contact p:not(.eyebrow){color:#557078;max-width:420px}.dark{background:var(--ink);white-space:nowrap}footer{padding:28px 4%;border-top:1px solid #ddd8cb;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#597178}footer .brand{color:var(--ink)}dialog{border:0;padding:0;max-width:880px;width:min(90vw,880px);color:var(--ink);box-shadow:0 20px 70px #001f2a99;position:relative}dialog::backdrop{background:#001f2a99}.close{position:absolute;right:12px;top:10px;z-index:1;border:0;border-radius:50%;background:#fff;width:35px;height:35px;font-size:1.5rem;cursor:pointer}.modal-copy{padding:28px 34px 34px}.modal-copy h2{font-size:2.2rem;margin:10px 0 15px}.modal-copy>p:not(.eyebrow){color:#557078}.modal-copy .button{margin-top:10px}#modalImage{width:100%;height:340px;object-fit:cover;display:block}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,130px);background:var(--ink);color:#fff;padding:13px 20px;transition:.3s;z-index:2;font-size:.88rem}.toast.show{transform:translate(-50%,0)}
@media(max-width:750px){.hero{min-height:650px}.navlinks{display:none}.menu{display:block}.cards{grid-template-columns:repeat(2,1fr);gap:13px}.card{min-height:260px}.card img{height:176px}.card-info{padding:12px}.card h3{font-size:.88rem}.heart{width:32px;height:32px}.steps{grid-template-columns:1fr;gap:16px}.contact{padding-block:75px;display:block}.contact .button{margin-top:20px}footer{gap:14px;flex-wrap:wrap}#modalImage{height:230px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.card img{height:230px}.section-head{display:block}.count{margin-top:12px}}
.filters{margin-bottom:12px}.filter{padding:10px 18px;font-weight:600;font-size:.76rem;letter-spacing:.08em}.folder-note{margin:0 0 30px;color:#63777b;font-size:.85rem}.photo-open{overflow:hidden}.full-view{position:fixed;z-index:1000;inset:0;width:100vw;height:100vh;height:100dvh;margin:0;background:#111;overflow:auto}.full-view[hidden]{display:none}.close{position:fixed;left:22px;top:22px;right:auto;width:auto;height:auto;padding:10px 15px;border:0;border-radius:30px;background:#fff;color:var(--ink);font:600 .82rem 'DM Sans';z-index:2;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.25)}.close span{margin-left:4px}#modalImage{width:100%;height:100vh;height:100dvh;max-height:none;object-fit:contain;background:#111}.modal-copy{max-width:800px;margin:0 auto;padding:32px 34px 45px;background:var(--cream)}
.image-expand{display:block;width:100%;height:238px;padding:0;border:0;position:relative;cursor:zoom-in;overflow:hidden;background:var(--ink)}.image-expand img{height:100%;width:100%;object-fit:cover;display:block}.image-expand span{position:absolute;inset:auto 0 0;padding:10px;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font:600 .72rem 'DM Sans';letter-spacing:.08em;opacity:0;transition:opacity .2s}.image-expand:hover span,.image-expand:focus-visible span{opacity:1}.image-expand:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.share-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}@media(max-width:750px){.image-expand{height:176px}.image-expand span{opacity:1}.close{left:14px;top:14px}.close span{display:none}.modal-copy{padding:28px 22px 36px}.share-actions{margin-top:20px}}@media(max-width:430px){.image-expand{height:230px}}
.hero nav{height:112px}.hero .brand{font-size:1rem}.hero .brand img{width:205px;height:auto;max-height:66px;object-fit:contain}@media(max-width:750px){.hero nav{height:86px}.hero .brand img{width:166px;max-height:52px}.hero .brand{font-size:.8rem}}
.image-card{min-height:0}.image-card .image-expand{height:310px}.image-card .image-expand img{object-position:top}.image-card .image-copy{position:absolute;inset:auto 0 0;padding:55px 20px 19px;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.85));opacity:1;color:#fff}.image-card .image-copy strong{display:block;font:600 1.14rem/1.2 'DM Sans'}@media(max-width:750px){.image-card .image-expand{height:250px}}@media(max-width:430px){.image-card .image-expand{height:290px}}
