@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:3px}::selection{background:#d5dfab;color:#242722}
/* Concept directory */
.gallery-page{background:#f0eee8;color:#20241f;font-family:'DM Sans',Arial,sans-serif}.gallery-nav{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid #d4d2c8}.gallery-mark{font-size:15px;font-weight:700;letter-spacing:-.04em}.gallery-mark span{font-weight:400;color:#777c73}.gallery-nav-meta,.gallery-nav-link{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.gallery-nav-link{border-bottom:1px solid;padding-bottom:5px}.gallery-intro{padding:110px 5.5% 100px;min-height:810px}.gallery-eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;display:flex;align-items:center;gap:10px}.pulse{width:7px;height:7px;background:#7c875c;border-radius:50%}.gallery-intro h1{font-size:clamp(75px,10.3vw,180px);line-height:.88;font-weight:500;letter-spacing:-.087em;margin:42px 0 60px}.gallery-intro h1 em,.gallery-details h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.07em}.gallery-intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-intro-bottom p{font-size:17px;line-height:1.55;max-width:430px;color:#62675e;margin:0}.round-arrow{width:73px;height:73px;border:1px solid #252b24;border-radius:50%;display:grid;place-items:center;font-size:27px;transition:.2s}.round-arrow:hover{background:#212820;color:white}.gallery-projects{padding:0 5.5% 130px}.gallery-section-heading{display:flex;justify-content:space-between;border-top:1px solid #bfc1b8;padding:18px 0 35px;font-size:11px;letter-spacing:.14em;font-weight:700}.project-card{display:block;position:relative;overflow:hidden;height:min(62vw,740px);min-height:470px;color:white;margin-bottom:26px}.project-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.65,.2,1)}.project-card:hover .project-photo{transform:scale(1.045)}.project-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 32%,transparent 40%,rgba(0,0,0,.52))}.project-mira .project-photo{background-position:center 55%}.project-atelier .project-photo{background-position:center 45%}.project-northline .project-photo{background-position:center 47%}.project-top,.project-bottom{position:absolute;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.project-top{top:35px;font-size:12px;font-weight:600;letter-spacing:.1em}.project-open{border:1px solid #ffffff8a;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:20px}.project-bottom{bottom:38px;align-items:end}.project-bottom h2{margin:10px 0 0;font-size:clamp(72px,11vw,175px);letter-spacing:-.095em;line-height:.79;font-weight:500}.project-bottom h2 i{font-family:'Playfair Display',Georgia,serif;font-weight:400}.project-bottom small{font-size:11px;letter-spacing:.16em}.project-pill{border:1px solid #ffffffbd;background:#ffffff12;backdrop-filter:blur(12px);border-radius:40px;padding:17px 23px;font-size:12px;white-space:nowrap}.project-northline h2{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.115em;line-height:.82}.dot{color:#d7e17e}.gallery-details{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:110px 5.5% 140px;background:#d9dcd2}.gallery-details h2{font-size:clamp(58px,6.8vw,115px);line-height:.96;letter-spacing:-.075em;font-weight:500;margin:45px 0}.gallery-capabilities{align-self:end}.gallery-capabilities div{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid #acb2a5;font-size:19px}.gallery-capabilities b{font-size:11px;margin-top:6px}.gallery-capabilities p{max-width:450px;color:#5d6759;font-size:13px;line-height:1.7;margin-top:38px}.gallery-footer{background:#202821;color:#e8eae4;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:40px 5.5%;font-size:11px;letter-spacing:.08em}.gallery-footer a{border-bottom:1px solid;padding-bottom:5px}
/* Shared commerce structure */
body[data-store]{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}body[data-store='mira']{--bg:#f1efe7;--ink:#29342c;--muted:#76796e;--line:#d6d8ce;--accent:#637657;--surface:#e2e4d7;--button:#304737;--contrast:#f7f5ed}body[data-store='atelier']{--bg:#f5f1e8;--ink:#3b342c;--muted:#827a70;--line:#d8d0c5;--accent:#9b6d46;--surface:#e6ded1;--button:#533f30;--contrast:#fff9f0}body[data-store='northline']{--bg:#ebece8;--ink:#171a1b;--muted:#6e7474;--line:#cbd0cc;--accent:#717e27;--surface:#d9ddda;--button:#1c2222;--contrast:#f5f7ec}
.announcement{background:var(--ink);color:var(--contrast);text-align:center;padding:9px 16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.concept-strip{background:#dce1d3;color:#334133;text-align:center;padding:9px 16px;font-size:10px;letter-spacing:.06em}.concept-strip a{text-decoration:underline;text-underline-offset:3px}.atelier .concept-strip{background:#ebe0d2;color:#684c36}.northline .concept-strip{background:#dfe5c0;color:#303a19}
.store-header{height:83px;padding:0 4.8%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:15}.header-left,.header-right{display:flex;align-items:center;gap:34px}.header-right{justify-content:end}.store-header a,.header-button{background:none;border:0;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:10px 0}.store-header .logo{font-size:33px;letter-spacing:-.08em;font-weight:600;line-height:1;white-space:nowrap}.store-header .logo small{font-size:9px;letter-spacing:.2em;display:block;text-align:center;margin-top:6px;font-weight:500}.store-header .logo span{font-style:italic;font-family:'Playfair Display',Georgia,serif;font-weight:400}.cart-count{background:var(--ink);color:var(--bg);font-size:9px;border-radius:50%;width:19px;height:19px;display:inline-grid;place-items:center;margin-left:4px;vertical-align:middle}.mobile-menu{display:none}.mobile-links{display:none}
.store-hero{min-height:670px;display:grid;grid-template-columns:44% 56%;background:var(--surface)}.hero-copy{padding:76px 8% 68px 11%;display:flex;flex-direction:column;align-items:start;justify-content:center;position:relative}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase}.hero-copy h1{font-size:clamp(67px,6.2vw,112px);line-height:.94;letter-spacing:-.072em;font-weight:500;margin:28px 0}.hero-copy p{font-size:15px;line-height:1.65;max-width:350px;color:var(--muted);margin:0 0 33px}.primary-btn{display:inline-flex;align-items:center;gap:28px;background:var(--button);color:#fff;border:1px solid var(--button);padding:17px 23px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;transition:.2s}.primary-btn:hover{background:transparent;color:var(--ink)}.hero-image{min-height:600px;position:relative;background-image:var(--hero);background-size:cover;background-position:center}.hero-image .hero-tag{position:absolute;bottom:27px;right:30px;color:white;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.hero-index{position:absolute;bottom:28px;left:11%;font-size:11px;color:var(--muted)}
.store-benefits{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:28px 6%}.store-benefits div{display:flex;align-items:center;justify-content:center;gap:13px;border-right:1px solid var(--line);font-size:11px;letter-spacing:.06em}.store-benefits div:last-child{border:0}.benefit-symbol{font-size:19px;color:var(--accent)}.section-shell{padding:100px 5.5%}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px}.section-intro h2{font-size:clamp(46px,5.1vw,82px);font-weight:500;letter-spacing:-.07em;line-height:1;margin:18px 0 0}.section-intro p{max-width:310px;line-height:1.5;font-size:14px;color:var(--muted);margin:0}.filter-row{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.filter-button{padding:11px 20px;border:1px solid var(--line);border-radius:40px;background:transparent;color:var(--muted);font-size:11px}.filter-button.active,.filter-button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 17px}.product-card{min-width:0}.product-image{aspect-ratio:1/1;position:relative;overflow:hidden;background-image:var(--grid-image);background-size:300% 200%;background-repeat:no-repeat;background-color:var(--surface)}.product-image:hover .quick-add{transform:translateY(0);opacity:1}.product-tag{position:absolute;top:18px;left:18px;background:var(--bg);color:var(--ink);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px}.quick-add{position:absolute;bottom:15px;left:15px;right:15px;background:var(--bg);color:var(--ink);border:0;padding:14px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;transition:.2s;transform:translateY(8px);opacity:0}.product-card:focus-within .quick-add{transform:none;opacity:1}.product-info{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-top:17px}.product-info h3{font-size:16px;font-weight:500;margin:0 0 7px;letter-spacing:-.02em}.product-info p{font-size:12px;color:var(--muted);margin:0}.product-info strong{font-size:14px;font-weight:600;white-space:nowrap}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border-bottom:1px solid;padding-bottom:7px;white-space:nowrap}
.editorial{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--ink);color:var(--bg)}.editorial-photo{background-image:var(--hero);background-size:cover;background-position:center;min-height:480px}.editorial-copy{display:flex;justify-content:center;flex-direction:column;align-items:start;padding:80px 12%}.editorial-copy h2{font-size:clamp(49px,5vw,82px);letter-spacing:-.07em;line-height:1.03;font-weight:400;margin:24px 0}.editorial-copy p{font-size:15px;line-height:1.7;max-width:380px;color:var(--muted-on-dark,#bdc3b9);margin:0 0 30px}.editorial-copy a{font-size:11px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:8px}.quote-section{text-align:center;padding:95px 15%;border-bottom:1px solid var(--line)}.quote-section .quote-mark{font-size:13px;color:var(--accent);letter-spacing:.17em}.quote-section blockquote{font-size:clamp(32px,4.1vw,68px);line-height:1.15;letter-spacing:-.055em;margin:22px auto 0;max-width:950px}
.newsletter{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:76px 5.5%;background:var(--surface)}.newsletter h2{font-size:clamp(38px,4vw,65px);margin:10px 0 0;font-weight:500;letter-spacing:-.06em}.newsletter-form{width:min(440px,100%)}.newsletter-form label{display:block;font-size:12px;margin-bottom:14px;color:var(--muted)}.email-line{display:flex;border-bottom:1px solid var(--ink)}.email-line input{border:0;background:none;outline:0;padding:15px 0;flex:1;min-width:0;color:var(--ink);font-size:14px}.email-line button{border:0;background:transparent;color:var(--ink);font-size:23px;padding:0 10px}.form-message{font-size:12px;margin:10px 0 0;min-height:14px}.store-footer{padding:55px 5.5% 25px;background:var(--ink);color:var(--bg)}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-logo{font-size:42px;font-weight:600;letter-spacing:-.08em}.footer-links{display:flex;gap:70px}.footer-links div{display:grid;gap:13px}.footer-links a,.footer-links span{font-size:11px;letter-spacing:.04em}.footer-links span{color:#aeb5af}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff36;margin-top:85px;padding-top:18px;font-size:10px;color:#b5bdb7;letter-spacing:.06em}
/* Store identities */
.mira .store-hero{background:#e7e9df}.mira .hero-copy h1,.mira .section-intro h2,.mira .editorial-copy h2,.mira .quote-section blockquote,.mira .newsletter h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.055em}.mira .hero-copy h1 i,.atelier .hero-copy h1 i{font-weight:400}.mira .hero-image{background-position:58% center}.mira .editorial-photo{background-position:60% 40%}.mira .quote-section blockquote{font-style:italic}
.atelier .store-header .logo{font-family:'Playfair Display',Georgia,serif;font-size:28px;letter-spacing:-.04em}.atelier .store-hero{grid-template-columns:39% 61%;min-height:700px;background:#e9e1d6}.atelier .hero-copy{padding-left:15%;padding-right:3%}.atelier .hero-copy h1,.atelier .section-intro h2,.atelier .editorial-copy h2,.atelier .quote-section blockquote,.atelier .newsletter h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.06em}.atelier .hero-copy h1{font-size:clamp(65px,6.2vw,110px)}.atelier .hero-image{background-position:60% center}.atelier .editorial{background:#755743}.atelier .editorial-photo{background-position:50% 70%}.atelier .store-benefits{background:#ece5dc}.atelier .product-grid{gap:50px 20px}.atelier .product-image{border-radius:160px 160px 0 0}
.northline{font-family:'Manrope',Arial,sans-serif!important}.northline .store-header{background:#171b1b;color:#f4f4ec;border-bottom-color:#343a39}.northline .store-header a,.northline .header-button{color:#f4f4ec}.northline .store-header .logo{font-family:'Manrope',sans-serif;font-size:27px;font-weight:800;letter-spacing:-.075em}.northline .store-header .cart-count{background:#d4dc8c;color:#171b1b}.northline .store-hero{grid-template-columns:44% 56%;background:#1b2121;color:#f0f0e7}.northline .hero-copy h1{font-family:'Manrope',sans-serif;font-size:clamp(62px,6.4vw,112px);font-weight:700;letter-spacing:-.084em}.northline .hero-copy h1 em{color:#d4df8e;font-style:normal}.northline .hero-copy p{color:#adb9b2}.northline .hero-copy .primary-btn{background:#d5de8c;color:#1a1d18;border-color:#d5de8c}.northline .hero-copy .primary-btn:hover{background:transparent;color:#d5de8c}.northline .hero-index{color:#adb9b2}.northline .hero-image{background-position:50%}.northline .section-intro h2,.northline .editorial-copy h2,.northline .newsletter h2{font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:-.075em}.northline .product-image{background-color:#d0d5d1}.northline .editorial{background:#1d2424}.northline .editorial-photo{background-position:center}.northline .quote-section{background:#d9dfcb}.northline .quote-section blockquote{font-family:'Manrope',sans-serif;font-weight:700}.northline .newsletter{background:#d4ddc6}.northline .store-footer{background:#151a1a}
/* Cart overlay / responsive */
.cart-overlay{position:fixed;inset:0;background:#0008;z-index:80;opacity:0;pointer-events:none;transition:.25s}.cart-drawer{position:fixed;z-index:81;right:0;top:0;bottom:0;width:min(440px,100vw);background:var(--bg);color:var(--ink);display:flex;flex-direction:column;transform:translateX(105%);transition:.3s ease;box-shadow:-10px 0 40px #0002}.cart-open .cart-overlay{opacity:1;pointer-events:auto}.cart-open .cart-drawer{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:27px 28px;border-bottom:1px solid var(--line);font-size:21px;font-weight:600}.close-cart{border:0;background:none;font-size:28px;color:var(--ink)}.cart-items{overflow:auto;flex:1;padding:12px 28px}.cart-empty{padding:65px 0;text-align:center;color:var(--muted);font-size:14px;line-height:1.5}.cart-item{padding:20px 0;display:flex;gap:15px;border-bottom:1px solid var(--line)}.cart-thumb{width:95px;aspect-ratio:1;flex:none;background-image:var(--grid-image);background-size:300% 200%}.cart-item-detail{flex:1;display:flex;flex-direction:column;align-items:start;gap:6px}.cart-item-detail strong{font-size:14px;font-weight:600}.cart-item-detail small{font-size:11px;color:var(--muted)}.cart-item-bottom{width:100%;margin-top:auto;display:flex;align-items:center;justify-content:space-between}.qty{border:1px solid var(--line);display:flex;align-items:center;gap:12px;font-size:13px}.qty button{padding:6px 10px;border:0;background:none;color:var(--ink)}.cart-summary{border-top:1px solid var(--line);padding:25px 28px 30px}.subtotal{display:flex;justify-content:space-between;font-size:15px;margin-bottom:18px}.demo-checkout{display:block;width:100%;border:0;background:var(--button);color:white;padding:17px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.cart-summary p{font-size:11px;color:var(--muted);text-align:center;line-height:1.5;margin:13px 0 0}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,40px);background:var(--ink);color:var(--bg);z-index:90;font-size:12px;padding:15px 22px;opacity:0;pointer-events:none;transition:.2s}.toast.visible{transform:translate(-50%,0);opacity:1}
@media(max-width:900px){.gallery-intro{min-height:auto;padding-top:85px}.gallery-nav-meta{display:none}.gallery-intro h1{font-size:12vw}.gallery-details{grid-template-columns:1fr;padding-top:80px}.gallery-details h2{margin-bottom:20px}.store-header{grid-template-columns:1fr auto 1fr;padding:0 4%;height:70px}.header-left>a,.header-right>a{display:none}.mobile-menu{display:block!important}.mobile-links.open{display:flex;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:20px 5%;gap:25px;border-bottom:1px solid var(--line);flex-direction:column}.mobile-links a{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.store-hero{grid-template-columns:1fr!important}.hero-copy{padding:65px 7%!important;min-height:440px}.hero-copy h1{font-size:clamp(65px,10vw,100px)}.hero-image{min-height:450px}.hero-index{bottom:22px;left:7%}.store-benefits{padding:25px 3%}.store-benefits div{font-size:10px;gap:7px}.section-shell{padding:75px 5%}.editorial-copy{padding:60px 8%}.newsletter{padding:65px 5%}.footer-links{gap:30px}}
@media(max-width:600px){.gallery-nav{height:70px;padding:0 5%}.gallery-nav-link{display:none}.gallery-intro{padding:70px 5% 80px}.gallery-intro h1{font-size:14vw;margin:32px 0 45px;letter-spacing:-.083em}.gallery-intro-bottom p{font-size:14px}.round-arrow{width:50px;height:50px;flex:none}.gallery-projects{padding:0 3% 65px}.project-card{height:530px;min-height:0;margin-bottom:12px}.project-photo{background-position:57% center}.project-bottom,.project-top{left:5%;right:5%}.project-bottom{display:block}.project-bottom h2{font-size:71px}.project-northline .project-bottom h2{font-size:85px}.project-pill{display:inline-block;margin-top:24px}.gallery-details{padding:75px 5%}.gallery-details h2{font-size:58px}.gallery-capabilities div{font-size:15px}.gallery-footer{padding:35px 5%;flex-wrap:wrap}.gallery-footer span:nth-child(2){display:none}.announcement{font-size:9px}.store-header .logo{font-size:25px!important}.store-header .logo small{font-size:7px}.hero-copy{min-height:410px;padding:50px 6%!important}.hero-copy h1,.atelier .hero-copy h1,.northline .hero-copy h1{font-size:65px}.hero-image{min-height:380px}.hero-index{display:none}.store-benefits{grid-template-columns:1fr;gap:10px;padding:18px 6%}.store-benefits div{justify-content:start;border-right:0;font-size:10px}.section-intro{display:block}.section-intro h2{font-size:48px}.section-intro p{margin-top:18px}.product-grid{grid-template-columns:repeat(2,1fr);gap:26px 11px}.product-info{display:block}.product-info h3{font-size:14px}.product-info strong{display:block;margin-top:8px}.product-info p{font-size:11px}.product-tag{top:9px;left:9px;font-size:8px;padding:5px}.quick-add{transform:none;opacity:1;bottom:8px;left:8px;right:8px;padding:10px 5px;font-size:9px}.atelier .product-image{border-radius:90px 90px 0 0}.editorial{grid-template-columns:1fr}.editorial-photo{min-height:340px}.editorial-copy h2{font-size:50px}.quote-section{padding:80px 8%}.quote-section blockquote{font-size:35px}.newsletter{display:block}.newsletter h2{font-size:46px;margin-bottom:35px}.footer-row{display:block}.footer-links{margin-top:45px;justify-content:space-between}.footer-bottom{margin-top:60px;gap:20px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
