*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #F7F5F2;--ink: #1B1B1B;--muted: #6B6B66;--line: #DEDAD2;--tide: #24504A;--tide-dim: #E4EBE9;--wave-blue: #4A7FB5;--wave-yellow: #E8B84B;--paper-raised: #FFFFFF;--font-display: "Cormorant Garamond", serif;--font-body: "Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{display:block;max-width:100%;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.frame-tag{font-family:var(--font-body);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay, 0s)}.reveal.in-view{opacity:1;transform:translateY(0)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:transparent;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;border-bottom:1px solid transparent}header.solid{background:var(--bg);border-bottom:1px solid var(--line)}nav{max-width:1300px;margin:auto;padding:1.75rem 3rem;display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:.05em;color:#fff;transition:color .35s ease}header.solid .logo{color:var(--ink)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{color:#ffffffd9;cursor:pointer;transition:color .25s ease;font-size:.9rem;letter-spacing:.02em;padding-bottom:.3rem;border-bottom:1px solid transparent}header.solid .nav-links a{color:var(--muted)}.nav-links a:hover,.nav-links a.active{color:#fff}header.solid .nav-links a:hover,header.solid .nav-links a.active{color:var(--ink);border-bottom-color:var(--tide)}.nav-right{display:flex;align-items:center;gap:1.5rem}.cart-button{position:relative;background:none;border:none;color:#ffffffe6;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}header.solid .cart-button{color:var(--ink)}.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;margin-left:.4rem;padding:0 .3rem;border-radius:999px;background:var(--tide);color:#fff;font-size:.65rem}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.25rem}.menu-toggle span{width:22px;height:1.5px;background:#fff;transition:background .35s ease}header.solid .menu-toggle span{background:var(--ink)}.mobile-menu{display:none;animation:fadeSlideUp .3s ease}@media (max-width: 860px){.nav-links{display:none}.menu-toggle{display:flex}nav{padding:1.25rem 1.5rem}header:not(.solid){background:linear-gradient(to bottom,rgba(0,0,0,.35),transparent)}.mobile-menu{display:flex;flex-direction:column;background:var(--bg);border-top:1px solid var(--line);padding:1.5rem;gap:1.25rem}.mobile-menu a{color:var(--ink);font-size:1.1rem;font-family:var(--font-display)}}footer{background:var(--ink);color:#ffffffd9;margin-top:6rem}.footer-inner{max-width:1300px;margin:0 auto;padding:5rem 3rem 3rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-logo{font-family:var(--font-display);font-size:1.4rem;color:#fff;margin-bottom:.75rem}.footer-tagline{color:#fff9;max-width:280px;line-height:1.6;font-size:.9rem}.footer-links{display:flex;gap:3rem}.footer-col{display:flex;flex-direction:column;gap:.75rem}.footer-col-label{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#ffffff73;margin-bottom:.25rem}.footer-col a{color:#fffc;font-size:.9rem;width:fit-content}.footer-col a:hover{color:#fff}.footer-newsletter{display:flex;flex-direction:column}.newsletter-row{display:flex;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem;gap:1rem}.newsletter-row input{background:none;border:none;color:#fff;font-family:var(--font-body);font-size:.9rem;flex:1;outline:none}.newsletter-row input::placeholder{color:#fff6}.newsletter-row button{background:none;border:none;color:#fff;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.newsletter-row button:hover{color:var(--tide-dim)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.5rem 3rem;font-size:.75rem;color:#fff6;text-align:center}@media (max-width: 768px){.footer-inner{grid-template-columns:1fr;padding:4rem 1.5rem 2rem;gap:2.5rem}}@media (max-width: 420px){.footer-links{flex-direction:column;gap:2rem}}.cart-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1400;opacity:0;pointer-events:none;transition:opacity .3s ease}.cart-scrim.open{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--bg);z-index:1500;transform:translate(100%);transition:transform .35s ease;display:flex;flex-direction:column;box-shadow:-10px 0 30px #0000001a}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 1.75rem 1.5rem;border-bottom:1px solid var(--line)}.cart-drawer-header h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500}.cart-drawer-header button{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--muted)}.cart-empty{padding:3rem 1.75rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:1rem}.cart-empty a{color:var(--tide)}.cart-items{list-style:none;overflow-y:auto;flex:1;padding:1rem 1.75rem}.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-item img{width:64px;height:80px;object-fit:cover;border-radius:3px}.cart-item-title{font-family:var(--font-display);font-size:1.05rem}.cart-item-size{color:var(--muted);font-size:.8rem;margin-top:.15rem}.cart-item-qty{display:flex;align-items:center;gap:.75rem;margin-top:.6rem}.cart-item-qty button{width:22px;height:22px;border:1px solid var(--line);background:none;border-radius:50%;font-size:.85rem;line-height:1}.cart-item-right{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:.9rem}.cart-item-remove{background:none;border:none;color:var(--muted);font-size:.75rem;text-decoration:underline}.cart-drawer-footer{padding:1.5rem 1.75rem 2rem;border-top:1px solid var(--line)}.cart-subtotal{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:1.2rem;margin-bottom:1rem}.checkout-button{width:100%;padding:1rem;background:var(--tide);color:#fff;border:none;border-radius:3px;font-size:.9rem;letter-spacing:.03em;transition:background .2s ease,opacity .2s ease}.checkout-button:hover:not(:disabled){background:#1c3d38}.checkout-button:disabled{opacity:.6;cursor:not-allowed}.checkout-error{margin-top:.75rem;font-size:.8rem;color:#b3402f;text-align:center}.checkout-note{margin-top:.75rem;font-size:.75rem;color:var(--muted);text-align:center;line-height:1.5}.hero{position:relative;height:100vh;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;animation:kenburns 16s ease-out forwards}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0000008c,#00000026,#0000000d)}.hero-content{position:absolute;left:8%;bottom:10%;z-index:2;max-width:650px;text-align:left;color:#fff}.eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:.75rem;margin-bottom:1.5rem;opacity:.9}.hero h1{font-family:var(--font-display);font-size:clamp(3rem,6vw,5.5rem);line-height:.95;font-weight:500;letter-spacing:-.03em}.hero-text{margin-top:2rem;max-width:500px;font-size:1.2rem;line-height:1.7;color:#ffffffe6}.hero-anim{opacity:0;animation:fadeSlideUp .9s ease forwards;animation-delay:var(--reveal-delay, 0s)}.scroll-cue{position:absolute;left:50%;bottom:2.5rem;transform:translate(-50%);z-index:2;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;display:flex;justify-content:center;padding-top:8px;opacity:0;animation:fadeIn .8s ease forwards;animation-delay:1s}.scroll-cue span{width:3px;height:8px;border-radius:999px;background:#ffffffd9;animation:scrollCueDrop 1.8s ease-in-out infinite}@keyframes scrollCueDrop{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:0}}@media (max-width: 640px){.hero-content{left:6%;right:6%;bottom:14%;max-width:none}.hero h1{font-size:clamp(2.25rem,10vw,3.25rem)}.hero-text{font-size:1rem;margin-top:1.25rem}.scroll-cue{bottom:1.5rem}}@media (prefers-reduced-motion: reduce){.hero-image{animation:none}}.wave-strip{background:var(--ink);overflow:hidden;padding:.7rem 0}.wave-track{display:flex;width:max-content;animation:waveScroll 18s linear infinite}.wave-graphic{width:1400px;height:60px;flex-shrink:0;display:block}.wave-back{stroke:var(--wave-blue);stroke-width:2;opacity:.55}.wave-front{stroke:var(--wave-yellow);stroke-width:2.5;opacity:.9}@keyframes waveScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.wave-track{animation:none}}.gallery-preview{max-width:1400px;margin:0 auto;padding:8rem 2rem 6rem}.gallery-header{text-align:center;margin-bottom:4rem}.gallery-header h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.gallery-item{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:4px;display:block}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover .gallery-image{transform:scale(1.03)}.gallery-item-caption{position:absolute;left:0;right:0;bottom:0;padding:1.25rem;display:flex;flex-direction:column;gap:.25rem;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);color:#fff;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-item-caption{opacity:1}.gallery-item-caption .frame-tag{color:#fffc}.gallery-item-title{font-family:var(--font-display);font-size:1.2rem}.gallery-cta{display:block;text-align:center;margin-top:3.5rem;font-size:.9rem;letter-spacing:.05em;color:var(--tide);border-bottom:1px solid transparent;width:fit-content;margin-inline:auto}.gallery-cta:hover{border-bottom-color:var(--tide)}@media (max-width: 768px){.gallery-grid{grid-template-columns:1fr}}.section-label{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);font-size:.75rem;margin-bottom:1rem}.page-header{max-width:1300px;margin:0 auto;padding:9rem 3rem 3rem;text-align:center}.page-header h1{font-family:var(--font-display);font-size:clamp(2.75rem,6vw,4.5rem);font-weight:500;letter-spacing:-.02em}.page-intro{max-width:560px;margin:1.5rem auto 0;color:var(--muted);line-height:1.7}.empty-state{text-align:center;color:var(--muted);padding:4rem 0}@media (max-width: 640px){.page-header{padding:7.5rem 1.5rem 2rem}}@media (max-width: 420px){.page-header h1{font-size:2.5rem}.page-intro{font-size:.9rem}}.gallery-page{min-height:60vh}.category-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;padding:0 3rem 3rem}.category-filter button{background:none;border:1px solid var(--line);border-radius:999px;padding:.5rem 1.1rem;font-size:.8rem;color:var(--muted);transition:all .2s ease}.category-filter button:hover{border-color:var(--tide);color:var(--tide)}.category-filter button.active{background:var(--tide);border-color:var(--tide);color:#fff}.contact-sheet{max-width:1400px;margin:0 auto;padding:0 2rem 6rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.frame{background:var(--paper-raised);border:1px solid var(--line);padding:.6rem .6rem 1rem;border-radius:2px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.frame:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.frame img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.frame figcaption{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .4rem .1rem}.frame-title{font-family:var(--font-display);font-size:1.15rem}.frame-location{font-size:.75rem;color:var(--muted)}@media (max-width: 960px){.contact-sheet{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.contact-sheet{grid-template-columns:1fr;padding:0 1.5rem 4rem;gap:1.25rem}.category-filter{padding:0 1.5rem 2.5rem;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.category-filter button{flex:none}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0a0a0af0;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .25s ease}.lightbox-content{max-width:min(900px,90vw);max-height:85vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:2px}.lightbox-caption{margin-top:1.5rem;text-align:center;color:#fff}.lightbox-caption .frame-tag{color:#fff9}.lightbox-caption h3{font-family:var(--font-display);font-size:1.6rem;margin:.4rem 0 .3rem}.lightbox-caption p{color:#ffffffa6;font-size:.85rem}.lightbox-shop-link{display:inline-block;margin-top:1rem;color:var(--tide-dim);border-bottom:1px solid var(--tide-dim);font-size:.85rem}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;line-height:1;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{background:none;border:none;color:#fff;font-size:1.75rem;opacity:.6;padding:1rem;flex-shrink:0}.lightbox-nav:hover{opacity:1}@media (max-width: 640px){.lightbox{padding:1rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}.lightbox-content img{max-height:60vh}}.product-grid{max-width:1200px;margin:0 auto;padding:0 2rem 6rem;display:grid;grid-template-columns:repeat(2,1fr);gap:3rem}.product-card{background:var(--paper-raised);border:1px solid var(--line)}.product-image{position:relative;padding:1.5rem 1.5rem 0}.product-image img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:10px solid white;box-shadow:0 1px 3px #00000026}.product-edition{position:absolute;top:2rem;left:2rem;background:#ffffffe6;padding:.25rem .6rem;border-radius:2px}.product-info{padding:1.5rem}.product-info h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500}.product-location{color:var(--muted);font-size:.85rem;margin-top:.2rem}.product-description{margin-top:.9rem;font-size:.9rem;line-height:1.6;color:#4a4a46}.size-select{display:flex;gap:.6rem;margin-top:1.25rem;flex-wrap:wrap}.size-select button{background:none;border:1px solid var(--line);padding:.4rem .75rem;font-size:.78rem;border-radius:3px;color:var(--muted)}.size-select button.active{border-color:var(--tide);background:var(--tide-dim);color:var(--tide)}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.product-price{font-family:var(--font-display);font-size:1.3rem}.add-to-cart{background:var(--ink);color:#fff;border:none;padding:.7rem 1.4rem;font-size:.8rem;letter-spacing:.03em;border-radius:3px;transition:background .2s ease}.add-to-cart:hover{background:var(--tide)}@media (max-width: 780px){.product-grid{grid-template-columns:1fr;padding:0 1.5rem 4rem}}.about-layout{max-width:1200px;margin:0 auto;padding:0 3rem 7rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-image img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:3px}.about-lead{font-family:var(--font-display);font-size:1.6rem;line-height:1.4;margin-bottom:1.5rem}.about-copy p{color:#4a4a46;line-height:1.8;margin-bottom:1.25rem}.about-facts{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--line);padding-top:1.75rem}.about-facts div{display:flex;justify-content:space-between;font-size:.9rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.fact-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}@media (max-width: 860px){.about-layout{grid-template-columns:1fr;padding:0 1.5rem 4rem}}.post-list{max-width:900px;margin:0 auto;padding:0 2rem 6rem;display:flex;flex-direction:column;gap:3rem}.post-card{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:center}.post-image{display:block}.post-image img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:3px;transition:opacity .2s ease}.post-image:hover img{opacity:.85}.post-body h2{font-family:var(--font-display);font-size:1.9rem;font-weight:500;margin:.5rem 0 .75rem}.post-body p{color:#4a4a46;line-height:1.7}.post-link{display:inline-block;margin-top:1rem;font-size:.85rem;color:var(--tide)}@media (max-width: 680px){.post-card{grid-template-columns:1fr}.post-list{padding:0 1.5rem 4rem}}.journal-post-image{max-width:900px;margin:0 auto 3rem;padding:0 2rem}.journal-post-image img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:3px}.journal-post-body{max-width:640px;margin:0 auto;padding:0 2rem 5rem}.journal-post-body p{color:#4a4a46;line-height:1.8;margin-bottom:1.5rem;font-size:1.05rem}.journal-post-page .status-cta{display:block;max-width:640px;margin:0 auto 5rem;padding:0 2rem}@media (max-width: 640px){.journal-post-image{padding:0 1.5rem;margin-bottom:2rem}.journal-post-body{padding:0 1.5rem 3rem}}.checkout-status-page{min-height:60vh;display:flex;align-items:center}.session-ref{margin-top:1rem;font-size:.75rem;color:var(--muted);font-family:monospace}.status-cta{display:inline-block;margin-top:2rem;color:var(--tide);border-bottom:1px solid var(--tide);font-size:.9rem}
