:root { --ink:#171713; --paper:#f2f0ea; --cream:#e7e1d5; --muted:#79766f; --line:rgba(23,23,19,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
.site-nav { position:fixed; inset:0 0 auto; z-index:50; min-height:72px; display:flex; align-items:center; justify-content:space-between; padding:12px 3.5vw; background:rgba(242,240,234,.9); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.brand img { width:150px; height:auto; object-fit:contain; object-position:left center; filter:contrast(1.06); }
.site-nav nav { display:flex; align-items:center; gap:22px; font-size:13px; }
.site-nav nav>a,.nav-dropdown summary { transition:opacity .2s; }
.site-nav nav>a:hover,.nav-dropdown summary:hover { opacity:.55; }
.site-nav .nav-cta { padding:11px 18px; border:1px solid var(--ink); border-radius:999px; }
.nav-dropdown { position:relative; }
.nav-dropdown summary { display:flex; align-items:center; gap:6px; list-style:none; cursor:pointer; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-dropdown summary .nav-chevron { display:inline-block; width:8px; height:8px; margin:-4px 0 0 3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transform-origin:center; transition:margin .2s ease,transform .2s ease; }
.nav-dropdown[open] summary .nav-chevron { margin-top:4px; transform:rotate(225deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% + 20px); left:-18px; width:205px; padding:9px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 20px 45px rgba(23,23,19,.12); }
.nav-dropdown-menu { color:var(--ink); }
.nav-dropdown-menu:before { content:""; position:absolute; inset:-21px 0 auto; height:21px; }
.nav-dropdown-menu a { display:block; padding:10px 12px; border-radius:8px; font-size:12px; }
.nav-dropdown-menu a:hover { background:var(--paper); }
.menu-toggle { display:none; border:0; background:none; font:inherit; }
.mobile-menu { position:fixed; z-index:49; inset:64px 0 auto; padding:18px 20px 28px; background:var(--paper); border-bottom:1px solid var(--line); }
.mobile-menu a { display:block; padding:14px 0; border-bottom:1px solid var(--line); font-family:"Playfair Display",serif; font-size:28px; }
.mobile-collections summary { padding:14px 0; border-bottom:1px solid var(--line); list-style:none; font-family:"Playfair Display",serif; font-size:28px; cursor:pointer; }
.mobile-collections summary::-webkit-details-marker { display:none; }
.mobile-collections summary:after { content:"+"; float:right; font-family:"DM Sans",sans-serif; font-size:22px; }
.mobile-collections[open] summary:after { content:"−"; }
.mobile-collections div { padding:4px 0 8px 18px; }
.mobile-collections div a { padding:10px 0; font-family:"DM Sans",sans-serif; font-size:15px; }
main { padding-top:72px; }
.home-hero { position:relative; height:calc(100svh - 72px); min-height:620px; color:white; overflow:hidden; background:#181817; }
.hero-slides,.hero-slide { position:absolute; inset:0; }
.hero-slide { display:flex; align-items:end; padding:clamp(70px,7vw,120px) 4.5vw; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .85s ease,visibility .85s; }
.hero-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; }
.home-hero-bg { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; transform:scale(1.025); transition:transform 7s ease; }
.hero-slide.is-active .home-hero-bg { transform:scale(1); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.08) 68%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 50%); }
.hero-content { position:relative; z-index:1; width:min(920px,78vw); }
.hero-content p,.collection-header p,.section-intro p { margin:0 0 22px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.hero-content h1,.collection-header h1,.contact-panel h1 { margin:0; font-size:clamp(60px,8.2vw,126px); line-height:.82; letter-spacing:-.065em; font-weight:500; }
em { font-family:"Playfair Display",serif; font-weight:500; }
.hero-subtitle { display:block; margin-top:26px; color:rgba(255,255,255,.82); font-size:clamp(15px,1.4vw,19px); }
.hero-content a { display:inline-flex; justify-content:space-between; width:min(330px,80vw); margin-top:34px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.7); font-size:14px; }
.hero-controls { position:absolute; z-index:4; right:4vw; bottom:4.5vw; display:flex; align-items:center; gap:24px; }
.hero-count { display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.14em; }
.hero-count i { display:block; width:38px; height:1px; background:rgba(255,255,255,.55); }
.hero-dots { display:flex; gap:7px; }
.hero-dot { width:7px; height:7px; padding:0; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:transparent; cursor:pointer; }
.hero-dot[aria-selected="true"] { background:#fff; }
.hero-arrows { display:flex; gap:6px; }
.hero-arrows button { width:44px; height:44px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(0,0,0,.12); color:#fff; cursor:pointer; backdrop-filter:blur(8px); transition:.2s; }
.hero-arrows button:hover { background:#fff; color:#111; }
.collection-showcase { padding:11vw 3.5vw 4vw; }
.section-intro { display:grid; grid-template-columns:1fr 2fr; align-items:start; margin-bottom:7vw; }
.section-intro h2,.studio-copy h2 { margin:0; font-size:clamp(58px,8vw,120px); line-height:.83; letter-spacing:-.065em; font-weight:500; }
.collection-editorial-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1.2vw; align-items:start; }
.editorial-card { position:relative; overflow:hidden; background:#d8d5cc; }
.editorial-card img { height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.editorial-card:hover img { transform:scale(1.035); }
.editorial-card>div { position:absolute; inset:auto 0 0; display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:16px; padding:70px 20px 20px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.editorial-card h3 { margin:0; font-family:"Playfair Display",serif; font-size:clamp(26px,3vw,48px); font-weight:500; }
.editorial-card span,.editorial-card small { font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.card-1 { grid-column:span 7; height:72vw; max-height:900px; }
.card-2 { grid-column:span 5; height:45vw; max-height:590px; margin-top:12vw; }
.card-3 { grid-column:span 5; height:52vw; max-height:690px; margin-top:-8vw; }
.card-4 { grid-column:span 7; height:61vw; max-height:790px; }
.card-5 { grid-column:span 6; height:50vw; }
.home-section { padding:clamp(80px,9vw,140px) 4vw; }
.home-section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:48px; }
.home-section-head p,.home-preview-copy>p,.home-about>p,.home-contact p { margin:0 0 16px; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.home-section-head h2,.home-preview-copy h2,.home-about h2,.home-contact h2 { margin:0; font-size:clamp(44px,5.6vw,78px); line-height:.9; letter-spacing:-.055em; font-weight:500; }
.home-section-head>a,.home-preview-copy>a,.home-about>a { flex:none; padding-bottom:8px; border-bottom:1px solid var(--ink); font-size:13px; }
.compact-collection-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.compact-collection-card { background:#e4e0d7; }
.compact-collection-card img { aspect-ratio:4/5; object-fit:cover; transition:transform .55s ease; }
.compact-collection-card:hover img { transform:scale(1.018); }
.compact-collection-card>div { padding:17px 15px 20px; }
.compact-collection-card span { color:var(--muted); font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.compact-collection-card h3 { margin:7px 0 0; font-family:"Playfair Display",serif; font-size:23px; font-weight:500; }
.home-preview { display:grid; grid-template-columns:1.25fr .75fr; min-height:620px; background:#111; color:#fff; }
.home-preview-media { overflow:hidden; }
.home-preview-media img { height:100%; object-fit:cover; }
.home-preview-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:7vw 5vw; }
.home-preview-copy>p { color:#aaa; }
.home-preview-copy>span { margin-top:26px; color:#bbb; }
.home-preview-copy>a { margin-top:40px; border-color:#fff; }
.home-business { background:var(--cream); }
.home-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-service-grid a { padding:30px 28px 34px 0; }
.home-service-grid a+a { padding-left:28px; border-left:1px solid var(--line); }
.home-service-grid span,.home-service-grid small { display:block; color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.home-service-grid h3 { margin:34px 0 8px; font-family:"Playfair Display",serif; font-size:clamp(28px,3vw,42px); font-weight:500; }
.home-story { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; padding:clamp(90px,11vw,170px) 4vw; background:#fff; }
.home-story header>p { margin:0 0 22px; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.home-story h2 { margin:0; font-size:clamp(50px,6.5vw,95px); line-height:.88; letter-spacing:-.06em; font-weight:500; }
.home-story-copy { padding-top:4px; }
.home-story-copy>p { max-width:660px; margin:0; padding:22px 0; border-top:1px solid var(--line); color:#55534d; font-size:clamp(15px,1.25vw,18px); line-height:1.7; }
.founder-signoff { display:flex; flex-direction:column; gap:4px; margin:32px 0; }
.founder-signoff strong { font-family:"Playfair Display",serif; font-size:25px; font-weight:500; }
.founder-signoff span { color:var(--muted); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.home-story-copy>a { display:inline-block; padding-bottom:8px; border-bottom:1px solid var(--ink); font-size:13px; }
.home-contact { display:flex; align-items:end; justify-content:space-between; gap:50px; padding:clamp(85px,10vw,150px) 4vw; background:var(--ink); color:#fff; }
.home-contact p { color:#999; }
.home-contact div>span { display:block; max-width:610px; margin-top:28px; color:#999; font-size:clamp(16px,2vw,25px); line-height:1.5; }
.home-contact>a { display:flex; align-items:center; justify-content:space-between; width:min(360px,100%); padding:18px 0; border-top:1px solid #777; border-bottom:1px solid #777; }
.image-band { display:grid; grid-template-columns:1fr 1.5fr 1fr; height:72vh; min-height:520px; gap:5px; padding:5px; background:#fff; }
.image-band div { overflow:hidden; }
.image-band img { height:100%; object-fit:cover; }
.image-band div:nth-child(1) img { object-position:left center; }
.image-band div:nth-child(3) img { object-position:right center; }
.studio-section { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; background:var(--cream); }
.studio-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:7vw; }
.studio-copy>span { margin-bottom:40px; font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.studio-copy a { margin-top:48px; padding-bottom:10px; border-bottom:1px solid var(--ink); }
.studio-image { min-height:75vh; }
.studio-image img { height:100%; object-fit:cover; }
.closing-cta { padding:12vw 4vw; text-align:center; background:#171713; color:#fff; }
.closing-cta p { margin:0 0 26px; color:#aaa; font-size:12px; text-transform:uppercase; letter-spacing:.16em; }
.closing-cta a { display:flex; justify-content:center; gap:35px; font-family:"Playfair Display",serif; font-size:clamp(40px,7vw,104px); }
.site-footer { display:block; padding:70px 4vw 38px; background:#fff; font-size:12px; }
.footer-top,.footer-locations,.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.footer-brand { font-family:"Playfair Display",serif; font-size:clamp(24px,3vw,40px); font-weight:500; }
.footer-top nav { display:flex; flex-wrap:wrap; gap:20px; }
.footer-top nav a:hover { opacity:.55; }
.footer-locations { justify-content:flex-start; margin-top:55px; color:var(--muted); }
.footer-bottom { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); }
.collection-page { padding-bottom:8vw; }
.collection-index-hero { display:grid; grid-template-columns:1.35fr .65fr; align-items:end; min-height:65vh; padding:8vw 4vw 5vw; }
.collection-index-hero>div:first-child>p,.collection-gallery-section header p,.collection-empty>p { margin:0 0 22px; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.collection-index-hero h1,.collection-detail-copy h1,.collection-empty h1 { margin:0; font-size:clamp(68px,9vw,132px); line-height:.82; letter-spacing:-.065em; font-weight:500; }
.collection-index-note { padding-bottom:8px; }
.collection-index-note>span { display:block; margin-bottom:25px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.collection-index-note>p { max-width:390px; margin:0; color:var(--muted); line-height:1.65; }
.collection-filter-panel { position:sticky; z-index:20; top:72px; margin:0 4vw 46px; padding:17px 20px; border:1px solid var(--line); border-radius:18px; background:rgba(242,240,234,.93); backdrop-filter:blur(16px); }
.filter-row { display:grid; grid-template-columns:90px 1fr; align-items:center; gap:14px; }
.filter-row+.filter-row { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.filter-row>span { color:var(--muted); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.category-links,.color-links { display:flex; flex-wrap:wrap; gap:6px; }
.category-links a,.color-links a { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; color:var(--muted); font-size:11px; line-height:1; }
.category-links a.active,.category-links a:hover,.color-links a.active,.color-links a:hover { background:var(--ink); color:#fff; }
.color-links a i { width:10px; height:10px; border:1px solid rgba(0,0,0,.15); border-radius:50%; background:var(--chip); }
.collection-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0 4vw; background:var(--line); border:1px solid var(--line); }
.collection-index-card { min-width:0; margin:0; background:#fff; }
.collection-card-image { aspect-ratio:4/4.7; overflow:hidden; background:#ddd; }
.collection-card-image img { height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1); }
.collection-index-card:hover .collection-card-image img { transform:scale(1.035); }
.collection-card-copy { min-height:130px; padding:20px 18px; text-align:center; }
.collection-card-copy>span { color:var(--muted); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.collection-card-copy h2 { margin:14px 0 0; font-family:"Playfair Display",serif; font-size:clamp(25px,2.5vw,38px); font-weight:500; line-height:1.05; }
.collection-card-copy p { max-width:320px; margin:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.collection-card-copy b { align-self:end; justify-self:end; font-size:11px; font-weight:500; }
.collection-detail-hero { display:grid; grid-template-columns:1.08fr .92fr; min-height:calc(100svh - 72px); }
.collection-detail-image { min-height:650px; overflow:hidden; background:#ddd; }
.collection-detail-image img { height:100%; object-fit:cover; }
.collection-detail-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:8vw 6vw; background:var(--cream); }
.collection-detail-copy .back-link { margin-bottom:auto; padding-bottom:6px; border-bottom:1px solid var(--line); font-size:11px; }
.collection-detail-copy>span { margin:60px 0 24px; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.collection-detail-copy h1 { font-size:clamp(58px,7.3vw,112px); }
.collection-detail-copy>p { max-width:430px; margin:32px 0 0; color:var(--muted); line-height:1.65; }
.collection-detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:42px; }
.collection-detail-actions a { padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:12px; }
.collection-detail-actions .primary { padding:13px 18px; border:1px solid var(--ink); border-radius:999px; }
.collection-gallery-section { padding:9vw 4vw 0; }
.collection-gallery-section>header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:45px; }
.collection-gallery-section header h2 { margin:0; font-size:clamp(50px,7vw,100px); font-weight:500; line-height:.84; letter-spacing:-.06em; }
.collection-gallery-section>header>span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.detail-photo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; }
.detail-photo-grid figure { margin:0; }
.detail-photo-grid img { aspect-ratio:4/5; object-fit:cover; }
.detail-photo-grid figcaption { padding:12px 2px; color:var(--muted); font-size:11px; }
.collection-empty { min-height:68vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:9vw 5vw; }
.collection-empty.compact { min-height:45vh; margin:0 4vw; padding:6vw 0; border-top:1px solid var(--line); }
.collection-empty h2 { margin:0; font-size:clamp(48px,7vw,90px); line-height:.86; font-weight:500; letter-spacing:-.05em; }
.collection-empty>a { margin-top:36px; padding-bottom:8px; border-bottom:1px solid var(--ink); }
.empty-state { padding:8vw 4vw; }
.contact-page { display:grid; grid-template-columns:1.15fr .85fr; min-height:calc(100vh - 72px); }
.contact-visual img { height:100%; object-fit:cover; }
.contact-panel { display:flex; flex-direction:column; justify-content:center; padding:7vw 5vw; background:var(--cream); }
.contact-panel>span { margin-bottom:30px; font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.contact-panel h1 { font-size:clamp(56px,7vw,105px); }
.contact-panel>p { margin:34px 0; color:var(--muted); }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.contact-actions a { padding-bottom:5px; border-bottom:1px solid var(--line); }
.contact-actions .primary-link { margin-bottom:12px; padding:13px 20px; border:1px solid var(--ink); border-radius:999px; }
.story-hero { position:relative; min-height:calc(100svh - 72px); color:#fff; }
.story-hero>img { position:absolute; inset:0; height:100%; object-fit:cover; }
.story-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.05)); }
.story-hero>div { position:relative; z-index:1; min-height:calc(100svh - 72px); display:flex; flex-direction:column; justify-content:end; align-items:flex-start; padding:7vw 5vw; }
.story-hero p,.plain-hero p,.about-hero p { margin:0 0 25px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.story-hero h1,.plain-hero h1,.about-hero h1 { margin:0; font-size:clamp(68px,10vw,150px); line-height:.8; letter-spacing:-.07em; font-weight:500; }
.story-hero a { margin-top:36px; padding-bottom:9px; border-bottom:1px solid #fff; }
.galaxy-intro,.galaxy-export { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; padding:10vw 5vw; background:#0b0b0b; color:#fff; }
.galaxy-intro>div>p,.galaxy-export>div>p,.business-hero>div>p,.business-audiences header>p,.project-enquiry>p,.story-journey header>p,.process-section header>p { margin:0 0 24px; color:#949494; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.galaxy-intro h2,.galaxy-export h2,.business-audiences h2,.project-enquiry h2,.process-section h2 { margin:0; font-size:clamp(48px,6.5vw,96px); line-height:.88; letter-spacing:-.06em; font-weight:500; }
.galaxy-intro>p,.galaxy-export>p { max-width:580px; margin:0; color:#aaa; font-size:clamp(16px,1.4vw,20px); line-height:1.75; }
.galaxy-facts { display:grid; grid-template-columns:repeat(3,1fr); background:#111; color:#fff; }
.galaxy-facts article { min-height:330px; padding:45px 4vw; border-top:1px solid #353535; border-right:1px solid #353535; }
.galaxy-facts article:last-child { border-right:0; }
.galaxy-facts span,.audience-grid span,.process-grid article div>span { color:#888; font-size:10px; letter-spacing:.14em; }
.galaxy-facts h3,.audience-grid h3,.process-grid h3 { margin:70px 0 18px; font-family:"Playfair Display",serif; font-size:clamp(28px,3vw,44px); font-weight:500; }
.galaxy-facts p,.audience-grid p,.process-grid p { margin:0; color:#aaa; line-height:1.65; }
.galaxy-export { background:#171713; }
.project-enquiry { padding:11vw 5vw; background:var(--cream); }
.project-enquiry.dark { background:#050505; color:#fff; }
.project-enquiry h2 { max-width:1100px; }
.project-enquiry>a { display:inline-block; margin-top:45px; padding:14px 20px; border:1px solid currentColor; border-radius:999px; font-size:13px; }
.stone-facts { display:grid; grid-template-columns:repeat(4,1fr); padding:0 4vw; background:#111; color:#fff; }
.stone-facts div { padding:45px 18px 45px 0; border-top:1px solid #444; }
.stone-facts small,.stone-facts strong { display:block; }
.stone-facts small { margin-bottom:10px; color:#999; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }
.stone-facts strong { font-weight:500; }
.split-feature { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; background:#0b0b0b; color:#fff; }
.split-feature>img { height:100%; object-fit:cover; }
.split-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:7vw; }
.split-copy>span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#999; }
.split-copy h2 { margin:35px 0; font-size:clamp(54px,7vw,104px); line-height:.84; letter-spacing:-.065em; font-weight:500; }
.split-copy p { max-width:430px; color:#aaa; line-height:1.6; }
.split-copy a { margin-top:25px; padding-bottom:8px; border-bottom:1px solid #fff; }
.plain-hero { min-height:68vh; display:flex; flex-direction:column; justify-content:end; padding:8vw 5vw; }
.business-hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:8vw; min-height:72vh; padding:8vw 5vw 6vw; }
.business-hero h1,.story-journey h1 { margin:0; font-size:clamp(68px,9vw,138px); line-height:.82; letter-spacing:-.07em; font-weight:500; }
.business-hero>p { max-width:540px; margin:0 0 12px; color:var(--muted); font-size:clamp(18px,1.7vw,25px); line-height:1.55; }
.business-audiences { padding:9vw 5vw; background:#fff; }
.business-audiences>header { display:grid; grid-template-columns:1.2fr .8fr; margin-bottom:65px; }
.audience-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.audience-grid article { min-height:330px; padding:35px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.audience-grid h3 { margin-top:70px; }
.audience-grid p { max-width:480px; color:var(--muted); }
.business-visual-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:5px; background:#fff; }
.business-visual-grid>a { position:relative; height:76vh; overflow:hidden; color:#fff; }
.business-visual-grid img { height:100%; object-fit:cover; transition:transform .7s ease; }
.business-visual-grid a:hover img { transform:scale(1.03); }
.business-visual-grid a:after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.7)); }
.business-visual-grid a>div { position:absolute; z-index:1; inset:auto 0 0; padding:25px; }
.business-visual-grid h2 { margin:8px 0 0; font-family:"Playfair Display",serif; font-size:clamp(34px,4vw,58px); font-weight:500; }
.business-visual-grid span { font-size:10px; letter-spacing:.15em; }
.about-hero { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100svh - 72px); }
.about-hero>div { display:flex; flex-direction:column; justify-content:end; padding:7vw 5vw; }
.about-hero>img { height:100%; min-height:calc(100svh - 72px); object-fit:cover; }
.about-note { display:grid; grid-template-columns:1fr 2fr; align-items:start; padding:10vw 5vw; }
.about-note span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.about-note p { max-width:850px; margin:0; font-family:"Playfair Display",serif; font-size:clamp(38px,5vw,72px); line-height:1.08; }
.story-journey { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; padding:10vw 5vw; background:#fff; }
.story-journey header { position:sticky; top:120px; align-self:start; }
.story-journey .journey-copy>p { margin:0; padding:25px 0; border-top:1px solid var(--line); color:#4d4b46; font-size:clamp(17px,1.5vw,22px); line-height:1.7; }
.story-journey .journey-copy>.story-opening { padding-top:0; border-top:0; font-family:"Playfair Display",serif; font-size:clamp(34px,4vw,58px); line-height:1.1; }
.process-section { padding:10vw 4vw; background:var(--cream); }
.process-section>header { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:8vw; margin-bottom:65px; }
.process-section>header>span { max-width:430px; color:var(--muted); line-height:1.65; }
.process-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.process-grid article { background:#fff; }
.process-grid article:last-child { grid-column:1/-1; display:grid; grid-template-columns:1.25fr .75fr; }
.process-grid img { aspect-ratio:4/5; height:100%; object-fit:cover; }
.process-grid article:last-child img { aspect-ratio:16/9; }
.process-grid article>div { padding:30px; }
.process-grid h3 { margin:55px 0 16px; }
.process-grid p { max-width:500px; color:var(--muted); }
.prototype-contact { background:#fff; }
.contact-intro { padding:10vw 8vw 4vw; }
.contact-intro>p { margin:0 0 22px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.contact-intro h1 { margin:0; font-size:clamp(58px,9vw,125px); line-height:.84; letter-spacing:-.07em; font-weight:500; }
.contact-intro>span { display:block; max-width:460px; margin-top:30px; color:var(--muted); font-size:18px; }
.enquiry-builder { padding:3vw 8vw 8vw; }
.choice-label { margin:0 0 14px; color:#555; font-size:13px; }
.enquiry-choices { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:1050px; }
.enquiry-choice { min-height:145px; padding:28px; border:1px solid #e7e7e5; border-radius:20px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:.2s; }
.enquiry-choice:hover { transform:translateY(-2px); border-color:#999; }
.enquiry-choice.active { background:#111; color:#fff; }
.enquiry-choice b,.enquiry-choice span { display:block; }
.enquiry-choice b { margin-bottom:9px; font-size:21px; font-weight:500; }
.enquiry-choice span { color:#777; font-size:13px; }
.enquiry-choice.active span { color:#bbb; }
.enquiry-form { max-width:900px; margin-top:55px; padding-top:30px; border-top:1px solid #e7e7e5; }
.form-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:25px; }
.form-heading h2 { margin:0; font-size:30px; letter-spacing:-.04em; font-weight:500; }
.form-heading span { color:var(--muted); font-size:12px; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.contact-fields label { padding:20px 0; border-bottom:1px solid #ccc; }
.contact-fields label.full { grid-column:1/-1; }
.contact-fields label>span { display:block; margin-bottom:10px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.contact-fields input,.contact-fields select,.contact-fields textarea { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:17px; }
.contact-fields textarea { min-height:110px; resize:vertical; }
.contact-form-actions { display:flex; gap:10px; margin-top:28px; }
.contact-form-actions button,.contact-form-actions a { padding:14px 21px; border-radius:999px; cursor:pointer; }
.contact-form-actions button { border:0; background:#111; color:#fff; }
.contact-form-actions a { border:1px solid #ccc; background:#fff; }
.success-banner,.error-banner { max-width:900px; margin-bottom:30px; padding:18px 20px; border-radius:14px; }
.success-banner { background:#edf7ef; color:#285c35; }
.success-banner strong,.success-banner span { display:block; }
.success-banner span { margin-top:4px; font-size:13px; }
.error-banner { background:#fff0f0; color:#8a2828; }
@media (max-width:760px) {
  .site-nav { min-height:64px; padding:10px 18px; }
  .brand img { width:126px; height:auto; }
  .site-nav nav { display:none; }
  .menu-toggle { display:block; }
  main { padding-top:64px; }
  .home-hero { height:calc(100svh - 64px); min-height:580px; }
  .hero-slide { padding:70px 20px 112px; }
  .hero-content { width:100%; }
  .hero-content h1 { font-size:clamp(52px,16vw,78px); }
  .hero-content p { margin-bottom:16px; }
  .hero-subtitle { margin-top:20px; font-size:14px; }
  .hero-content a { margin-top:24px; }
  .hero-controls { right:20px; left:20px; bottom:25px; justify-content:space-between; }
  .hero-dots { display:none; }
  .hero-arrows button { width:40px; height:40px; }
  .home-section { padding:76px 16px; }
  .home-section-head { align-items:flex-start; flex-direction:column; gap:26px; margin-bottom:30px; }
  .home-section-head h2,.home-preview-copy h2,.home-contact h2 { font-size:14vw; }
  .compact-collection-grid { grid-template-columns:1fr 1fr; gap:6px; }
  .compact-collection-card>div { padding:13px 11px 16px; }
  .compact-collection-card h3 { font-size:18px; }
  .compact-collection-card span { font-size:8px; }
  .home-preview { grid-template-columns:1fr; min-height:0; }
  .home-preview-media { height:55svh; }
  .home-preview-copy { min-height:420px; padding:65px 20px; }
  .home-service-grid { grid-template-columns:1fr; }
  .home-service-grid a,.home-service-grid a+a { padding:24px 0; border-left:0; border-bottom:1px solid var(--line); }
  .home-service-grid a:last-child { border-bottom:0; }
  .home-service-grid h3 { margin:20px 0 6px; }
  .home-story { grid-template-columns:1fr; gap:55px; padding:80px 20px; }
  .home-story h2 { font-size:15vw; }
  .home-contact { align-items:flex-start; flex-direction:column; padding:82px 20px; }
  .collection-showcase { padding:90px 14px 40px; }
  .section-intro { display:block; margin-bottom:60px; }
  .section-intro h2 { font-size:18vw; }
  .collection-editorial-grid { grid-template-columns:1fr; gap:8px; }
  .editorial-card,.card-1,.card-2,.card-3,.card-4,.card-5 { grid-column:1; height:70svh; max-height:none; margin:0; }
  .editorial-card>div { padding:60px 16px 16px; }
  .image-band { grid-template-columns:1fr; height:auto; padding:4px; }
  .image-band div { height:65svh; }
  .studio-section { grid-template-columns:1fr; }
  .studio-copy { min-height:70svh; padding:70px 20px; }
  .studio-copy h2 { font-size:17vw; }
  .studio-image { min-height:65svh; }
  .closing-cta { padding:100px 20px; }
  .site-footer { padding:55px 20px 30px; }
  .footer-top,.footer-locations,.footer-bottom { align-items:flex-start; flex-direction:column; gap:14px; }
  .footer-top nav { display:grid; grid-template-columns:1fr 1fr; width:100%; margin-top:28px; gap:14px; }
  .footer-locations { margin-top:45px; }
  .footer-bottom { margin-top:26px; padding-top:22px; }
  .collection-page { padding-bottom:70px; }
  .collection-index-hero { grid-template-columns:1fr; align-items:end; min-height:60svh; padding:90px 20px 45px; }
  .collection-index-hero h1,.collection-empty h1 { font-size:18vw; }
  .collection-index-note { margin-top:40px; }
  .collection-index-note>span { margin-bottom:14px; }
  .collection-filter-panel { position:relative; top:auto; margin:0 12px 24px; padding:16px 14px; border-radius:14px; }
  .filter-row { grid-template-columns:1fr; gap:10px; }
  .category-links,.color-links { flex-wrap:nowrap; margin-right:-14px; padding-right:14px; overflow-x:auto; scrollbar-width:none; }
  .category-links::-webkit-scrollbar,.color-links::-webkit-scrollbar { display:none; }
  .category-links a,.color-links a { flex:none; }
  .collection-card-grid { grid-template-columns:1fr 1fr; margin:0 12px; }
  .collection-card-copy { min-height:105px; padding:15px 10px; }
  .collection-card-copy h2 { margin:11px 0 0; font-size:21px; }
  .collection-detail-hero { grid-template-columns:1fr; }
  .collection-detail-image { min-height:0; height:60svh; }
  .collection-detail-copy { min-height:550px; padding:55px 20px 70px; }
  .collection-detail-copy .back-link { margin-bottom:55px; }
  .collection-detail-copy>span { margin:0 0 18px; }
  .collection-detail-copy h1 { font-size:17vw; }
  .collection-detail-actions { align-items:flex-start; flex-direction:column; }
  .collection-gallery-section { padding:80px 12px 0; }
  .collection-gallery-section>header { align-items:flex-start; flex-direction:column; }
  .collection-gallery-section header h2 { font-size:16vw; }
  .detail-photo-grid { grid-template-columns:1fr; }
  .collection-empty,.collection-empty.compact { min-height:60svh; margin:0; padding:90px 20px; }
  .contact-page { grid-template-columns:1fr; }
  .contact-visual { height:58svh; }
  .contact-panel { min-height:70svh; padding:70px 20px; }
  .stone-facts { grid-template-columns:1fr 1fr; padding:0 20px; }
  .galaxy-intro,.galaxy-export { grid-template-columns:1fr; gap:40px; padding:80px 20px; }
  .galaxy-intro h2,.galaxy-export h2,.business-audiences h2,.project-enquiry h2,.process-section h2 { font-size:15vw; }
  .galaxy-facts { grid-template-columns:1fr; }
  .galaxy-facts article { min-height:auto; padding:38px 20px 45px; border-right:0; }
  .galaxy-facts h3 { margin-top:45px; }
  .project-enquiry { padding:85px 20px; }
  .split-feature { grid-template-columns:1fr; }
  .split-copy { min-height:70svh; padding:70px 20px; }
  .split-feature>img { height:70svh; }
  .plain-hero { min-height:60svh; padding:90px 20px 55px; }
  .business-hero { grid-template-columns:1fr; gap:45px; min-height:75svh; padding:90px 20px 60px; }
  .business-hero h1,.story-journey h1 { font-size:18vw; }
  .business-audiences { padding:80px 20px; }
  .business-audiences>header { grid-template-columns:1fr; margin-bottom:45px; }
  .audience-grid { grid-template-columns:1fr; }
  .audience-grid article { min-height:auto; padding:30px 22px 38px; }
  .audience-grid h3 { margin-top:45px; }
  .business-visual-grid { grid-template-columns:1fr; }
  .business-visual-grid>a { height:70svh; }
  .about-hero { grid-template-columns:1fr; }
  .about-hero>div { min-height:62svh; padding:90px 20px 55px; }
  .about-hero>img { min-height:65svh; }
  .about-note { grid-template-columns:1fr; gap:35px; padding:90px 20px; }
  .story-journey { grid-template-columns:1fr; gap:60px; padding:90px 20px; }
  .story-journey header { position:static; }
  .process-section { padding:85px 12px; }
  .process-section>header { grid-template-columns:1fr; gap:30px; margin:0 8px 45px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article:last-child { grid-column:auto; display:block; }
  .process-grid article:last-child img { aspect-ratio:4/5; }
  .process-grid article>div { padding:25px 20px 30px; }
  .contact-intro { padding:90px 20px 55px; }
  .enquiry-builder { padding:20px 20px 80px; }
  .enquiry-choices,.contact-fields { grid-template-columns:1fr; }
  .enquiry-choice { min-height:auto; }
  .contact-fields label.full { grid-column:auto; }
  .form-heading { align-items:start; flex-direction:column; gap:10px; }
}
/* Editorial refinement inspired by premium stone catalogues. */
.site-nav { transition:background .3s ease,color .3s ease,border-color .3s ease; }
.site-nav nav,.menu-toggle { letter-spacing:.1em; text-transform:uppercase; font-size:11px; }
.home-page main { padding-top:0; }
.home-page .site-nav { color:#fff; background:linear-gradient(180deg,rgba(0,0,0,.58),transparent); border-bottom-color:rgba(255,255,255,.13); backdrop-filter:none; }
.home-page .site-nav .brand img { filter:brightness(0) invert(1); }
.home-page .site-nav .nav-cta { border-color:rgba(255,255,255,.65); }
.home-page .site-nav.is-scrolled { color:var(--ink); background:rgba(242,240,234,.94); border-bottom-color:var(--line); backdrop-filter:blur(18px); }
.home-page .site-nav.is-scrolled .brand img { filter:contrast(1.06); }
.home-page .site-nav.is-scrolled .nav-cta { border-color:var(--ink); }
.home-page .home-hero { height:100svh; min-height:680px; }
.hero-content p { color:#d6c397; font-weight:600; letter-spacing:.22em; }
.hero-content h1 { max-width:1050px; font-family:"Playfair Display",serif; font-size:clamp(62px,7.6vw,116px); line-height:.88; letter-spacing:-.045em; }
.hero-content h1 em { color:#e3d3b2; }
.hero-content a { width:auto; min-width:220px; padding:16px 20px; border:1px solid rgba(255,255,255,.65); letter-spacing:.13em; text-transform:uppercase; font-size:10px; transition:background .2s,color .2s; }
.hero-content a:hover { background:#fff; color:#111; }
.home-collections { background:#f4f0e8; }
.home-section-head { padding-bottom:48px; border-bottom:1px solid var(--line); }
.compact-collection-grid { gap:28px; }
.compact-collection-card { background:transparent; }
.compact-collection-card img { aspect-ratio:5/4; }
.compact-collection-card>div { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:18px 0 0; border-top:1px solid var(--line); }
.compact-collection-card h3 { order:-1; margin:0; font-size:clamp(25px,2.2vw,35px); }
.compact-collection-card span { text-align:right; }
.home-story { background:#f8f6f1; }
.site-footer { padding-top:90px; background:#0b0b0a; color:#f5f1e8; }
.footer-brand { font-size:clamp(36px,5vw,74px); }
.footer-locations,.footer-bottom { color:#8d8b85; }
.site-footer .footer-bottom { border-color:rgba(255,255,255,.16); }
.whatsapp-float { position:fixed; z-index:45; right:24px; bottom:24px; display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:#0b0b0a; color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.2); transition:transform .2s ease,background .2s ease; }
.whatsapp-float:hover { transform:translateY(-3px); background:#1d1d1a; }
.whatsapp-float svg { width:23px; fill:currentColor; }
.collection-page { background:#f4f0e8; }
.collection-index-hero { min-height:56vh; padding-top:10vw; border-bottom:1px solid var(--line); margin:0 4vw; padding-left:0; padding-right:0; }
.collection-index-hero h1 { font-family:"Playfair Display",serif; font-size:clamp(76px,10vw,150px); letter-spacing:-.045em; }
.collection-filter-panel { position:relative; top:auto; margin:0 4vw 52px; padding:22px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; backdrop-filter:none; }
.category-links a,.color-links a { border:1px solid transparent; }
.category-links a.active,.color-links a.active { background:transparent; color:var(--ink); border-color:var(--ink); }
.category-links a:hover,.color-links a:hover { background:rgba(23,23,19,.07); color:var(--ink); }
.collection-card-grid { grid-template-columns:repeat(2,1fr); gap:32px; margin:0 4vw; background:transparent; border:0; }
.collection-index-card { background:transparent; }
.collection-card-image { aspect-ratio:5/4; }
.collection-card-copy { min-height:124px; padding:18px 0 28px; text-align:left; border-top:1px solid var(--line); }
.collection-card-copy>div { display:flex; justify-content:space-between; gap:20px; }
.collection-card-copy small { color:var(--muted); font-size:9px; letter-spacing:.12em; }
.collection-card-copy h2 { margin-top:18px; font-size:clamp(30px,3.2vw,50px); }

@media (max-width:760px) {
  .home-page .site-nav { background:linear-gradient(180deg,rgba(0,0,0,.68),transparent); }
  .home-page .site-nav.is-scrolled { background:rgba(242,240,234,.95); }
  .home-page .menu-toggle { color:inherit; }
  .home-page .home-hero { height:100svh; min-height:620px; }
  .hero-content h1 { font-size:clamp(52px,15vw,74px); line-height:.9; }
  .hero-content a { min-width:205px; }
  .home-section-head { padding-bottom:28px; }
  .compact-collection-grid { grid-template-columns:1fr; gap:46px; }
  .compact-collection-card img { aspect-ratio:5/4; }
  .compact-collection-card>div { padding-top:14px; }
  .site-footer { padding-top:68px; }
  .whatsapp-float { right:16px; bottom:16px; width:52px; height:52px; }
  .collection-index-hero { min-height:50svh; margin:0 20px; padding:105px 0 42px; }
  .collection-index-hero h1 { font-size:17vw; }
  .collection-filter-panel { margin:0 20px 28px; padding:18px 0; }
  .collection-card-grid { gap:7px; margin:0 12px; }
  .collection-card-image { aspect-ratio:4/5; }
  .collection-card-copy { min-height:105px; padding:13px 3px 22px; }
  .collection-card-copy h2 { margin-top:12px; font-size:21px; }
}

@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
