:root{
  --paper:#f5eed6; --paper-2:#ece3c4; --white:#fffdf5; --ink:#1b1a16; --muted:#5a5646;
  --green:#0b6a35; --green-d:#08481f; --stamp:#c8431f; --rule:rgba(27,26,22,.75);
  --display:'Instrument Serif',Georgia,serif; --body:'Schibsted Grotesk',system-ui,sans-serif; --mono:'Courier Prime',ui-monospace,Menlo,monospace;
}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-size:1.0625rem;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.02;color:var(--ink)}
h2{font-size:clamp(2.4rem,5.4vw,4rem);margin-bottom:1rem}
h3{font-size:1.7rem}
a{color:var(--green-d)}
a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:3px solid var(--stamp);outline-offset:3px}
.cap{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}
.section{padding:5.5rem 0;position:relative}
.btn{font-weight:700;border-radius:0;padding:.85rem 1.6rem;letter-spacing:.02em}
.btn-green{background:var(--green);border:2px solid var(--green);color:#fff}
.btn-green:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}
.btn-line{border:2px solid var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper)}
/* the form-field box: signature moment */
.field{border:1.5px solid var(--rule);background:var(--white);padding:.35rem .8rem .7rem;position:relative}
.field>.cap{margin-bottom:.15rem}
/* utility bar */
.util{background:var(--ink);color:var(--paper);font-size:.88rem}
.util a{color:var(--paper);text-decoration:none;font-weight:600}
.util a:hover{color:#f3d46b}
.util .cap{color:#cfc8a8;display:inline}
/* nav: centered logo over link row */
.navbar{background:var(--paper);border-bottom:2px solid var(--ink);padding:.6rem 0 0}
.navbar .brand{display:flex;flex-direction:column;align-items:center;margin:0 auto;text-decoration:none}
.navbar .brand img{height:58px;width:auto}
.navbar .brand span{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.navbar-toggler{border:2px solid var(--ink);border-radius:0}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center}
.navbar .nav-link{font-family:var(--mono);font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:700;padding:.9rem 1.1rem}
.navbar .nav-link:hover{color:var(--green)}
.navbar .nav-link.cta{color:var(--stamp)}
/* hero */
.hero{padding:4.5rem 0 5rem;border-bottom:2px solid var(--ink);background:var(--paper)}
.hero h1{font-size:clamp(3rem,8.4vw,7rem);letter-spacing:-.015em}
.hero h1 em{color:var(--green);font-style:italic}
.hero .lede{font-size:1.25rem;max-width:34rem;margin:1.4rem 0 2rem}
.stamp{display:inline-block;border:3px solid var(--stamp);color:var(--stamp);font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:.35rem .8rem;transform:rotate(-4deg);font-size:.85rem}
.hero-fields{display:grid;gap:.9rem}
.hero-fields .big{font-family:var(--display);font-size:3.2rem;line-height:1;color:var(--green)}
/* services */
.svc-index{border-top:2px solid var(--ink)}
.svc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) auto;gap:1.5rem;align-items:baseline;padding:1.5rem 0;border-bottom:1.5px solid var(--rule)}
.svc h3{margin:0}
.svc p{margin:0;color:var(--muted)}
.svc .tag{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d);font-weight:700}
.panel{background:var(--ink);color:var(--paper)}
.panel h2,.panel h3{color:var(--paper)}
.panel .cap{color:#cfc8a8}
.list-rule{list-style:none;padding:0;margin:0}
.list-rule li{padding:.7rem 0;border-bottom:1px solid rgba(245,238,214,.25)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:3.2rem 1fr;gap:.5rem;padding:.9rem 0;border-bottom:1px solid rgba(245,238,214,.25)}
.steps li::before{content:counter(s);font-family:var(--display);font-size:2.3rem;color:#f3d46b;line-height:1}
.steps strong{color:#fff}
/* about / team */
.headshot{width:100%;max-width:340px;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--ink);background:var(--paper-2)}
.team-card{border:1.5px solid var(--rule);background:var(--white);padding:1.1rem 1.2rem;height:100%}
.team-card h3{font-size:1.5rem;margin:0}
.band{background:var(--green);color:#fff;padding:2.2rem 0}
.band p{font-family:var(--display);font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.2;margin:0;color:#fff}
/* checklist */
details{border-top:1.5px solid var(--rule);padding:1rem 0}
details:last-of-type{border-bottom:1.5px solid var(--rule)}
summary{cursor:pointer;font-family:var(--display);font-size:1.7rem;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;font-family:var(--mono);color:var(--stamp)}
details[open] summary::after{content:"–"}
details ul{margin:.8rem 0 0;padding-left:1.2rem;columns:2;column-gap:2.5rem}
details li{break-inside:avoid;margin-bottom:.35rem}
.news{border-left:3px solid var(--green);padding-left:1rem}
/* contact */
.map{border:2px solid var(--ink);width:100%;height:100%;min-height:340px;display:block}
footer{background:var(--ink);color:var(--paper);padding:3rem 0 2.2rem}
footer a{color:var(--paper)}
.chip{background:var(--paper);display:inline-block;padding:.6rem .9rem}
.chip img{height:48px;width:auto;display:block}
.powered{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;margin-top:1.8rem;padding-top:1rem;border-top:1px solid rgba(245,238,214,.25)}
@media(max-width:991px){
  .navbar .brand{margin:0}
  .navbar .nav-link{padding:.7rem 0}
  .svc{grid-template-columns:1fr;gap:.4rem}
  details ul{columns:1}
  .section{padding:4rem 0}
}
