/* Memoryco Media website: cream + deep green, italic display logo, lots of photography. */
:root{--green:#2b392e;--green-2:#44624a;--cream:#fdfcee;--paper:#f4f3e6;--ink:#1f2a23;--muted:#6b746d;--line:#d9d8c8;
  --display:"Inter Tight","Helvetica Neue",Arial,sans-serif;--body:"Inter","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,3vw,40px);background:var(--cream);border-bottom:1px solid rgba(43,57,46,.08)}
.logo{font-family:var(--display);font-style:italic;font-weight:800;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;color:var(--green);text-decoration:none}
.quick{display:flex;align-items:center;gap:10px}
.pill{font-family:var(--display);font-style:italic;font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--green);border:1.5px solid var(--green);border-radius:999px;padding:9px 18px;transition:background .2s,color .2s}
.pill:hover{background:var(--green);color:var(--cream)}
.burger{width:38px;height:38px;border:0;border-radius:8px;background:var(--green);display:grid;place-content:center;gap:4px;cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--cream)}
.menu{position:fixed;inset:0;z-index:40;background:var(--green);display:grid;place-items:center}
.menu[hidden]{display:none}
.menu-links{display:flex;flex-direction:column;align-items:center;gap:14px}
.menu-links a{font-family:var(--display);font-style:italic;font-weight:700;font-size:clamp(28px,6vw,52px);color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:-.01em}
.menu-links a:last-child{font-size:16px;font-weight:400;font-style:normal;opacity:.7;letter-spacing:.08em;margin-top:14px}
.menu-links a[aria-current]{text-decoration:underline;text-underline-offset:8px}
@media (max-width:560px){.quick .pill[href="/contact-us"]{display:none}.pill{padding:8px 12px}}
/* home */
.slideshow{position:relative;height:calc(100vh - 75px);min-height:420px;max-height:1000px;overflow:hidden;background:var(--green)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slideshow button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:none;border:0;color:#fff;font-size:64px;font-weight:200;cursor:pointer;padding:0 22px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.prev{left:0}.next{right:0}
.eyebrow{font-family:var(--body);font-weight:300;font-size:15px;letter-spacing:.32em;text-transform:uppercase;color:#a9aa9e;margin:0 0 18px}
.worked{text-align:center;padding:56px 16px 60px;background:var(--green)}
.worked .eyebrow{color:rgba(253,252,238,.7)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px;max-width:980px;margin:0 auto}
.logos img{max-height:72px;max-width:170px;width:auto;object-fit:contain}
.statement{max-width:900px;margin:0 auto;padding:70px 20px 90px;text-align:center}
.big{font-family:var(--body);font-weight:500;font-size:clamp(16px,1.6vw,20px);line-height:1.8;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:0 0 34px}
.btn{display:inline-block;font-family:var(--display);font-style:italic;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--green);border:1.5px solid var(--green);border-radius:999px;padding:12px 26px;background:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover,.btn.solid{background:var(--green);color:var(--cream)}
.btn.solid:hover{background:var(--green-2)}
/* work */
.work{background:var(--green);color:var(--cream);padding:40px clamp(12px,4vw,60px) 80px;min-height:70vh}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px;margin:0 auto 36px}
.tabs button{background:none;border:0;border-bottom:1.5px solid rgba(253,252,238,.35);color:rgba(253,252,238,.6);font:300 12px var(--body);letter-spacing:.3em;text-transform:uppercase;padding:12px;cursor:pointer}
.tabs button[aria-selected=true]{color:var(--cream);border-bottom-color:var(--cream)}
.grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,22vw,330px);grid-auto-flow:dense;gap:12px}
.tile{display:block;border-radius:8px;overflow:hidden;cursor:zoom-in;background:rgba(253,252,238,.06)}
.tile.wide{grid-column:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
@media (max-width:700px){.grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:42vw}}
.tile:hover img{transform:scale(1.03)}
.videos{max-width:1100px;margin:0 auto;columns:3 300px;column-gap:14px}
.vid{margin:0 0 14px;break-inside:avoid;border-radius:8px;overflow:hidden;background:#000}
.vid video{width:100%;display:block}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(15,20,16,.94);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox img{max-height:92vh;width:auto;border-radius:6px}
.lb-close{position:absolute;top:12px;right:18px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer}
/* story + contact */
.hero-photo img{width:100%;max-height:78vh;object-fit:cover}
.hero-photo.short img{max-height:60vh}
.story{max-width:760px;margin:0 auto;padding:56px 20px 70px}
.story h2,.contact h1{font-family:var(--display);font-style:italic;font-weight:800;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.01em;text-transform:uppercase;color:var(--green);margin:0 0 22px;line-height:1.1}
.story p{font-size:17px;margin:0 0 18px}
.crumbs{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.crumbs a{text-decoration:none}
.row{display:flex;align-items:center;gap:18px;margin-top:28px!important}
.portrait{display:block;width:100%;height:auto;margin:46px auto 0;max-width:520px;border-radius:10px}
.contact{max-width:1100px;margin:0 auto;padding:60px 20px 80px;display:grid;grid-template-columns:1fr 1.2fr;gap:56px}
@media (max-width:820px){.contact{grid-template-columns:1fr;gap:36px}}
.details dl{display:grid;grid-template-columns:90px 1fr;gap:10px 14px;margin:0 0 22px}
.details dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.details dd{margin:0;font-size:17px}
.details a{text-decoration:none}
.spaced{font-family:var(--body);font-weight:400;font-size:15px;letter-spacing:.5em;text-transform:uppercase;color:var(--green);margin:0 0 18px}
.enquiry{display:grid;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px}
.enquiry label{display:grid;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.enquiry input,.enquiry textarea{font:400 16px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px;text-transform:none;letter-spacing:0}
.enquiry input:focus,.enquiry textarea:focus{outline:2px solid var(--green);outline-offset:1px}
.enquiry .btn{justify-self:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.form-note{margin:0;font-size:15px;color:var(--green);min-height:1em}
.foot{text-align:center;padding:46px 16px 40px;border-top:1px solid rgba(43,57,46,.1)}
.cta-link{display:inline-block;font-family:var(--display);font-style:italic;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);text-decoration:none;margin-bottom:22px}
.foot img{margin:0 auto 14px}
.foot p{margin:0;font-size:13px;color:var(--green-2)}
