*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f8f7f4;color:#202222;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}header{height:90px;padding:12px 5%;display:flex;justify-content:space-between;align-items:center;background:#fff}.brand img{width:110px;display:block}nav{display:flex;align-items:center;gap:36px;font-size:14px}button,.button{border:0}.small,.button{background:#b62656;color:white;padding:18px 25px;display:inline-flex;gap:36px;align-items:center;justify-content:center;font-weight:600}.small{padding:14px 19px}.hero{min-height:790px;position:relative;text-align:center;background:linear-gradient(0deg,rgba(246,246,241,.98),rgba(246,246,241,.8) 37%,rgba(238,239,236,.12) 100%),url('assets/spiro-hero.webp') center top/cover;display:grid;place-items:center;padding:95px 20px 90px}.hero-content{position:relative}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.hero-logo{width:200px;margin:20px auto 5px;display:block}h1{font-size:clamp(54px,6.4vw,92px);line-height:.99;letter-spacing:-5px;margin:22px 0}p{line-height:1.7}.intro{color:#535858;font-size:17px}.actions{display:flex;justify-content:center;gap:12px;margin-top:30px}.outline{background:transparent;border:1px solid #777;padding:17px 24px}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.section{padding:90px 7%}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-title>p{font-size:14px;color:#6b7070}h2{font-size:clamp(32px,4vw,55px);letter-spacing:-2px;line-height:1.08;margin:20px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:28px;text-align:left;background:#eeede9;color:#202222;transition:transform .2s,background .2s}.card:hover{transform:translateY(-5px);background:#e5e3df}.number{font-size:11px;color:#727676}.duct-art{font-size:110px;line-height:1.6;text-align:center;color:#8c9698;font-family:Georgia,serif}.card h3{display:flex;justify-content:space-between;font-size:20px;font-weight:500}.card p{font-size:13px;color:#676d6d}.about{background:#242929;color:#f4f3ef}.about h2{max-width:700px}.about>p:last-child{color:#abb1b0}.contact{display:flex;align-items:center;justify-content:space-between}footer{margin:0 7%;padding:28px 0;border-top:1px solid #d7d8d4;display:flex;justify-content:space-between;font-size:11px;color:#626967}dialog{border:0;padding:40px;width:min(570px,calc(100% - 28px));max-height:90vh;background:#f8f7f4}dialog::backdrop{background:#101718b3;backdrop-filter:blur(5px)}dialog h2{font-size:34px}.close{position:absolute;right:16px;top:12px;font-size:28px;background:none}.notice{font-size:13px;color:#6c4c28;background:#f0e8db;padding:12px}label{display:block;font-size:13px;margin:16px 0}input,select,textarea{display:block;width:100%;border:1px solid #babfba;background:white;padding:12px;margin-top:8px;border-radius:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}#result{font-size:14px}a:focus-visible,button:focus-visible{outline:3px solid #b62656;outline-offset:5px}@media(max-width:650px){header{height:76px}.brand img{width:85px}nav{gap:14px}nav>a{display:none}.small{font-size:12px}.hero{min-height:720px;padding-top:80px;background-position:center top}h1{letter-spacing:-3px}.hero-logo{width:165px}.intro{font-size:15px}.actions{flex-direction:column;align-items:stretch}.hero-bottom{font-size:8px}.hero-bottom span:last-child{display:none}.section{padding:60px 6%}.section-title,.contact{display:block}.cards{grid-template-columns:1fr}.duct-art{line-height:1.2}.contact .button{margin-top:20px}footer{gap:20px;line-height:1.6}.fields{grid-template-columns:1fr;gap:0}dialog{padding:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
/* Catalog and responsive refinements */
header{height:108px}.brand img{width:154px}.hero-logo{width:280px}.hero{min-height:850px}
.catalog-tools{display:grid;grid-template-columns:2fr 1fr;gap:22px}.catalog-tools label{margin:0}.catalog-note,#catalog-count{font-size:13px;color:#646b69}.catalog-note{margin-top:22px}.product-card{min-width:0;background:#fff;padding:22px;display:flex;flex-direction:column;border:1px solid #e6e6e1}.product-art{width:100%;aspect-ratio:1;background-image:url('assets/products-enhanced.webp');background-size:400% 500%;background-repeat:no-repeat}.missing-art{background-image:none;display:grid;place-items:center;color:#757b78;background-color:#f4f4f0;font-size:13px}.product-card h3{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:8px 0 12px}.product-card .eyebrow{font-size:9px;margin:15px 0 0}.product-card label{margin:10px 0;font-size:12px}.product-card select{font-size:14px;min-height:46px;max-width:100%;text-overflow:ellipsis}.variant-detail{font-size:12px;line-height:1.6;color:#626966;overflow-wrap:anywhere;margin:0 0 20px;min-height:40px}.product-card .button{margin-top:auto;width:100%;min-height:48px;padding:14px}.product-card input,.product-card select{min-width:0}#more{display:block;margin:30px auto 0}#more[hidden]{display:none}.quote-tray{position:fixed;bottom:22px;right:24px;z-index:5;min-height:50px;background:#242929;color:white;padding:15px 22px;border-radius:4px;box-shadow:0 4px 22px #0002}.quote-tray span{display:inline-grid;place-items:center;background:#b62656;min-width:25px;height:25px;border-radius:50%;margin:0 10px}.basket-row{border-bottom:1px solid #d7dbd5;padding:10px 0;display:grid;grid-template-columns:1fr 90px;gap:10px}.basket-row>p{font-size:13px;overflow-wrap:anywhere}.basket-row label{font-size:11px}.basket-row input{padding:10px}.remove{background:none;text-align:left;color:#a51947;text-decoration:underline;min-height:44px;width:max-content}.close{min-width:44px;min-height:44px}.notice{padding-right:12px}dialog{overscroll-behavior:contain}#result{overflow-wrap:anywhere}footer{padding-bottom:95px}input,select,textarea{font-size:16px}button{touch-action:manipulation}button:disabled{opacity:.6}
@media(min-width:651px) and (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-left:5%;padding-right:5%}nav{gap:22px}}
@media(max-width:650px){header{height:94px;padding:10px 5%}.brand img{width:122px}.hero-logo{width:230px;max-width:75vw}.hero{min-height:780px;padding-top:55px;padding-bottom:95px}.small{padding:13px 12px;gap:12px;min-height:44px}.catalog-tools{grid-template-columns:1fr;gap:14px}.cards{grid-template-columns:minmax(0,1fr)}.product-card{padding:20px}.product-art{max-width:320px;align-self:center}.quote-tray{bottom:12px;right:12px;padding:12px 16px}.hero-content{max-width:100%}.hero h1{font-size:58px}.section-title>p{margin-top:20px}.basket-row{grid-template-columns:minmax(0,1fr) 80px}dialog{padding:25px 20px}.contact h2{font-size:40px}}
@media(max-width:360px){.brand img{width:105px}.small{font-size:11px}.hero h1{font-size:52px}.hero-logo{width:210px}}
/* Individually framed atlas images and optional enquiry attachments */
.framed-art{background:none;display:grid;place-items:center}.art-window{position:relative;width:90%;overflow:hidden}.art-window img{position:absolute;max-width:none;height:auto;display:block}.attachment-label input{max-width:100%;font-size:14px;padding:12px 8px}#optional-products{border-block:1px solid #d7dbd5;padding:18px 0;margin:24px 0}summary{cursor:pointer;min-height:44px;line-height:1.6;font-weight:600}#optional-products>p{font-size:13px;color:#626966}#file-list{list-style:none;padding:0;font-size:13px}#file-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}#file-list span{overflow-wrap:anywhere;min-width:0}#file-error{color:#a51947;font-size:13px}.product-card select{font-size:16px}
.skip-link{position:fixed;left:15px;top:-100px;z-index:20;background:white;padding:14px}.skip-link:focus{top:12px}.privacy-check{display:flex;align-items:start;gap:10px;line-height:1.6}.privacy-check input{width:20px;height:20px;flex-shrink:0;margin-top:2px}.privacy-check a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact p{font-size:15px;line-height:1.9}.contact p a{text-decoration:underline}footer{flex-wrap:wrap;gap:18px}.legal{max-width:900px;margin:auto;min-height:70vh}.legal h1{font-size:clamp(36px,6vw,62px);letter-spacing:-2px}.legal h2{font-size:25px;letter-spacing:-.5px;margin-top:35px}.legal a{text-decoration:underline}.legal li{line-height:1.8}.notice{color:#554326}.catalog-note,#catalog-count{color:#535955}
.about-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:45px;align-items:start;margin:24px 0 40px}.about-intro h2{margin:0}.about-intro p{margin:0;color:#d3d8d5;line-height:1.9;font-size:17px}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-gallery figure{margin:0;min-width:0}.project-gallery a{display:block;background:#1a1f1f}.project-gallery img{display:block;width:100%;height:300px;object-fit:cover;object-position:center 40%;transition:filter .2s}.project-gallery a:hover img{filter:brightness(1.08)}.project-gallery figcaption{padding:15px 0;font-size:13px;color:#d3d8d5}.instagram{display:inline-flex;align-items:center;gap:10px;min-height:44px}.about>.instagram{margin-top:28px;color:#f4f3ef}.instagram svg{flex-shrink:0}@media(max-width:800px){.about-intro{grid-template-columns:1fr;gap:20px}.project-gallery{grid-template-columns:1fr}.project-gallery img{height:auto;max-height:500px;object-fit:contain}.project-gallery a{background:#242929}.about-intro p{font-size:16px}}
.brand img,.hero-logo{height:auto}
@media(max-width:650px){.hero{background-image:linear-gradient(0deg,rgba(246,246,241,.98),rgba(246,246,241,.8) 37%,rgba(238,239,236,.12) 100%),url('assets/spiro-hero-mobile.webp')}}
