/* Editorial refinement: one visual language for controls, spacing and layouts. */
:root{--gold:#c5b28b;--ivory:#f0eee8;--cream:#f8f7f2;--ink:#192b25;--muted:#5e6c63}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
svg{width:20px;height:20px;display:block}
.icon-bubble{width:37px;height:37px;flex:none;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;transition:background .35s,color .35s,transform .35s}
.icon-bubble svg{width:16px;height:16px}
a:hover .icon-bubble{transform:rotate(45deg)}
.site-header{border-bottom-color:#ffffff40}
.desktop-nav a{position:relative;letter-spacing:.14em}
.desktop-nav a:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.desktop-nav a:hover:after{transform:scaleX(1)}
.header-enquiry{border:0;min-width:unset;padding:0;gap:18px;align-items:center}
.header-enquiry .icon-bubble{border-color:#ffffffa0;width:38px;height:38px}
.header-enquiry:hover .icon-bubble{background:var(--ivory);color:var(--pine)}
.hero-content{left:clamp(24px,9.2vw,180px);width:min(840px,75%)}
.hero h1{font-size:clamp(78px,9.3vw,150px)}
.hero-lede{max-width:385px;color:#f0f0e9}
.hero-action{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;width:max-content;min-height:64px;gap:16px;padding:8px 10px 8px 23px;background:#f1eee3;color:var(--pine);font-size:13px;font-weight:600;letter-spacing:.025em;line-height:1.2;transition:background .35s,transform .35s,box-shadow .35s}
.hero-action:before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(105deg,transparent 15%,#ffffff95 50%,transparent 85%);transform:translateX(-130%);pointer-events:none}
.hero-action-label{white-space:nowrap;position:relative;z-index:1}
.hero-action .icon-bubble{width:44px;height:44px;background:var(--pine);border-color:var(--pine);color:#f6f1e6}
.hero-action .icon-bubble{position:relative;z-index:1}
.hero-action .icon-bubble svg{width:19px;height:19px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hero-action:hover,.hero-action:focus-visible{background:#ddd0b2;box-shadow:0 12px 35px #071c1560;transform:translateY(-3px)}
.hero-action:hover:before,.hero-action:focus-visible:before{animation:cta-sweep .75s ease-out}
.hero-action:hover .icon-bubble,.hero-action:focus-visible .icon-bubble{transform:none;background:#253b30;color:white}
.hero-action:hover .icon-bubble svg,.hero-action:focus-visible .icon-bubble svg{transform:translate(2px,-2px)}
.hero-kicker{animation:hero-enter .85s .08s both}
.hero h1{animation:hero-enter 1s .22s both}
.hero-lede{animation:hero-enter .85s .42s both}
.hero-action{animation:hero-enter .85s .6s backwards}
.slide-tab{letter-spacing:.16em}
.slide-tab.active span:last-child{font-weight:600}
.slide-tab:after{content:"";position:absolute;top:-19px;left:0;right:18px;height:2px;background:#eee0ba;transform-origin:left;transform:scaleX(0)}
.slide-tab.active:after{animation:slide-progress 6.5s linear forwards}
.hero:focus-within .slide-tab.active:after{animation-play-state:paused}
@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes cta-sweep{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
@keyframes slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.marquee{background:#20322a;padding:17px 0}
.marquee span{font-size:9px;font-weight:500;letter-spacing:.31em}
.marquee i{color:#acb5a7;padding:0 48px}
.manifesto{grid-template-columns:220px 1fr;padding-top:160px;padding-bottom:155px}
.manifesto-marker{color:#728272}
.manifesto h2{font-size:clamp(58px,6.9vw,110px)}
.manifesto-bottom .manifesto-aside{border-left-color:#aaa995}
.collection{padding-top:145px;padding-bottom:130px}
.section-heading{margin-bottom:64px;align-items:end}
.section-heading h2{font-size:clamp(62px,6.7vw,105px)}
.collection-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:40px 42px;align-items:start}
.collection-card:nth-child(2){margin-top:130px}
.collection-card:nth-child(3){grid-column:1/-1;margin-top:70px}
.collection-card:nth-child(1) .card-image{height:625px}
.collection-card:nth-child(2) .card-image{height:500px}
.card-image{overflow:hidden}
.card-image img{filter:saturate(.84);transition:transform 1.1s cubic-bezier(.2,.7,.1,1),filter .7s}
.collection-card a:hover .card-image img{filter:saturate(.92) brightness(.9)}
.card-number{top:25px;left:25px;color:white;font-weight:600;font-size:10px}
.card-arrow{width:52px;height:52px;background:#f8f7f2;color:var(--pine);border:0;border-radius:0;bottom:0;right:0}
.card-arrow svg{width:19px;height:19px}
.collection-card a:hover .card-arrow{background:var(--gold);transform:none}
.collection-card a:hover .card-arrow svg{transform:rotate(45deg);transition:transform .35s}
.card-line{border-top:0;border-bottom:1px solid #b7beb2;margin-top:0;padding:22px 0 26px}
.card-line>span{color:#778476}
.card-line h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.2;letter-spacing:-.055em;margin:11px 0 8px}
.card-line p{font-size:12px;color:#647165}
.collection-card:nth-child(3) a{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);background:#e4e7dd}
.collection-card:nth-child(3) .card-image{height:490px}
.collection-card:nth-child(3) .card-line{margin:0;padding:52px 9%;border:0;display:flex;flex-direction:column;justify-content:center}
.collection-card:nth-child(3) .card-line h3{font-size:clamp(39px,4vw,65px);line-height:1.05;margin:25px 0}
.collection-card:nth-child(3) .card-line p{font-size:13px;max-width:220px;line-height:1.8}
.image-disclosure{margin-top:42px}
.portfolio{min-height:730px;grid-template-columns:52% 48%;background:#1a3028}
.portfolio-content{padding-top:95px}
.portfolio .eyebrow{margin-bottom:55px}
.portfolio h2{font-size:clamp(65px,6.4vw,105px)}
.portfolio-small{max-width:410px}
.editorial-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:280px;padding:0 0 9px;border-bottom:1px solid #bac9b7;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;transition:color .25s,border-color .25s}
.editorial-link:hover{color:var(--gold);border-color:var(--gold)}
.editorial-link .icon-bubble{width:36px;height:36px;border-color:#bac9b7}
.editorial-link:hover .icon-bubble{border-color:var(--gold)}
.approach-step h3{font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:400;line-height:1.35;letter-spacing:-.03em;margin:0 0 9px}
.approach-step{padding:34px 0}
.approach-step>span{font-size:10px;color:#7c8b79}
.markets{background:#e6e8dd}
.markets p{letter-spacing:-.02em}
.contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:6%;align-items:center;text-align:left;min-height:685px;padding-top:120px;padding-bottom:120px;background:#152921}
.contact h2{font-size:clamp(82px,8.2vw,140px);margin:0;line-height:.82}
.contact-panel{border-left:1px solid #6d7b6e;padding:50px 0 50px clamp(32px,5vw,90px)}
.contact-panel>p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(29px,2.9vw,48px);line-height:1.15;max-width:440px;margin-bottom:46px}
.contact-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,350px);height:68px;padding:0 14px 0 25px;background:#f2f1ea;color:var(--pine);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:background .25s,transform .25s}
.contact-primary:hover{background:#d9c69e;transform:translateY(-3px)}
.contact-primary .icon-bubble{width:40px;height:40px;border-color:#889687}
.contact-primary:hover .icon-bubble{color:white;background:var(--pine)}
.contact-secondary{width:min(100%,350px);padding:24px 0 15px;border-bottom:1px solid #788b78;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#e1e8dd;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.contact-secondary svg{width:18px;height:18px;transition:transform .3s}
.contact-secondary:hover{color:var(--gold)}
.contact-secondary:hover svg{transform:translate(3px,-3px)}
.contact-email{font-size:11px;letter-spacing:.04em;margin-top:42px;border:0;color:#b5c4b4}
.footer-top p{font-size:26px}
.back-top{display:flex;align-items:center;gap:13px}
.back-top svg{width:18px;height:18px;transform:rotate(-45deg)}
@media(max-width:1150px){
  .desktop-nav{gap:20px}.collection-card:nth-child(1) .card-image{height:540px}.collection-card:nth-child(2) .card-image{height:435px}.collection-card:nth-child(3) .card-image{height:440px}.contact{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:3%}.contact-panel{padding-left:40px}
}
@media(max-width:850px){
  .hero-content{left:7%;width:82%}.manifesto{grid-template-columns:130px 1fr;padding-top:105px;padding-bottom:105px}
  .collection{padding-top:95px}.collection-grid{gap:25px}.collection-card:nth-child(2){margin-top:90px}.collection-card:nth-child(3){margin-top:38px}
  .collection-card:nth-child(1) .card-image{height:420px}.collection-card:nth-child(2) .card-image{height:345px}.collection-card:nth-child(3) .card-image{height:350px}.collection-card:nth-child(3) a{grid-template-columns:1.15fr .85fr}.collection-card:nth-child(3) .card-line{padding:32px}
  .portfolio{grid-template-columns:1fr}.portfolio-content{padding-top:70px}.contact{grid-template-columns:1fr;gap:55px;min-height:0}.contact-panel{border-left:0;border-top:1px solid #6d7b6e;padding:40px 0 0}.contact-panel>p{font-size:36px;max-width:560px;margin-bottom:30px}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(66px,16vw,96px)}.hero-content{width:88%}.hero-action{min-height:60px;font-size:12px;padding-left:18px;gap:12px}.hero-action .icon-bubble{width:42px;height:42px}
  .manifesto{grid-template-columns:1fr;padding-top:85px;padding-bottom:85px}.manifesto h2{font-size:clamp(53px,11vw,75px)}
  .collection{padding-top:85px;padding-bottom:85px}.collection-grid{grid-template-columns:1fr;gap:40px}.collection-card:nth-child(2),.collection-card:nth-child(3){margin:0}.collection-card:nth-child(3){grid-column:auto}
  .collection-card:nth-child(1) .card-image,.collection-card:nth-child(2) .card-image,.collection-card:nth-child(3) .card-image{height:390px}.collection-card:nth-child(3) a{display:block;background:transparent}.collection-card:nth-child(3) .card-line{padding:22px 0 26px;border-bottom:1px solid #b7beb2}.collection-card:nth-child(3) .card-line h3{font-size:40px;margin:11px 0 8px}.collection-card:nth-child(3) .card-line p{font-size:12px}
  .contact{padding-top:90px;padding-bottom:90px;gap:45px}.contact h2{font-size:clamp(70px,15vw,95px)}.contact-panel>p{font-size:34px}.contact-primary{height:62px}
}
@media(max-width:390px){.hero h1{font-size:66px}.collection-card:nth-child(1) .card-image,.collection-card:nth-child(2) .card-image,.collection-card:nth-child(3) .card-image{height:320px}.contact h2{font-size:68px}}
@media(prefers-reduced-motion:reduce){.icon-bubble,.hero-action,.contact-primary,.card-arrow svg{transition:none}.hero-kicker,.hero h1,.hero-lede,.hero-action,.slide-tab.active:after{animation:none!important}}
