:root{
--ink:#20221f;
--ink-soft:#2b2b2b;
--paper:#efeadf;
--surface:#fffdf7;
--muted:#62685f;
--line:rgba(32,34,31,0.12);
--accent:#6f7b6f;
--teal:#b4bcb2;
--sage:#b4bcb2;
--sage-dark:#747d73;
--disk:#e3dac9;
--disk-warm:#ddc9a4;
--dark:#11120f;
--dark-card:#20221f;
--dark-line:rgba(255,255,255,0.1);
--shadow:0 18px 42px rgba(10,12,18,0.18);
}

*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
background:var(--paper);
color:var(--ink);
text-align:center;
overflow-x:hidden;
}

img{
max-width:100%;
height:auto;
}

a{
color:inherit;
}

p{
line-height:1.65;
}

h1,
h2,
h3,
p{
overflow-wrap:break-word;
}

.container{
max-width:1120px;
margin:0 auto;
padding:34px 18px 58px;
}

.logo{
width:190px;
max-width:70%;
height:auto;
margin:0 auto 22px;
display:block;
border-radius:8px;
background:#fff;
box-shadow:0 14px 38px rgba(0,0,0,0.22);
}

h1{
margin:0 0 12px;
font-size:clamp(34px, 6vw, 64px);
line-height:1;
letter-spacing:0;
}

h2{
margin:0 0 14px;
font-size:clamp(26px, 4vw, 42px);
line-height:1.1;
letter-spacing:0;
}

h3{
line-height:1.25;
}

.tagline{
max-width:760px;
margin:0 auto 28px;
color:var(--muted);
font-size:18px;
line-height:1.45;
}

.eyebrow{
margin:0 0 12px;
font-size:12px;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--accent);
}

.section{
margin:58px auto 0;
}

.section-intro{
max-width:760px;
margin:0 auto 26px;
color:var(--muted);
}

.smalltext{
margin:8px 0 0;
font-size:13px;
line-height:1.45;
color:rgba(32,34,31,0.68);
}

.button,
.big-button,
.small-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
border:0;
border-radius:6px;
font-weight:800;
text-decoration:none;
transition:transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s;
}

.button:hover,
.big-button:hover,
.small-button:hover{
transform:translateY(-2px);
}

.button,
.big-button{
padding:13px 18px;
font-size:15px;
background:var(--ink);
color:#fff;
box-shadow:0 14px 30px rgba(21,23,28,0.2);
}

.button:hover,
.big-button:hover{
background:#383b35;
color:#fff;
}

.button-secondary{
background:#fff;
color:var(--ink);
box-shadow:inset 0 0 0 1px rgba(21,23,28,0.14);
}

.button-secondary:hover{
background:#fff;
color:var(--ink);
box-shadow:inset 0 0 0 1px rgba(21,23,28,0.24), 0 12px 28px rgba(21,23,28,0.12);
}

.small-button{
margin-top:12px;
padding:10px 15px;
background:var(--ink);
color:#fff;
font-size:14px;
}

.nav-wrap{
margin:0 0 34px;
}

.nav-toggle{
display:none;
background:var(--ink);
color:#fff;
border:none;
border-radius:6px;
padding:11px 15px;
font-size:15px;
font-weight:800;
cursor:pointer;
margin:0 auto 14px;
}

.nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
}

.nav a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:38px;
padding:8px 10px;
border-radius:6px;
color:#262b35;
font-size:14px;
font-weight:800;
text-decoration:none;
}

.nav a:hover,
.nav a.active{
background:var(--ink);
color:#fff;
}

.products{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
gap:22px;
margin-top:28px;
align-items:stretch;
}

.products > a{
color:inherit;
text-decoration:none;
}

.product{
height:100%;
background:#fff;
padding:16px;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s;
display:flex;
flex-direction:column;
align-items:center;
}

.product:hover{
transform:translateY(-5px);
box-shadow:0 18px 38px rgba(24,27,32,0.12);
border-color:rgba(32,34,31,0.18);
}

.product img{
display:block;
width:100%;
aspect-ratio:1 / 1;
object-fit:contain;
background:#fff;
border-radius:6px;
}

.product-title{
margin-top:14px;
font-weight:800;
line-height:1.35;
}

.product p{
color:var(--muted);
}

.footer{
margin-top:60px;
font-size:14px;
color:#5a606b;
line-height:1.4;
}

input,
select{
padding:10px;
font-size:16px;
border-radius:6px;
border:1px solid #ccc;
width:200px;
max-width:100%;
text-align:center;
box-sizing:border-box;
}

.breadcrumb{
margin:0 auto 18px;
color:#5a606b;
font-size:14px;
}

.breadcrumb a{
color:var(--ink);
text-decoration:none;
}

.breadcrumb a:hover{
text-decoration:underline;
}

.sharebox{
margin-top:20px;
}

.sharebtn{
display:inline-block;
margin:6px;
padding:10px 16px;
background:var(--ink);
color:#fff;
border-radius:6px;
text-decoration:none;
font-weight:700;
font-size:14px;
transition:0.2s;
}

.sharebtn:hover{
background:#383b35;
color:#fff;
}

.versionlist{
columns:3;
list-style:none;
padding:0;
margin-top:10px;
}

.versionlist li{
margin:5px 0;
}

.versionlist a,
.version-links a{
color:#4f6f61;
text-decoration:none;
font-weight:600;
}

.versionlist a:hover,
.version-links a:hover{
color:var(--ink);
text-decoration:underline;
}

.breed-gallery{
max-width:900px;
margin:0 auto;
background:#fff;
padding:20px;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
}

.breed-main{
display:flex;
flex-direction:column;
align-items:center;
}

.breed-main img{
display:block;
width:100%;
max-width:520px;
height:auto;
max-height:700px;
object-fit:contain;
background:#fff;
border-radius:8px;
margin:0 auto 14px;
}

.breed-thumbs{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
margin-top:18px;
}

.breed-thumbs img{
width:88px;
height:88px;
object-fit:cover;
background:#fff;
border-radius:6px;
border:2px solid transparent;
cursor:pointer;
transition:0.2s;
padding:2px;
box-sizing:border-box;
}

.breed-thumbs img:hover,
.breed-thumbs img.active-thumb{
border-color:var(--sage);
transform:scale(1.04);
}

.breed-main .product-title{
margin:8px 0 12px;
}

.breed-main .product-title a{
color:#4f6f61;
text-decoration:underline;
font-weight:800;
}

.version-page{
max-width:1100px;
margin:0 auto;
padding:2rem 1rem 4rem;
text-align:center;
}

.version-intro{
max-width:760px;
margin:0 auto 2rem;
}

.version-tool,
.version-card,
.version-links li{
background:#fff;
border-radius:8px;
box-shadow:0 0 0 1px rgba(21,23,28,0.08), 0 18px 38px rgba(24,27,32,0.06);
}

.version-tool{
padding:2rem 1rem;
margin:2rem auto;
max-width:720px;
}

.version-form{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:1rem;
margin-top:1.25rem;
}

.version-form select{
min-width:220px;
padding:0.8rem 1rem;
border-radius:8px;
border:1px solid rgba(21,23,28,0.16);
background:#fff;
color:var(--ink);
font-size:1rem;
}

.version-result{
margin-top:2rem;
}

.version-card{
padding:1.5rem 1rem 2rem;
max-width:760px;
margin:0 auto;
}

.version-card img{
width:100%;
max-width:420px;
height:auto;
border-radius:8px;
margin:1rem auto;
display:block;
background:#fff;
}

.version-buttons{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:0.75rem;
margin-top:1rem;
}

.version-share{
margin-top:1.5rem;
padding-top:1rem;
border-top:1px solid rgba(21,23,28,0.08);
}

.version-links{
margin-top:3rem;
}

.version-links ul{
list-style:none;
padding:0;
margin:1rem auto 0;
max-width:800px;
display:grid;
gap:0.75rem;
}

.version-links li{
padding:0.9rem 1rem;
}

.muted-text{
opacity:0.85;
}

.page-hero,
.request-layout{
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(280px, 420px);
align-items:center;
gap:34px;
text-align:left;
}

.page-hero{
margin-top:30px;
padding:28px;
background:linear-gradient(135deg, #f7f2e6, #e8dfce);
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
box-shadow:var(--shadow);
}

.page-hero p{
color:#4b525e;
}

.page-hero img{
width:100%;
aspect-ratio:1 / 1;
object-fit:contain;
background:#fff;
border-radius:8px;
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:24px;
}

.request-layout{
align-items:start;
}

.request-card,
.cta-panel{
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
box-shadow:var(--shadow);
}

.request-card{
padding:24px;
}

.request-card h3{
margin-top:0;
}

.request-card ul{
margin:0;
padding-left:20px;
}

.request-card li{
margin:8px 0;
line-height:1.45;
}

.steps{
display:grid;
gap:12px;
margin-top:18px;
}

.step{
display:grid;
grid-template-columns:42px minmax(0, 1fr);
align-items:start;
gap:12px;
padding:16px;
background:#f7f2e6;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
}

.step span{
display:grid;
place-items:center;
width:34px;
height:34px;
border-radius:50%;
background:var(--ink);
color:#fff;
font-weight:900;
}

.step p{
margin:4px 0 0;
}

.cta-panel{
padding:30px;
text-align:center;
}

.cta-panel p{
max-width:720px;
margin-left:auto;
margin-right:auto;
}

.feature-grid-light .feature{
background:#fff;
border-color:rgba(21,23,28,0.08);
}

.collection-products .product p{
margin-bottom:0;
}

.home-page{
text-align:left;
background:var(--paper);
color:var(--ink);
}

.home-page p{
line-height:1.65;
}

.site-header{
width:min(1320px, calc(100% - 48px));
margin:0 auto;
padding:22px 0 12px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
}

.brand-mark{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
font-weight:800;
letter-spacing:0;
color:var(--ink);
white-space:nowrap;
}

.brand-logo{
width:62px;
height:62px;
object-fit:contain;
border-radius:8px;
background:#fff;
box-shadow:0 12px 28px rgba(32,34,31,0.14);
}

.home-page .nav-wrap{
margin:0;
}

.home-page .nav{
justify-content:flex-end;
flex-wrap:nowrap;
gap:6px;
}

.home-page .nav a{
color:#262b35;
font-size:13px;
padding:8px 9px;
}

.home-page .nav a:hover,
.home-page .nav a.active{
background:var(--ink);
color:#fff;
}

.home-page .nav-toggle{
background:var(--ink);
color:#fff;
margin:0;
}

.hero{
position:relative;
isolation:isolate;
width:min(1440px, calc(100% - 32px));
min-height:680px;
margin:0 auto;
padding:42px 0 86px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

.hero::before{
content:"";
position:absolute;
top:0;
bottom:0;
left:50%;
width:100vw;
transform:translateX(-50%);
background:
radial-gradient(circle at 14% 4%, rgba(255,255,255,0.5), transparent 24%),
linear-gradient(180deg, #f3ecdf 0%, #e3dac9 56%, #cfc2ad 100%);
z-index:-2;
}

.hero::after{
content:"";
position:absolute;
left:50%;
bottom:42px;
width:min(980px, 82vw);
height:26px;
transform:translateX(-50%);
background:radial-gradient(ellipse at center, rgba(45,40,30,0.24), transparent 68%);
filter:blur(4px);
z-index:-1;
}

.hero-device{
position:relative;
width:min(100%, 1240px);
aspect-ratio:4 / 3;
filter:drop-shadow(0 34px 55px rgba(40,36,27,0.22));
}

.hero-monitor-image{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:contain;
pointer-events:none;
user-select:none;
}

.hero-copy{
position:absolute;
top:16.8%;
right:15.5%;
bottom:14.7%;
left:15%;
display:flex;
max-width:none;
flex-direction:column;
align-items:flex-start;
justify-content:center;
padding:clamp(22px, 4.2vw, 66px);
overflow:hidden;
border-radius:clamp(18px, 2.2vw, 34px);
color:#111319;
text-align:left;
}

.hero-copy::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(249,248,241,0.18), rgba(211,206,194,0.02)),
repeating-linear-gradient(0deg, rgba(17,19,25,0.018) 0 1px, rgba(255,255,255,0.035) 1px 3px);
opacity:0.72;
}

.hero-copy::after{
content:"";
position:absolute;
inset:-18%;
background:radial-gradient(circle at 50% 42%, transparent 0 62%, rgba(43,45,37,0.05) 100%);
}

.hero-copy > *{
position:relative;
z-index:1;
}

.hero h1{
margin:0 0 22px;
max-width:760px;
font-size:clamp(48px, 7.3vw, 108px);
line-height:0.9;
letter-spacing:0;
color:#111319;
}

.hero-intro{
max-width:670px;
margin:0;
font-size:clamp(17px, 1.35vw, 21px);
color:#27323a;
}

.home-page .button,
.home-page .big-button{
background:var(--ink);
color:#fff;
box-shadow:0 14px 30px rgba(21,23,28,0.2);
}

.home-page .button:hover,
.home-page .big-button:hover{
background:#383b35;
color:#fff;
}

.home-page .button-secondary{
background:#fff;
color:var(--ink);
box-shadow:inset 0 0 0 1px rgba(21,23,28,0.14);
}

.home-page .button-secondary:hover{
background:#fff;
color:var(--ink);
box-shadow:inset 0 0 0 1px rgba(21,23,28,0.25), 0 12px 28px rgba(21,23,28,0.1);
}

.hero-proof{
margin-top:28px;
display:flex;
flex-wrap:wrap;
gap:10px;
color:#525965;
font-size:13px;
font-weight:700;
}

.hero-proof span{
padding:8px 10px;
background:rgba(255,255,255,0.66);
border:1px solid rgba(21,23,28,0.08);
border-radius:6px;
}

.home-page .section{
width:min(1180px, calc(100% - 32px));
margin:0 auto;
padding:72px 0;
}

.home-page .section-tight{
padding-top:40px;
}

.section-heading{
max-width:760px;
margin:0 auto 32px;
text-align:center;
}

.section-heading h2,
.bespoke-copy h2,
.split-callout h2{
margin:0;
font-size:clamp(30px, 4vw, 52px);
line-height:1.05;
letter-spacing:0;
color:#111319;
}

.section-heading p:not(.eyebrow),
.bespoke-copy p:not(.eyebrow){
margin:16px 0 0;
font-size:18px;
color:#4b525e;
}

.collection-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:18px;
}

.collection-card{
display:flex;
min-height:100%;
flex-direction:column;
gap:10px;
padding:14px;
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
text-decoration:none;
box-shadow:0 18px 38px rgba(24,27,32,0.08);
transition:transform 0.2s, box-shadow 0.2s;
}

.collection-card:hover{
transform:translateY(-5px);
box-shadow:0 24px 48px rgba(24,27,32,0.13);
}

.collection-card img{
width:100%;
aspect-ratio:1 / 1;
object-fit:contain;
background:#f7f7f7;
border-radius:6px;
}

.collection-card span{
font-size:13px;
font-weight:900;
letter-spacing:0.04em;
text-transform:uppercase;
color:var(--accent);
}

.collection-card strong{
font-size:18px;
line-height:1.3;
color:#171a20;
}

.bespoke-band{
background:#20221f;
color:#fff;
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(330px, 470px);
gap:48px;
align-items:center;
padding:72px max(16px, calc((100vw - 1180px) / 2));
}

.bespoke-copy h2{
color:#fff;
}

.bespoke-copy p:not(.eyebrow){
color:#d6d9df;
}

.bespoke-panel{
background:#fff;
color:#171a20;
border-radius:8px;
padding:28px;
box-shadow:0 28px 60px rgba(0,0,0,0.2);
}

.bespoke-panel h3{
margin:0 0 12px;
font-size:22px;
}

.bespoke-panel ul{
padding-left:20px;
margin:0 0 22px;
}

.bespoke-panel li{
margin:8px 0;
line-height:1.45;
}

.bespoke-panel .smalltext{
color:#5b6370;
}

.bespoke-button{
width:100%;
}

.feature-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
}

.feature{
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
padding:24px;
box-shadow:0 18px 38px rgba(24,27,32,0.06);
}

.feature h3{
margin:0 0 10px;
font-size:20px;
}

.feature p{
margin:0;
color:#4b525e;
}

.feature-grid-light .feature p{
color:#4b525e;
}

.split-callout{
display:flex;
align-items:center;
justify-content:space-between;
gap:32px;
padding:32px;
background:#fff;
border-radius:8px;
border:1px solid rgba(21,23,28,0.08);
box-shadow:0 18px 38px rgba(24,27,32,0.08);
}

.quick-links{
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
gap:10px;
max-width:520px;
}

.quick-links a{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:10px 13px;
border-radius:6px;
background:#e3dac9;
color:#15171c;
font-weight:800;
text-decoration:none;
}

.quick-links a:hover{
background:#20221f;
color:#fff;
}

.home-footer{
width:min(1180px, calc(100% - 32px));
margin:0 auto;
padding:34px 0 44px;
color:#5a606b;
text-align:center;
}

.home-footer p{
margin:0;
}

@media (max-width: 980px){
.site-header{
align-items:flex-start;
}

.home-page .nav{
max-width:620px;
}

.hero{
min-height:620px;
padding-top:24px;
padding-bottom:70px;
}

.hero-device{
width:min(100%, 1060px);
}

.hero-copy{
padding:clamp(20px, 5vw, 52px);
}

.hero h1{
font-size:clamp(46px, 9vw, 82px);
}

.collection-grid,
.feature-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.bespoke-band,
.page-hero,
.request-layout{
grid-template-columns:1fr;
}

.split-callout{
align-items:flex-start;
flex-direction:column;
}

.quick-links{
justify-content:flex-start;
}
}

@media (max-width: 768px){
.container{
padding:24px 12px 44px;
}

.logo{
width:160px;
max-width:74%;
}

h1{
font-size:34px;
}

.tagline{
font-size:16px;
margin-bottom:22px;
}

.section{
margin-top:44px;
}

.products{
grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
gap:16px;
}

.nav-toggle{
display:inline-flex;
align-items:center;
justify-content:center;
}

.nav{
display:none;
flex-direction:column;
align-items:stretch;
gap:8px;
background:#fff;
padding:12px;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
margin-top:10px;
}

.nav.nav-open{
display:flex;
}

.nav a{
font-size:15px;
justify-content:flex-start;
padding:9px 10px;
}

.versionlist{
columns:2;
}

.version-form{
flex-direction:column;
align-items:center;
}

.version-form select{
width:100%;
max-width:320px;
min-width:0;
}

.version-buttons{
flex-direction:column;
align-items:center;
}

.version-buttons .button{
width:100%;
max-width:320px;
box-sizing:border-box;
}

.breed-gallery{
padding:14px;
}

.breed-main img{
max-width:100%;
max-height:none;
}

.breed-thumbs{
gap:10px;
}

.breed-thumbs img{
width:72px;
height:72px;
}

.page-hero,
.request-card,
.cta-panel{
padding:20px;
}

.hero-actions{
flex-direction:column;
align-items:stretch;
}

.hero-actions .button,
.hero-actions .big-button{
width:100%;
}

.site-header{
width:min(100% - 24px, 1320px);
align-items:center;
}

.brand-mark span{
font-size:15px;
}

.brand-logo{
width:46px;
height:46px;
}

.home-page .nav{
display:none;
background:#fff;
align-items:stretch;
padding:12px;
box-shadow:0 18px 38px rgba(24,27,32,0.12);
}

.home-page .nav.nav-open{
display:flex;
}

.home-page .nav a{
text-align:left;
}

.hero,
.home-page .section{
width:min(100% - 24px, 1320px);
}

.hero{
width:100%;
min-height:0;
padding:18px 12px 44px;
}

.hero-device{
width:min(900px, 128vw);
}

.hero h1{
font-size:clamp(40px, 8vw, 62px);
}

.hero-intro{
font-size:17px;
}

.hero-proof{
align-items:flex-start;
}

.home-page .button{
width:100%;
}

.hero .button{
width:auto;
}

.collection-grid,
.feature-grid{
grid-template-columns:1fr;
}

.bespoke-band{
padding:52px 16px;
}

.bespoke-panel{
padding:22px;
}

.split-callout{
padding:22px;
}

.quick-links{
width:100%;
}

.quick-links a{
width:100%;
}
}

@media (max-width: 640px){
.hero{
padding:24px 12px 46px;
}

.hero-device{
width:100%;
min-height:620px;
aspect-ratio:auto;
filter:none;
overflow:hidden;
}

.hero-monitor-image{
top:18px;
left:50%;
width:760px;
max-width:none;
height:auto;
transform:translateX(-50%);
opacity:0.72;
}

.hero-copy{
position:relative;
top:auto;
right:auto;
bottom:auto;
left:auto;
width:min(100%, 520px);
margin:98px auto 0;
padding:26px 18px;
border:1px solid rgba(21,23,28,0.14);
background:rgba(239,234,223,0.9);
box-shadow:0 18px 42px rgba(36,32,24,0.18);
}

.hero-copy::before,
.hero-copy::after{
display:none;
}

.hero h1{
font-size:38px;
}

.hero-intro{
font-size:16px;
}

.hero-actions{
flex-direction:column;
align-items:stretch;
}

.hero .button{
width:100%;
}

.hero-proof{
display:none;
}
}

@media (max-width: 480px){
h1{
font-size:30px;
}

h2{
font-size:25px;
}

.products{
grid-template-columns:1fr;
}

.versionlist{
columns:1;
}

.breed-thumbs img{
width:64px;
height:64px;
}

.footer{
margin-top:40px;
font-size:13px;
}

.hero h1{
font-size:38px;
}

.section-heading h2,
.bespoke-copy h2,
.split-callout h2{
font-size:31px;
}
}


.footer-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
margin:12px auto 0;
}

.footer-links a{
color:inherit;
text-decoration:underline;
text-underline-offset:3px;
}

.footer-note{
max-width:760px;
margin:10px auto 0;
font-size:12px;
opacity:0.82;
}

.legal-page{
max-width:880px;
margin:42px auto 0;
text-align:left;
}

.legal-page section{
margin-top:34px;
}

.legal-page h2{
font-size:clamp(24px, 3vw, 34px);
}

.legal-page table{
width:100%;
border-collapse:collapse;
margin-top:18px;
font-size:14px;
}

.legal-page th,
.legal-page td{
border:1px solid rgba(21,23,28,0.12);
padding:12px;
vertical-align:top;
}

.legal-page th{
background:#f7f2e6;
text-align:left;
}

.legal-page a{
color:#4f6f61;
}

.cookie-consent{
position:fixed;
left:0;
right:0;
bottom:0;
z-index:1000;
padding:16px;
background:rgba(10,12,18,0.72);
backdrop-filter:blur(10px);
}

.cookie-consent__panel{
width:min(980px, 100%);
margin:0 auto;
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:18px;
align-items:center;
padding:18px;
background:#fff;
color:#15171c;
border-radius:8px;
box-shadow:0 18px 60px rgba(0,0,0,0.28);
text-align:left;
}

.cookie-consent h2{
margin:0 0 8px;
font-size:22px;
color:#15171c;
}

.cookie-consent p{
margin:0;
color:#333842;
}

.cookie-consent details{
margin-top:10px;
}

.cookie-consent summary{
cursor:pointer;
font-weight:800;
}

.cookie-consent__actions{
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
gap:10px;
}

.cookie-button{
min-height:44px;
padding:12px 16px;
border:0;
border-radius:6px;
font-weight:800;
cursor:pointer;
}

.cookie-button-primary{
background:#20221f;
color:#fff;
}

.cookie-button-secondary{
background:#eef1f3;
color:#15171c;
box-shadow:inset 0 0 0 1px rgba(21,23,28,0.16);
}

@media (max-width: 720px){
.cookie-consent__panel{
grid-template-columns:1fr;
}

.cookie-consent__actions{
justify-content:stretch;
}

.cookie-button{
width:100%;
}

.legal-page table,
.legal-page thead,
.legal-page tbody,
.legal-page th,
.legal-page td,
.legal-page tr{
display:block;
}

.legal-page th{
display:none;
}

.legal-page td{
border-bottom:0;
}

.legal-page tr{
border:1px solid rgba(21,23,28,0.12);
margin-bottom:12px;
}
}


.collection-card:nth-child(3){
background:#eef1ea;
}

.collection-card:nth-child(4){
background:#f7f2e6;
}


.catalogue-section{
max-width:1280px;
}

.catalogue-toolbar{
display:grid;
grid-template-columns:minmax(260px, 1fr) minmax(180px, 240px) minmax(180px, 240px);
gap:14px;
align-items:end;
margin:30px 0 18px;
padding:18px;
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
text-align:left;
box-shadow:0 18px 38px rgba(24,27,32,0.06);
}

.catalogue-toolbar label{
display:grid;
gap:8px;
font-weight:800;
font-size:13px;
color:var(--ink);
}

.catalogue-toolbar input,
.catalogue-toolbar select{
width:100%;
min-height:44px;
padding:10px 12px;
text-align:left;
border-radius:6px;
border:1px solid rgba(21,23,28,0.16);
background:#fff;
color:#15171c;
}

.catalogue-summary{
margin:0 0 20px;
color:#5a606b;
font-size:14px;
text-align:left;
}

.catalogue-grid{
display:grid;
grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
gap:18px;
align-items:stretch;
}

.catalogue-card{
display:flex;
height:100%;
flex-direction:column;
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
overflow:hidden;
text-align:left;
box-shadow:0 18px 38px rgba(24,27,32,0.08);
}

.catalogue-card img{
width:100%;
aspect-ratio:1 / 1;
object-fit:cover;
background:#fff;
}

.catalogue-card__body{
display:flex;
flex:1;
flex-direction:column;
gap:10px;
padding:14px;
}

.catalogue-card__meta{
display:flex;
flex-wrap:wrap;
gap:6px;
}

.catalogue-pill{
display:inline-flex;
align-items:center;
min-height:24px;
padding:4px 7px;
border-radius:999px;
background:#eef1ea;
color:#4f5b4d;
font-size:11px;
font-weight:800;
}

.catalogue-card h3{
margin:0;
font-size:16px;
line-height:1.3;
}

.catalogue-card p{
margin:0;
color:#5a606b;
font-size:13px;
}

.catalogue-card__price{
margin-top:auto;
font-weight:900;
color:var(--ink);
}

.catalogue-card .small-button{
width:100%;
}

@media (max-width: 820px){
.catalogue-toolbar{
grid-template-columns:1fr;
}
}


.bespoke-form-section{
max-width:980px;
}

.bespoke-form{
margin:0 auto;
padding:26px;
background:#fff;
border:1px solid rgba(21,23,28,0.08);
border-radius:8px;
box-shadow:var(--shadow);
text-align:left;
}

.form-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:16px;
}

.bespoke-form label{
display:grid;
gap:8px;
font-weight:800;
color:var(--ink);
}

.bespoke-form label span em{
font-style:normal;
font-weight:600;
opacity:0.72;
}

.bespoke-form input,
.bespoke-form select,
.bespoke-form textarea{
width:100%;
padding:12px;
border:1px solid rgba(21,23,28,0.16);
border-radius:6px;
background:#fff;
color:#15171c;
font:inherit;
text-align:left;
}

.bespoke-form textarea{
resize:vertical;
min-height:120px;
}

.form-full,
.form-consent,
.form-actions,
.form-status{
margin-top:16px;
}

.form-consent{
display:grid;
grid-template-columns:auto minmax(0, 1fr);
align-items:start;
gap:10px;
font-weight:600;
line-height:1.45;
}

.form-consent input{
width:auto;
margin-top:4px;
}

.form-consent a{
color:#4f6f61;
}

.form-actions{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:14px;
}

.form-actions .big-button:disabled{
opacity:0.68;
cursor:not-allowed;
transform:none;
}

.form-actions .smalltext{
margin:0;
max-width:520px;
}

.form-status{
min-height:24px;
font-weight:800;
}

.form-status.is-success{
color:#4f6f61;
}

.form-status.is-error{
color:#a83b2f;
}

.form-honeypot{
position:absolute;
left:-9999px;
opacity:0;
}

@media (max-width: 720px){
.bespoke-form{
padding:20px;
}

.form-grid{
grid-template-columns:1fr;
}

.form-actions .big-button{
width:100%;
}
}
