:root{

--ink:#23272B;

--ink-2:#2C3136;

--ink-3:#31373C;

--stone:#F2ECE0;

--stone-dim:#C9C0AE;

--stone-faint:#9B9587;

--brass:#B79157;

--brass-bright:#D2AC72;

--clay:#A5613F;

--line: rgba(242,236,224,0.14);

--line-strong: rgba(242,236,224,0.26);

--display: 'Newsreader', serif;

--body: 'Work Sans', sans-serif;

--mono: 'IBM Plex Mono', monospace;

}



*{box-sizing:border-box; margin:0; padding:0;}



html{scroll-behavior:smooth;}



body{

background:var(--ink);

color:var(--stone);

font-family:var(--body);

font-weight:300;

line-height:1.6;

-webkit-font-smoothing:antialiased;

}



a{color:inherit;}



img{max-width:100%;display:block;}



.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}



@media (max-width:640px){ .wrap{padding:0 22px;} }



.eyebrow{

font-family:var(--mono);

font-size:11.5px;

letter-spacing:.18em;

text-transform:uppercase;

color:var(--brass-bright);

}



/* NAV */

header.site{

position:sticky; top:0; z-index:50;

background:rgba(35,39,43,0.86);

backdrop-filter:blur(10px);

border-bottom:1px solid var(--line);

}

.navrow{

display:flex; align-items:center; justify-content:space-between;

padding:20px 0;

}

.wordmark{

font-family:var(--display);

font-style:italic;

font-size:19px;

letter-spacing:.01em;

}

.wordmark b{font-style:normal; font-weight:500;}

nav.links{display:flex; gap:34px; font-size:13.5px; letter-spacing:.02em;}

nav.links a{opacity:.78; transition:opacity .2s; text-decoration:none;}

nav.links a:hover{opacity:1;}

.nav-cta{

font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;

border:1px solid var(--line-strong); padding:10px 18px; text-decoration:none;

transition:border-color .2s, background .2s;

}

.nav-cta:hover{border-color:var(--brass); background:rgba(183,145,87,0.08);}

@media (max-width:820px){ nav.links{display:none;} }



/* HERO */

.hero{

position:relative;

padding:120px 0 90px;

overflow:hidden;

border-bottom:1px solid var(--line);

}

.hero::before{

content:"";

position:absolute; inset:0;

background:

	radial-gradient(ellipse 900px 500px at 82% -10%, rgba(183,145,87,0.14), transparent 60%);

pointer-events:none;

}

.hero-eyebrow-row{

display:flex; align-items:center; gap:14px; margin-bottom:34px;

}

.hero-eyebrow-row .rule{flex:0 0 40px; height:1px; background:var(--brass);}

h1.hero-title{

font-family:var(--display);

font-weight:300;

font-size:clamp(40px, 6.2vw, 82px);

line-height:1.04;

letter-spacing:-.01em;

max-width:15ch;

}

h1.hero-title em{font-style:italic; color:var(--brass-bright); font-weight:400;}

.hero-sub{

margin-top:28px;

max-width:46ch;

font-size:17px;

color:var(--stone-dim);

font-weight:300;

}

.hero-ctas{

margin-top:44px;

display:flex; gap:18px; flex-wrap:wrap;

}

.btn{

font-family:var(--mono);

font-size:12px;

letter-spacing:.1em;

text-transform:uppercase;

padding:15px 26px;

text-decoration:none;

display:inline-flex; align-items:center; gap:10px;

border:1px solid transparent;

transition:all .22s ease;

}

.btn-solid{background:var(--brass); color:var(--ink);}

.btn-solid:hover{background:var(--brass-bright);}

.btn-ghost{border-color:var(--line-strong); color:var(--stone);}

.btn-ghost:hover{border-color:var(--brass);}



/* STAT STRIP — dimension-callout style */

.stats{

border-bottom:1px solid var(--line);

background:var(--ink-2);

}

.stats .wrap{

display:grid;

grid-template-columns:repeat(3,1fr);

}

.stat{

padding:36px 30px;

border-left:1px solid var(--line);

position:relative;

}

.stat:first-child{border-left:none;}

.stat .num{

font-family:var(--display);

font-style:italic;

font-size:40px;

color:var(--brass-bright);

line-height:1;

}

.stat .label{

margin-top:10px;

font-family:var(--mono);

font-size:11px;

letter-spacing:.14em;

text-transform:uppercase;

color:var(--stone-faint);

}

@media (max-width:640px){

.stats .wrap{grid-template-columns:1fr; }

.stat{border-left:none; border-top:1px solid var(--line);}

.stat:first-child{border-top:none;}

}



section{padding:104px 0;}

.section-head{

display:flex; justify-content:space-between; align-items:flex-end;

gap:40px; margin-bottom:64px; flex-wrap:wrap;

}

h2.section-title{

font-family:var(--display);

font-weight:300;

font-size:clamp(30px,3.6vw,46px);

max-width:14ch;

margin-top:14px;

}

.section-note{

max-width:34ch; font-size:14.5px; color:var(--stone-dim);

}



/* CRAFT */

.craft-list{

border-top:1px solid var(--line);

}

.craft-item{

display:grid;

grid-template-columns:90px 1fr 1fr;

gap:30px;

padding:34px 0;

border-bottom:1px solid var(--line);

align-items:baseline;

}

.craft-item .idx{

font-family:var(--mono); font-size:13px; color:var(--brass); letter-spacing:.06em;

}

.craft-item h3{

font-family:var(--display); font-weight:400; font-size:24px; letter-spacing:-.005em;

}

.craft-item p{font-size:14.5px; color:var(--stone-dim); max-width:44ch;}

@media (max-width:760px){

.craft-item{grid-template-columns:1fr; gap:8px;}

}



/* PHILOSOPHY */

.philosophy{background:var(--ink-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

blockquote.pull{

font-family:var(--display);

font-style:italic;

font-weight:300;

font-size:clamp(26px,3.4vw,40px);

max-width:18ch;

line-height:1.28;

color:var(--stone);

margin-bottom:70px;

}

blockquote.pull span{color:var(--brass-bright);}

.phil-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:1px;

background:var(--line);

border:1px solid var(--line);

}

.phil-card{background:var(--ink-2); padding:32px 26px;}

.phil-card .eyebrow{margin-bottom:16px;}

.phil-card h4{font-family:var(--display); font-weight:400; font-size:19px; margin-bottom:10px;}

.phil-card p{font-size:13.5px; color:var(--stone-dim);}

@media (max-width:900px){ .phil-grid{grid-template-columns:1fr 1fr;} }

@media (max-width:560px){ .phil-grid{grid-template-columns:1fr;} }



/* COVERAGE / MAP */

.coverage-layout{

display:grid; grid-template-columns:1fr 1.2fr; gap:70px; align-items:center;

}

@media (max-width:900px){ .coverage-layout{grid-template-columns:1fr; gap:50px;} }

.coverage-copy p{color:var(--stone-dim); font-size:15px; max-width:40ch; margin-top:20px;}

.base-tag{

margin-top:30px; display:inline-flex; align-items:center; gap:10px;

font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;

color:var(--brass-bright); border:1px solid var(--line-strong); padding:10px 16px;

}

.base-tag .dot{width:7px; height:7px; border-radius:50%; background:var(--brass-bright);}

.map-svg{width:100%; height:auto;}

.map-label{font-family:var(--mono); font-size:11px; fill:var(--stone-dim);}

.map-label.home{fill:var(--brass-bright); font-weight:500;}

.map-dot{fill:var(--stone-dim);}

.map-dot.home{fill:var(--brass-bright);}



/* TESTIMONIALS */

.testimonials{border-top:1px solid var(--line);}

.t-grid{

display:grid; grid-template-columns:repeat(3,1fr); gap:1px;

background:var(--line); border:1px solid var(--line);

}

@media (max-width:860px){ .t-grid{grid-template-columns:1fr;} }

.t-card{background:var(--ink); padding:38px 32px; display:flex; flex-direction:column; justify-content:space-between; min-height:230px;}

.t-card p.quote{

font-family:var(--display); font-style:italic; font-size:17px; line-height:1.5; color:var(--stone);

}

.t-card .who{margin-top:24px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--stone-faint); text-transform:uppercase;}



/* ENQUIRE */

.enquire{background:var(--ink-2); border-top:1px solid var(--line);}

.enquire-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;}

@media (max-width:900px){ .enquire-grid{grid-template-columns:1fr; gap:50px;} }

.contact-block{margin-top:40px;}

.contact-block dt{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--stone-faint); margin-top:22px;}

.contact-block dd{font-size:16px; margin-top:6px;}

.contact-block dd a{text-decoration:none; border-bottom:1px solid var(--line-strong); padding-bottom:2px;}

.contact-block dd a:hover{border-color:var(--brass);}



form.enquiry-form{display:flex; flex-direction:column; gap:18px;}

.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}

@media (max-width:560px){ .form-row{grid-template-columns:1fr;} }

label{

display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.1em;

text-transform:uppercase; color:var(--stone-faint); margin-bottom:8px;

}

input, select, textarea{

width:100%; background:transparent; border:none; border-bottom:1px solid var(--line-strong);

color:var(--stone); font-family:var(--body); font-size:15px; padding:10px 2px;

font-weight:300;

}

select{ -webkit-appearance:none; appearance:none;

background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23C9C0AE'/></svg>");

background-repeat:no-repeat; background-position:right 4px center;

}

select option{background:var(--ink-2); color:var(--stone);}

textarea{resize:vertical; min-height:90px;}

input:focus, select:focus, textarea:focus{outline:none; border-bottom-color:var(--brass);}

input::placeholder, textarea::placeholder{color:var(--stone-faint);}

.submit-row{margin-top:10px;}

button.submit{

font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;

background:var(--brass); color:var(--ink); border:none; padding:15px 30px; cursor:pointer;

transition:background .2s;

}

button.submit:hover{background:var(--brass-bright);}



footer{

border-top:1px solid var(--line);

padding:34px 0;

}

.footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}

.footer-row p{font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--stone-faint);}

.footer-links{display:flex; gap:22px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;}

.footer-links a{text-decoration:none; color:var(--stone-dim);}

.footer-links a:hover{color:var(--brass-bright);}



::selection{background:var(--brass); color:var(--ink);}
