:root{--ink:#252920;--cream:#f5f2e9;--orange:#c85124}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}button,a{color:inherit}a{text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.announcement{background:var(--ink);color:#fff;text-align:center;padding:11px;font-size:10px;letter-spacing:2px}.announcement span{margin-left:42px;opacity:.6;letter-spacing:1px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid #d7d6ca}.logo{font-family:'Arial Narrow',Arial,sans-serif;font-size:44px;font-weight:400;letter-spacing:7px}.logo span{display:block;font-size:8px;letter-spacing:2px;margin-top:3px}nav{display:flex;gap:36px;font-size:13px}.bag{background:none;border:1px solid #bcbeb2;border-radius:30px;padding:12px 20px}.bag span{display:inline-grid;place-items:center;background:var(--ink);color:white;width:23px;height:23px;border-radius:50%;margin-left:15px}.hero{display:grid;grid-template-columns:44% 56%;min-height:620px}.hero-copy{padding:85px 0 60px 11.4%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(50px,5.5vw,88px);line-height:1.02;letter-spacing:-4px;margin:35px 0 25px}.hero-copy>p:not(.eyebrow):not(.small){font-size:17px;line-height:1.7;color:#676b60}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 24px;border:1px solid var(--ink);font-size:12px}.dark{background:var(--ink);color:white}.small{font-size:10px;color:#777c6b;margin-top:18px}.hero-image{background:#e4e4d9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image img{width:94%;mix-blend-mode:multiply;margin-top:75px}.edition{position:absolute;top:35px;left:35px;font-size:20px;letter-spacing:4px}.edition small{font-size:8px;letter-spacing:1.5px}.vertical{position:absolute;right:15px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px}.ticker{padding:24px 5%;background:#dedfcb;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:2px}.ticker span{color:var(--orange);font-size:20px}.collection{padding:85px 5%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}h2{font-family:Georgia,serif;font-size:49px;font-weight:400;line-height:1.12;letter-spacing:-1.5px;margin:18px 0}.section-head>p{font-size:13px;line-height:1.8;color:#737768;max-width:370px}.filters{display:flex;gap:10px;margin:35px 0}.filters button{border:1px solid #ced0c4;background:transparent;border-radius:30px;padding:11px 20px;font-size:11px}.filters .active{background:var(--ink);color:white}.filters span{margin-left:10px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 25px}.product{min-width:0}.photo{position:relative;display:block;border:0;width:100%;height:350px;padding:27px;background:var(--tone);overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.photo:hover img{transform:scale(1.045)}.tag{position:absolute;top:16px;left:16px;font-size:8px;letter-spacing:1px;background:#ffffffb0;padding:7px 10px}.product-info{display:flex;justify-content:space-between;gap:15px;padding:18px 0 12px}.product-info h3{font-size:16px;font-weight:400;margin:0 0 7px}.product-info p{font-size:11px;color:#777b6d;margin:0}.price{white-space:nowrap;font-size:13px}.add{width:100%;padding:12px 15px;display:flex;justify-content:space-between;border:1px solid #c9cbbf;background:transparent;font-size:11px}.add:hover{background:var(--ink);color:white}.philosophy{background:#2e3e32;color:#f5f2e9;padding:75px 10%;text-align:center}.philosophy h2{font-size:58px;margin:30px 0}.philosophy>div{display:grid;grid-template-columns:1fr 1fr;gap:45px;text-align:left;max-width:780px;margin:35px auto;font-size:13px;line-height:1.9;color:#d0d6ca}.signature{font:italic 42px Georgia,serif}.note{padding:40px 10%;display:flex;gap:30px;align-items:center;border-bottom:1px solid #d4d6ca}.note>span{font-size:50px;color:var(--orange)}.note h3{font:23px Georgia,serif;margin:0 0 10px}.note p{font-size:12px;line-height:1.7;max-width:650px;margin:0;color:#727766}footer{padding:45px 5%;display:flex;gap:25px;align-items:center;justify-content:space-between}footer p,footer span,footer>a:last-child{font-size:9px;letter-spacing:1px}dialog{border:0;padding:45px;background:var(--cream);color:var(--ink);max-height:92vh;overflow:auto}dialog::backdrop{background:#1118;backdrop-filter:blur(3px)}.close{position:absolute;right:15px;top:10px;font-size:30px;background:none;border:0}#detail{width:900px}#detail-content{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}#detail-content img{width:100%;height:400px;object-fit:contain;mix-blend-mode:multiply}#detail-content h2{font-size:42px}#detail-content p{font-size:14px;line-height:1.7}#cart{position:fixed;left:auto;right:0;top:0;bottom:0;margin:0;width:min(510px,100%);max-height:100vh;height:100vh;padding:55px 30px}.cart-row{display:flex;gap:18px;border-bottom:1px solid #d4d6ca;padding:22px 0}.cart-row img{width:65px;height:90px;object-fit:contain;mix-blend-mode:multiply}.cart-row h3{font-size:14px;margin:0 0 8px}.cart-row p{font-size:11px}.qty{display:flex;align-items:center;gap:15px}.qty button{background:none;border:1px solid #c5c8b9;width:25px;height:25px}.remove{font-size:10px;border:0;background:none;text-decoration:underline}.total{display:flex;justify-content:space-between;font-size:20px;margin:30px 0}#cart-bottom .button{width:100%}.demo-message{background:#e6e6d8;padding:18px;font-size:12px;line-height:1.8}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 25px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}.toast.show{opacity:1}@media(max-width:750px){header{padding:18px 5%}nav{display:none}.announcement{font-size:8px}.announcement span{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}.hero h1{font-size:65px;letter-spacing:-3px;margin:25px 0}.hero-image{min-height:330px}.hero-image img{margin-top:60px}.ticker{font-size:8px;letter-spacing:1px;flex-wrap:wrap;justify-content:center}.collection{padding:50px 5%}.section-head{display:block}h2{font-size:38px}.grid{grid-template-columns:1fr 1fr;gap:30px 15px}.photo{height:240px;padding:20px}.product-info{display:block}.price{display:block;margin-top:12px}.filters{flex-wrap:wrap}.filters button{padding:10px 14px}.philosophy{padding:50px 7%}.philosophy h2{font-size:40px}.philosophy>div{grid-template-columns:1fr;gap:0}.note{padding:30px 7%}footer{flex-wrap:wrap}#detail-content{grid-template-columns:1fr}#detail-content img{height:260px}dialog{padding:35px 22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.profile-hero{padding:85px 7% 35px}.profile-hero h1,.page-title{font:400 clamp(52px,6.7vw,96px)/1.04 Georgia,serif;letter-spacing:-4px;margin:30px 0 40px}.profile-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px}.profile-bottom p,.intro{max-width:670px;font-size:18px;line-height:1.8;color:#626958}.expertise{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cacec0;margin-top:60px;padding-top:28px;font-size:10px;letter-spacing:1.5px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:40px 0}.case-card{padding:35px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s}.case-card:hover{transform:translateY(-5px)}.case-card h3{font:38px Georgia,serif;margin:30px 0 10px}.case-card p{line-height:1.7;font-size:14px}.case-card .eyebrow{font-size:9px}.case-card span{font-size:12px;margin-top:30px}.lab-teaser{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;padding:80px 7%;background:#e7e6da}.lab-teaser img{width:100%;mix-blend-mode:multiply}.lab-teaser p{font-size:14px;line-height:1.9;max-width:450px}.case-hero{padding:70px 10%}.case-hero .eyebrow{margin-top:45px}.case-hero>p:last-child{max-width:740px;line-height:1.9}.case-body{display:grid;grid-template-columns:1fr 2fr;padding:70px 10%;gap:70px}.case-body p{line-height:1.9;color:#626958;margin-bottom:40px}.case-body h2{font-size:35px}.timeline{margin:60px 0}.timeline article{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid #cacec0;padding:30px 0;gap:30px}.timeline article>span{font-size:11px;letter-spacing:1px;margin-top:24px}.timeline p{line-height:1.8;color:#626958}.pdp{padding:35px 6% 70px}.breadcrumbs{font-size:11px;margin-bottom:35px;color:#6c735f}.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.pdp-image{padding:45px;display:flex;align-items:center;justify-content:center;min-height:560px}.pdp-image img{width:100%;height:500px;object-fit:contain;mix-blend-mode:multiply}.pdp h1{font:48px/1.1 Georgia,serif;letter-spacing:-1px;margin:20px 0}.pdp .intro{font-size:17px}.pdp-price{font-size:22px}.pdp-grid>div>p{line-height:1.8}.pdp .button{width:100%;justify-content:center;margin-top:12px}details{padding:20px 0;border-bottom:1px solid #c8cebc;font-size:13px;line-height:1.9}summary{cursor:pointer;font-weight:600}details p{color:#686f5c}header nav{gap:22px}.profile-hero~.collection{padding-top:45px}@media(max-width:750px){.profile-hero{padding:40px 6%}.profile-hero h1,.page-title{font-size:52px;letter-spacing:-2px}.profile-bottom{display:block}.expertise{flex-wrap:wrap;font-size:8px;line-height:2}.case-grid{grid-template-columns:1fr}.case-card{min-height:250px}.lab-teaser,.case-body,.pdp-grid{grid-template-columns:1fr;gap:30px}.lab-teaser{padding:45px 6%}.case-hero,.case-body{padding:40px 6%}.timeline article{grid-template-columns:1fr;gap:0}.timeline h2{font-size:32px}.pdp h1{font-size:38px}.pdp-image{min-height:360px;padding:25px}.pdp-image img{height:340px}header .logo{font-size:30px}header .logo span{font-size:6px;letter-spacing:1px;max-width:185px;line-height:1.6}header>.bag{font-size:10px;padding:10px 12px}}
.resume-list{margin:65px 0}.resume-role{padding:35px 0;border-top:1px solid #c8cebc;max-width:940px}.resume-role h2{font-size:36px}.resume-role h3{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-top:30px}.resume-role>p{font-size:15px;line-height:1.9;max-width:820px;padding-left:18px;border-left:2px solid #d5d8c9}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:40px 0 70px}.skills-grid section{padding:25px;background:#e9e9de}.skills-grid h3{font:24px Georgia,serif;margin:0 0 15px}.skills-grid ul{padding-left:18px;margin:0}.skills-grid li{font-size:13px;line-height:1.9}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.education-grid article{padding:25px;border-top:1px solid #c8cebc}.education-grid span{font-size:11px;letter-spacing:1px}.education-grid h3{font:24px Georgia,serif}.about-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding:65px 8%}.about-grid img{width:100%;max-height:650px;object-fit:cover}.about-grid p{font-size:15px;line-height:1.9;color:#626958}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:50px 0}.contact-grid form{display:flex;flex-direction:column;gap:20px}.contact-grid label{display:flex;flex-direction:column;gap:10px;font-size:12px}.contact-grid input,.contact-grid textarea{font:15px Arial,sans-serif;padding:15px;background:transparent;border:1px solid #bbc1ae;max-width:100%}.profile-portrait{float:right;width:190px;height:230px;object-fit:cover;margin:0 0 25px 45px}.about-link{font-size:12px;display:inline-block;margin-top:22px;border-bottom:1px solid #9da58f;padding-bottom:5px}header nav{gap:16px;font-size:11px}@media(max-width:900px){header nav{gap:12px;font-size:10px}.skills-grid{grid-template-columns:1fr 1fr}}@media(max-width:750px){.skills-grid,.education-grid,.contact-grid,.about-grid{grid-template-columns:1fr;gap:25px}.profile-portrait{width:110px;height:145px;margin-left:15px}.profile-hero h1{clear:both}.about-grid{padding:40px 6%}.resume-role h2{font-size:30px}.profile-bottom{clear:both}}
.language-switch{display:flex;gap:9px;align-items:center;margin-left:16px;font-size:10px;letter-spacing:1px;white-space:nowrap}.language-switch a{opacity:.5;padding:7px 3px}.language-switch a:hover{opacity:1}.language-switch [aria-current]{border-bottom:2px solid var(--orange);padding:7px 3px}header{gap:15px}header nav{margin-left:auto}header>.bag{white-space:nowrap}@media(max-width:1000px){header nav{gap:10px;font-size:10px}header .logo{font-size:32px;letter-spacing:5px}.logo span{max-width:220px;line-height:1.7}header{padding:22px 4%}}@media(max-width:750px){header{gap:8px;flex-wrap:wrap}.language-switch{margin-left:auto}header>.bag{font-size:10px}.language-switch{font-size:10px;gap:8px}.logo span{max-width:175px}header nav{display:flex;order:4;width:100%;justify-content:space-between;flex-wrap:wrap;padding-top:10px;border-top:1px solid #d4d6ca;font-size:10px;gap:12px}}
.pagination{display:flex;justify-content:center;gap:12px;align-items:center;margin:45px 0 10px}.pagination a,.pagination span{padding:13px 19px;border:1px solid #c6ccba;font-size:12px}.pagination [aria-current]{background:var(--ink);color:white}.pagination a:hover{border-color:var(--ink)}.service-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:45px 25px 25px}.service-photo img{width:145px;height:175px;object-fit:cover;mix-blend-mode:normal}.service-title{font:25px/1.15 Georgia,serif;max-width:250px;text-align:center}.wine-photo{background:#4b6971!important}.wine-photo img{mix-blend-mode:normal}.pdp .button[href^="mailto:"]{text-align:center}.pdp details ul{padding-left:20px}@media(max-width:750px){.service-photo img{width:90px;height:105px}.service-title{font-size:19px}.pagination a,.pagination span{padding:12px 14px}}
.consent-banner{position:fixed;bottom:20px;left:20px;width:min(550px,calc(100% - 40px));background:#f5f2e9;color:#252920;border:1px solid #9ea58f;box-shadow:0 8px 45px #0002;padding:24px;z-index:1000}.consent-banner[hidden]{display:none}.consent-banner h2{font:26px Georgia,serif;letter-spacing:0;margin:0 0 12px}.consent-banner p,.cookie-info p{font-size:12px;line-height:1.8;margin:0 0 20px}.consent-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-actions button,.cookie-info button{background:#f5f2e9;color:#252920;border:1px solid #69715c;padding:12px 16px;font-size:12px;cursor:pointer}.consent-actions button:hover{background:#e1e5d8}.consent-actions button:last-child{border-color:transparent}.cookie-settings{background:none;border:0;text-decoration:underline;font-size:10px;cursor:pointer;color:inherit}.cookie-info{max-width:650px}.cookie-info h2{font-size:30px;letter-spacing:0}.cookie-info p{font-size:14px}@media(max-width:600px){.consent-banner{bottom:10px;left:10px;width:calc(100% - 20px);padding:18px}.consent-actions button{padding:11px 13px}}

.book-cover-link { display: block; }
.book-stage {
  display: grid;
  place-items: center;
  min-height: 24rem;
  padding: 2rem 1.5rem;
  background: #e7e4da;
}
.book-cover {
  display: flex;
  flex-direction: column;
  width: min(100%, 14rem);
  min-height: 20rem;
  padding: 1.25rem 1.25rem 1rem 1.6rem;
  background: #24443e;
  color: #f9efd8;
  box-shadow: inset 7px 0 #ffffff15, 10px 12px 20px #0003;
}
.book-tile { background: #eeded0; }
.book-tile .book-cover { background: #9c492f; }
.book-series, .book-imprint {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.book-series { display: flex; justify-content: space-between; gap: .25rem; }
.book-cover-title { font: 1.45rem/1.08 Georgia, serif; margin: 1.25rem 0; overflow-wrap: break-word; }
.book-mark { width: 1.7rem; height: .65rem; border: 1px solid currentColor; border-radius: 50%; margin-bottom: .75rem; }
.book-tile .book-mark { border-radius: 0; transform: skew(-22deg); background: #ecc6a2; }
.book-imprint { margin-top: auto; }
.book-pdp { align-items: start; }
.book-pdp .book-stage { min-height: 28rem; }
.book-product h3 { overflow-wrap: break-word; }
.page-two-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1180px) {
  .page-two-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.page-two-grid .book-stage { min-height: 0; height: 350px; padding: 1rem; }
.page-two-grid .book-cover { min-height: 18rem; }
.page-two-grid .book-cover-title { font-size: 1.25rem; }
@media (max-width: 960px) {
  .page-two-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .page-two-grid { grid-template-columns: 1fr; }
  .page-two-grid .photo, .page-two-grid .book-stage { height: 340px; }
}

.pdp-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border: 1px solid #c6ccba;
  background: #eaece2;
}
.pdp-stats > div {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: .35rem;
  padding: .9rem clamp(.65rem, 3vw, 1.25rem);
}
.pdp-stats > div + div { border-inline-start: 1px solid #c6ccba; }
.pdp-stats dt { font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.pdp-stats dt small { display: block; margin-top: .25rem; font-size: .72rem; font-weight: 400; }
.pdp-stats dd { margin: 0; font: 2rem/1 Georgia, serif; font-variant-numeric: lining-nums tabular-nums; }
.pdp-stats-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.pdp-stats-panel { margin-top: 1.5rem; }
.pdp-stats-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .4rem;
}
.pdp-stats-heading h2 {
  margin: 0;
  font: 700 .72rem/1.4 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pdp-favourite {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  height: 44px;
  border: 1px solid #c6ccba;
  border-radius: 50%;
  background: transparent;
  color: #873d34;
  cursor: pointer;
}
.pdp-favourite[hidden] { display: none; }
.pdp-favourite:hover { background: #eee1d8; }
.pdp-favourite:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.pdp-favourite[aria-pressed="true"] svg { fill: currentColor; }

/* Shared link icon and product navigation. */
a .link-arrow, button .link-arrow, .link-arrow {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.6em;
  height: 1.6em;
  margin: 0 0 0 .3em;
  padding: 0;
  border: 0;
  border-radius: 50%;
  vertical-align: -.4em;
  background: url("/assets/link-arrow.svg") center / contain no-repeat;
}
.pdp-shop-nav { display: block; margin: 0 0 1rem; }
.pdp-shop-back {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 44px;
  padding: .35rem .8rem .35rem .45rem;
  border: 1px solid #c6ccba;
  border-radius: 2rem;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 0;
}
.pdp-shop-back:hover { background: #eaece2; }
.pdp-shop-back .link-arrow {
  width: 28px;
  height: 28px;
  margin: 0;
  transform: rotate(-135deg);
}
@media (max-width: 1024px) {
  header { flex-wrap: wrap; gap: 12px; }
  header nav {
    display: flex;
    order: 4;
    width: 100%;
    margin-left: 0;
    padding-top: 8px;
    border-top: 1px solid #c6ccba;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 14px;
  }
  header nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .language-switch { margin-left: auto; }
  .language-switch a, .language-switch [aria-current] { display: inline-flex; align-items: center; min-height: 44px; }
  header > .bag { min-height: 44px; }
  .pdp-grid { gap: 30px; }
  .pdp-grid > div { min-width: 0; }
  .pdp h1 { overflow-wrap: break-word; font-size: clamp(2.15rem, 4.8vw, 3.5rem); }
  .product-info > div { min-width: 0; }
  .product-info h3 { overflow-wrap: break-word; }
}
@media (max-width: 750px) {
  .pdp-shop-nav { position: sticky; top: 0; z-index: 5; padding: .5rem 0; background: var(--cream); }
  .pdp-shop-back { min-height: 46px; }
  .pdp h1 { font-size: clamp(2rem, 8vw, 2.8rem); line-height: 1.08; }
  .pdp .intro { font-size: 1.1rem; }
  .pdp details summary { min-height: 44px; padding-block: 12px; }
  .add, .filters button, .pagination a, .pagination span { min-height: 44px; }
  .pagination { display: flex; }
  .page-two-grid { gap: 28px; }
  footer { gap: 20px; }
  footer > a:last-child { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (max-width: 750px) {
  header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 4px 10px;
    align-items: center;
  }
  header > .logo { grid-column: 1; grid-row: 1; font-size: 28px; letter-spacing: 4px; }
  header > .logo > span { max-width: 135px; }
  header > .language-switch { grid-column: 2; grid-row: 1; margin-left: 0; }
  header > .bag { grid-column: 3; grid-row: 1; padding: 10px 12px; }
  header > .bag > #count { margin-left: 8px; }
  header > nav { grid-column: 1 / -1; grid-row: 2; }
}

.page-two-grid > .product { display: flex; flex-direction: column; }
.page-two-grid > .product > .add { margin-top: auto; }

.book-digital { background: #dce2e9; }
.book-digital .book-cover { background: #293d51; color: #f9efd8; }
.book-digital .book-mark { width: 2rem; height: 1.2rem; border-radius: 55% 40% 30% 25%; background: #c85124; border-color: #c85124; }
@media (min-width: 961px) { .page-two-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.book-pastoral { background: #e8e0d0; }
.book-pastoral .book-cover { background: #635236; color: #fff0d0; }
.book-pastoral .book-mark { width: 5rem; height: 2.75rem; border: 0; border-radius: 0; color: #dfb572; }
.book-pastoral .book-mark svg { display: block; width: 100%; height: 100%; }

/* The first visit is remembered in this browser. */
html.entry-gate-active { overflow: hidden; }
dialog.entry-gate {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  border: 0;
  background: var(--cream);
  color: var(--ink);
  overflow-y: auto;
}
dialog.entry-gate[open] { display: grid; place-items: center; }
dialog.entry-gate::backdrop { background: var(--cream); }
.entry-gate-panel { width: min(100%, 680px); padding-block: 32px; text-align: center; }
.entry-gate-brand { margin: 0 0 2.5rem; font-size: 32px; letter-spacing: .3em; padding-left: .3em; }
.entry-gate-panel h1 { margin: 0; font: clamp(2.3rem, 6vw, 4.5rem)/1.08 Georgia, serif; letter-spacing: -.03em; }
.entry-gate-actions { display: flex; justify-content: center; gap: 16px; margin-top: 2.5rem; }
.entry-gate-actions .button { display: inline-flex; justify-content: center; align-items: center; min-width: 170px; min-height: 52px; margin: 0; }
.entry-gate-tagline { margin: 2rem 0 0; color: #686f5c; font-size: 13px; }
@media (max-width: 480px) {
  .entry-gate-actions { flex-direction: column; gap: 12px; }
  .entry-gate-actions .button { width: 100%; }
  .entry-gate-brand { font-size: 27px; margin-bottom: 2rem; }
}

/* Grouped catalogue: three products per row, matching the original shop. */
.catalog-group{margin:3.5rem 0}.catalog-group>h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:1.5rem}.catalog-group .page-two-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spin-photo{background:#e4e3d8}.spin-photo img{object-fit:contain!important;max-height:100%;width:100%;height:100%}.coming-soon-stage{aspect-ratio:4/5;background:#e6e5da;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.coming-soon-stage>span{letter-spacing:.35em}.coming-soon-stage h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3vw,3rem);overflow-wrap:anywhere}.product-coming-soon>.small{padding:1rem 0;color:#6a6d61}@media(max-width:700px){.catalog-group .page-two-grid{grid-template-columns:1fr}.catalog-group{margin:2.5rem 0}}

.project-about-hero{padding:80px 5% 60px;max-width:1100px}.project-about-hero h1{font:400 clamp(2.8rem,6vw,5.5rem)/1.04 Georgia,serif;letter-spacing:-.045em;margin:28px 0}.project-about-hero .intro{max-width:700px;line-height:1.7;margin-bottom:30px}.project-about-image{margin:0 5%;background:#e4e4d9;text-align:center}.project-about-image img{display:block;width:100%;max-height:620px;object-fit:contain;mix-blend-mode:multiply}.project-about-copy{max-width:900px;padding:65px 5%;margin:auto}.project-about-copy section{padding:10px 0 32px;border-bottom:1px solid #d7d6ca;margin-bottom:30px}.project-about-copy h2{font-size:clamp(1.9rem,4vw,3rem)}.project-about-copy p{font-size:16px;line-height:1.85;color:#676b60}.project-about-links{display:flex;gap:16px;flex-wrap:wrap}@media(max-width:700px){.project-about-hero{padding-top:45px}.project-about-copy{padding-top:35px}.project-about-links .button{width:100%}}

/* Keep all menu labels and their icons on the same centre line. */
header{align-items:center}header>nav{align-items:center}header>nav>a{display:inline-flex;align-items:center;gap:6px;min-height:44px;line-height:1.2;white-space:nowrap}header>nav>a .link-arrow,header>.bag .link-arrow{vertical-align:middle;margin:0;flex-shrink:0}header>a.bag{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;line-height:1.2}header>.language-switch{align-items:center}.book-friend-draft{min-height:560px}.book-friend-draft .book-cover{background:#45594e}@media(max-width:1024px){header>nav{justify-content:flex-start;column-gap:24px;row-gap:0}}@media(max-width:540px){header>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px;row-gap:2px}header>nav>a{font-size:10px;min-width:0;white-space:normal}header>a.bag{gap:6px;font-size:10px}.book-friend-draft{min-height:360px}}

/* Uploaded portraits: always display the complete original photograph. */
img.person-portrait{object-fit:contain;object-position:center;transform:none;clip-path:none}
.profile-portrait.person-portrait{height:auto;aspect-ratio:auto}
.about-grid img.person-portrait{display:block;width:100%;height:auto;max-height:none;align-self:start}
.pdp-image img.person-portrait{display:block;width:auto;height:auto;max-width:100%;max-height:650px;mix-blend-mode:normal}
.service-photo img.person-portrait{flex:0 0 auto;width:145px;height:auto;max-height:none;mix-blend-mode:normal}
.service-photo:hover img.person-portrait{transform:none}
@media(max-width:750px){.profile-portrait.person-portrait{height:auto}.service-photo img.person-portrait{width:90px;height:auto}.pdp-image img.person-portrait{width:auto;height:auto;max-width:100%;max-height:540px}}

/* Wishlist, favourites, newsletter and stock notifications. */
.saved-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}header nav{flex-wrap:wrap}header nav .saved-nav-link{color:var(--orange);gap:5px;min-width:44px;justify-content:center}.saved-nav-link svg{width:22px;height:22px;flex:none}.saved-nav-link [data-saved-count]{font-size:11px;letter-spacing:0}.product-save-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 12px}.pdp-stats-heading .product-save-actions{margin:0}.save-product-button{display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:10px;color:var(--orange);background:transparent;border:1px solid #c6ccba;border-radius:50%}.save-product-button svg{width:22px;height:22px}.save-product-button:hover{background:#eaded2}.save-product-button[aria-pressed="true"] svg{fill:currentColor}.save-product-button:disabled{opacity:.5;cursor:wait}.save-product-button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.saved-storage-note{font-size:13px;line-height:1.7;color:#676b60;max-width:650px}.saved-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.saved-tabs a{display:inline-flex;gap:10px;align-items:center;border:1px solid #c6ccba;padding:12px 18px;min-height:48px}.saved-tabs svg{width:22px;height:22px;color:var(--orange)}.saved-tabs a[aria-current="page"]{background:#e5e6d9}.saved-tabs a[aria-current="page"] svg{fill:currentColor}.saved-empty{padding:55px 25px;text-align:center;border:1px solid #c6ccba;margin:25px 0}.saved-empty>svg{width:42px;height:42px;color:var(--orange)}.saved-empty h2{font-size:clamp(2rem,4vw,3rem)}.saved-empty p{line-height:1.7;margin-bottom:25px}.saved-photo{background:#e4e4d9}.saved-photo img{object-fit:contain;mix-blend-mode:normal;transform:none!important}.saved-book{display:flex;flex-direction:column;justify-content:space-between;background:#354d42;color:var(--cream);padding:30px}.saved-book strong{font:400 clamp(1.5rem,3vw,2.3rem)/1.15 Georgia,serif;overflow-wrap:anywhere}.saved-page .grid{margin-top:35px}.saved-login-dialog{width:min(550px,92vw)}.saved-login-dialog h2{font-size:38px}.saved-login-dialog p{line-height:1.8}.saved-login-dialog .button{margin:10px 10px 0 0}
.newsletter-banner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:45px 5%;border-block:1px solid #d4d6ca;background:#e6e6d9}.newsletter-banner h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:14px 0}.newsletter-banner p{font-size:13px;line-height:1.7;max-width:650px}.newsletter-banner .eyebrow{font-size:10px}.newsletter-banner .button{flex-shrink:0}.newsletter-form-slot{max-width:760px;padding:35px;margin-top:35px;background:#e6e6d9;border:1px solid #c6ccba;min-height:180px}.newsletter-form-slot h2{font-size:clamp(1.7rem,3vw,2.6rem)}.newsletter-form-slot p{line-height:1.8}.newsletter-form-slot [hidden]{display:none}footer{flex-wrap:wrap}footer>.newsletter-footer-link{font-size:11px;letter-spacing:0;border-bottom:1px solid #a7ad9b;padding-bottom:3px}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.related-heading h2{font-size:clamp(1.9rem,4vw,3rem)}.related-controls{display:flex;gap:10px}.related-controls button{width:44px;height:44px;border:1px solid #c6ccba;border-radius:50%;background:transparent;color:var(--orange);font-size:23px}.related-controls button:hover{background:#e7e6da}.related-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 0 25px}.related-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}.related-photo{height:310px;padding:24px;background:#e4e4d9;display:flex;align-items:center;justify-content:center}.related-photo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.related-card h3{font-size:17px;font-weight:400;line-height:1.4;margin:18px 0 8px}.related-card p{font-size:12px;color:#676b60;line-height:1.6}.related-book{flex-direction:column;justify-content:space-between;align-items:start;background:#354d42;color:var(--cream)}.related-book>span{letter-spacing:.25em;font-size:12px}.related-book strong{font:400 26px/1.1 Georgia,serif;overflow-wrap:anywhere}
.stock-notice{padding:25px;margin:30px 0;background:#e6e6d9;border:1px solid #c6ccba}.stock-notice h2{font-size:30px}.stock-notice>p{font-size:14px;line-height:1.8}.stock-notice form{display:grid;gap:15px}.stock-notice label{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.6}.stock-notice input,.stock-notice select{font:inherit;padding:12px;min-height:44px;background:var(--cream);border:1px solid #adb49f;max-width:100%;width:100%}.stock-notice .stock-consent{flex-direction:row;align-items:flex-start;gap:10px}.stock-consent input{flex:0 0 18px;width:18px;min-height:18px;margin:3px 0;accent-color:var(--orange)}.stock-honeypot{position:absolute;left:-10000px;opacity:0}.stock-notice [role="status"]{font-size:14px;line-height:1.7}
@media(max-width:1000px){.related-card{flex-basis:calc((100% - 24px)/2)}}@media(max-width:750px){.newsletter-banner{display:block;padding:35px 6%}.newsletter-banner .button{margin-top:15px}.newsletter-form-slot{padding:22px}.saved-page .page-title{font-size:clamp(2.4rem,9vw,3.5rem);letter-spacing:-1.5px}.saved-empty{padding:35px 18px}}@media(max-width:600px){.related-card{flex-basis:85%}.related-photo{height:300px}.related-heading{align-items:flex-start}.related-controls{padding-top:15px}.stock-notice{padding:20px}.related-track{gap:16px}}@media(prefers-reduced-motion:reduce){.related-track{scroll-behavior:auto}}

/* Frontpage welcome sits above the actual page rather than replacing it. */
dialog.entry-gate{width:min(760px,calc(100vw - 32px));height:auto;max-width:760px;max-height:calc(100dvh - 32px);margin:auto;padding:clamp(24px,5vw,60px);border:1px solid #c6ccba;box-shadow:0 24px 80px #1114}dialog.entry-gate::backdrop{background:rgba(37,41,32,.48);backdrop-filter:blur(4px)}.entry-gate-panel{padding-block:10px}

/* Front-page portrait and translucent first-visit welcome. */
dialog.entry-gate{background:rgba(245,242,233,.72);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.7)}
dialog.entry-gate::backdrop{background:rgba(37,41,32,.18);backdrop-filter:blur(1px)}
.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);grid-template-areas:"eyebrow portrait" "heading portrait" "intro portrait" "about portrait" "expertise expertise";column-gap:clamp(32px,5vw,80px);align-items:start}
.profile-hero>.eyebrow{grid-area:eyebrow}.profile-hero>h1{grid-area:heading;font-size:clamp(48px,5.7vw,86px);margin-top:20px}.profile-hero>.profile-bottom{grid-area:intro}.profile-hero>.about-link{grid-area:about;justify-self:start}.profile-hero>.expertise{grid-area:expertise;width:100%;margin-top:50px}
.profile-hero>.profile-portrait.person-portrait{grid-area:portrait;float:none;display:block;width:100%;max-width:400px;max-height:none;height:auto;margin:0;justify-self:end;object-fit:contain}
@media(max-width:800px){.profile-hero{grid-template-columns:1fr;grid-template-areas:"eyebrow" "heading" "portrait" "intro" "about" "expertise"}.profile-hero>h1{font-size:clamp(45px,8vw,64px)}.profile-hero>.profile-portrait.person-portrait{width:min(100%,360px);justify-self:start;margin:0 0 22px}.profile-hero>.expertise{margin-top:32px}}

dialog.entry-gate{height:fit-content;min-height:0}

.case-hero h2{max-width:960px;line-height:1.2}.case-hero>p:last-child{max-width:850px}.case-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin:0;padding:40px 10%;border-bottom:1px solid #c8cebc}.case-metrics div{padding:10px 0}.case-metrics dt{font:clamp(32px,3.7vw,52px)/1.15 Georgia,serif}.case-metrics dd{margin:12px 0 0;font-size:13px;line-height:1.6;color:#626958}.case-chapter{margin-bottom:45px}.case-chapter h2{font:clamp(26px,3vw,35px)/1.18 Georgia,serif}.case-body .case-chapter p{margin-bottom:20px}.case-body aside p{line-height:1.7}.case-body>div{min-width:0}.case-back{font-size:13px}.case-card h3{overflow-wrap:anywhere}@media(max-width:750px){.case-metrics{grid-template-columns:1fr 1fr;padding:25px 6%;gap:20px}.case-body aside{padding-bottom:20px;border-bottom:1px solid #c8cebc}}

.contact-simple{padding-top:55px}.contact-simple .page-title{margin-bottom:35px}.contact-direct{display:flex;flex-wrap:wrap;gap:24px 70px;margin-bottom:55px}.contact-direct>a{font-size:clamp(20px,2.5vw,30px);line-height:1.6;border-bottom:1px solid #c6ccba;padding-bottom:10px;overflow-wrap:anywhere}.contact-direct>a>span{display:block;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px;color:#626958}.contact-direct>a:hover{color:var(--orange)}.contact-products{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-products .service-photo{min-height:320px}.contact-products .product-info h3{line-height:1.3}@media(max-width:800px){.contact-products{grid-template-columns:1fr}.contact-products .service-photo{min-height:280px}.contact-direct{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:35px}.contact-simple{padding-top:35px}}
