:root{--paper:#f5f2eb;--ink:#292b27;--muted:#60655f;--line:#d9d8ce;--forest:#303b34;--accent:#a4775e;--white:#faf8f2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-size:16px}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em}
em{font-weight:400;color:#8c9487}
.wrap{width:min(100% - 112px,1420px);margin-inline:auto}
.skip-link{position:absolute;z-index:99;top:-50px;left:14px;padding:10px 14px;background:var(--ink);color:#fff}
.skip-link:focus{top:10px}
:focus-visible{outline:2px solid #898e7d;outline-offset:4px}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{min-height:95px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.brand{display:block;flex:none;width:220px}
.brand img{width:100%;height:auto}
.site-nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(13px,1.65vw,27px);flex-wrap:wrap}
.site-nav a{font-size:12px;letter-spacing:.025em;white-space:nowrap;padding:12px 0;position:relative}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--ink);transition:right .25s}
.site-nav a:hover:after,.site-nav a[aria-current]:after{right:0}
.menu-toggle{display:none}
.eyebrow,.section-number,.micro{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}
.eyebrow{color:#768173}
.eyebrow.light,.section-number.light{color:#d3dacf}
.section-number{color:#777e73}
.section-space{padding-top:clamp(80px,9.6vw,152px);padding-bottom:clamp(80px,9.6vw,152px)}
.hero{min-height:min(780px,calc(92svh - 95px));position:relative;display:flex;align-items:center;color:var(--white);background:#434840;overflow:hidden}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:hero-enter 1.8s ease both}
.hero-shade{background:linear-gradient(90deg,rgba(22,29,23,.76),rgba(22,29,23,.33) 56%,rgba(22,29,23,.05))}
.hero-content{position:relative;z-index:1;padding-top:80px;padding-bottom:112px}
.hero h1{font-size:clamp(68px,8.2vw,142px);line-height:.91;max-width:990px;margin:42px 0 32px}
.hero h1 em{color:#e9e8de;font-style:italic}
.hero-lead{max-width:470px;font-size:18px;line-height:1.65;color:#f1f1e9}
.hero-actions{display:flex;gap:38px;flex-wrap:wrap;margin-top:48px}
.text-link{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid currentColor;padding:10px 0 13px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:gap .25s}
.text-link:hover{gap:62px}
.light-link{color:#fff}
.hero-caption{position:absolute;bottom:33px;right:56px;z-index:1;color:#e5e4dc;font-size:10px;letter-spacing:.09em}
.scroll-cue{position:absolute;z-index:1;bottom:32px;left:max(56px,calc((100vw - 1420px)/2));display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.scroll-cue span{width:44px;height:1px;background:#fff}
.intro,.testimonials,.location,.detail-intro{display:grid;grid-template-columns:minmax(145px,.4fr) minmax(0,1.6fr);gap:50px}
.intro{grid-template-columns:minmax(145px,.25fr) minmax(0,1.75fr);row-gap:0}
.section-side{display:flex;flex-direction:column;gap:28px}
.side-rule{width:58px;height:1px;background:#999f93}
.intro-detail{margin:100px 0 0;max-width:210px}
.intro-detail img{display:block;width:100%;height:230px;object-fit:cover;object-position:65% center;filter:saturate(.73)}
.intro-detail figcaption{margin-top:12px;color:#5f655d;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-style:italic;line-height:1.35}
.intro-detail figcaption small{display:block;margin-top:7px;color:#898b81;font-family:"Helvetica Neue",Arial,sans-serif;font-size:9px;font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.intro h2,.testimonials h2,.location h2,.detail-intro h2{font-size:clamp(48px,5.7vw,91px);line-height:1.06;max-width:1050px}
.intro-main .eyebrow{margin-bottom:34px}
.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,110px);margin-top:54px}
.intro-bottom p,.detail-intro p{color:var(--muted);line-height:1.75;font-size:16px}
.intro-signature{display:flex;align-items:baseline;gap:18px;margin:45px 0 0;padding-top:20px;border-top:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,2.1vw,29px);font-style:italic;line-height:1.3;color:#684f41}
.intro-signature span{font-family:"Helvetica Neue",Arial,sans-serif;font-size:23px;font-style:normal;color:var(--accent)}
.experience-figures{grid-column:1/-1;margin-top:clamp(58px,6.4vw,96px)}
.figures-note{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.figures-note span{color:#7a8176;font-size:10px;font-weight:400;letter-spacing:.08em}
.figures-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.figure{min-width:0;padding:28px clamp(12px,3vw,52px) 36px;position:relative;text-align:center}
.figure:not(:first-child){border-left:1px solid var(--line)}
.figure-number{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(82px,9vw,154px);line-height:1;letter-spacing:-.085em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.figure-line{display:block;width:100%;height:1px;background:var(--line);margin:32px 0 21px;position:relative;overflow:hidden}
.figure-line:after{content:"";position:absolute;inset:0;background:#8e988a;transform:scaleX(0);transform-origin:left}
.figure.is-counting .figure-line:after{animation:figure-progress 2.1s cubic-bezier(.16,.65,.25,1) forwards}
.figure p{margin:0;color:#5d675d;font-size:13px;line-height:1.5;letter-spacing:.01em}
@keyframes figure-progress{to{transform:scaleX(1)}}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:45px}
.section-heading h2{font-size:clamp(46px,5.5vw,85px);line-height:1.06;margin:30px 0 0}
.section-heading>p{max-width:330px;color:var(--muted);line-height:1.65;font-size:14px;margin:0}
.disciplines{padding-bottom:clamp(80px,9.6vw,144px)}
.discipline-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,86px)}
.discipline-card:nth-child(2){margin-top:130px}
.discipline-image{height:clamp(350px,44vw,660px);overflow:hidden;position:relative;background:#a5a698}
.discipline-card:nth-child(2) .discipline-image{height:clamp(340px,38vw,550px)}
.discipline-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.18,.65,.2,1)}
.discipline-card:hover img{transform:scale(1.045)}
.image-note{position:absolute;bottom:18px;left:18px;background:rgba(26,32,27,.55);color:#fff;padding:8px 11px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.discipline-caption{display:flex;justify-content:space-between;align-items:end;gap:22px;border-bottom:1px solid var(--line);padding:24px 0 26px}
.micro{color:#838a7f}
.discipline-caption h3{font-size:clamp(48px,5.3vw,76px);line-height:1;margin:13px 0 12px}
.discipline-caption p{max-width:390px;color:var(--muted);line-height:1.65;margin:0;font-size:14px}
.circle-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid #9da397;border-radius:50%;font-size:23px;flex:none;transition:background .25s,color .25s}
.discipline-card:hover .circle-arrow{background:var(--ink);color:#fff}
.manifesto,.detail-next{background:var(--forest);color:#f6f5f0}
.manifesto-grid{display:grid;grid-template-columns:minmax(145px,.4fr) minmax(0,1.6fr);gap:50px}
.manifesto h2,.detail-next h2{max-width:1030px;font-size:clamp(48px,5.8vw,88px);line-height:1.06}
.manifesto h2 em,.detail-next h2 em{color:#aeb9aa}
.manifesto-steps{display:grid;grid-template-columns:1fr;margin-top:60px}
.manifesto-steps>div{display:grid;grid-template-columns:75px minmax(160px,.52fr) 1fr;gap:20px;align-items:baseline;border-top:1px solid #67746a;padding:20px 0 24px}
.manifesto-steps>div:last-child{border-bottom:1px solid #67746a}
.manifesto-steps span{color:#b9c2b5;font-size:11px}
.manifesto-steps strong{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(30px,3.3vw,43px);letter-spacing:-.04em;margin:0}
.manifesto-steps p{color:#d6ddd3;line-height:1.6;font-size:14px;max-width:330px;margin:0}
.testimonials.section-space{padding-top:clamp(64px,6.8vw,96px);padding-bottom:clamp(64px,6.8vw,96px)}
.testimonials h2{font-size:clamp(45px,4.9vw,76px)}
.testimonials-main .eyebrow{margin-bottom:19px}
.reviews-layout{display:grid;grid-template-columns:1fr;gap:24px;margin-top:36px}
.review-rating{display:grid;grid-template-columns:auto auto minmax(140px,1fr) auto;gap:12px 24px;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-source{display:block;grid-column:1/-1;color:#6a7168;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rating-value{display:flex;align-items:baseline;gap:8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(76px,7vw,104px);line-height:.95;letter-spacing:-.085em;font-variant-numeric:lining-nums tabular-nums}
.rating-value small{font-family:"Helvetica Neue",Arial,sans-serif;font-size:19px;font-weight:400;letter-spacing:0;color:#8b8d83}
.rating-stars{position:relative;display:inline-block;color:#d4d2c8;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.35vw,31px);line-height:1;letter-spacing:.035em;white-space:nowrap}
.rating-stars-fill{position:absolute;inset:0 auto 0 0;width:var(--rating-fill);overflow:hidden;color:#ad7a4d;white-space:nowrap}
.js-motion .review-rating .rating-stars-fill{width:0}
.js-motion .review-rating.is-active .rating-stars-fill{width:var(--rating-fill);transition:width 2.1s cubic-bezier(.18,.7,.2,1)}
.rating-count{max-width:210px;margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.rating-count span{padding:0 3px;color:#a6a69d}
.reviews-link{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid currentColor;padding:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:gap .25s}
.reviews-link:hover{gap:32px}
.reviews-link span{font-size:18px;font-weight:400}
.reviews-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-item{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 20px}
.review-meta{display:flex;justify-content:space-between;gap:18px;color:#747b70;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.review-meta span:last-child{color:#ad7a4d;font-size:15px;letter-spacing:.06em}
.review-item blockquote{margin:23px 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(21px,2vw,27px);line-height:1.2;letter-spacing:-.03em}
.review-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.reviews-swipe{display:none}
.reviews-footnote{margin:17px 0 0;color:#878b81;font-size:11px;line-height:1.5}
.contact{background:#e2e5dc}
.contact.section-space{padding-top:clamp(64px,6.8vw,98px);padding-bottom:clamp(64px,6.8vw,98px)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.contact h2{font-size:clamp(58px,7vw,110px);line-height:1;margin:42px 0 0}
.contact-content>p{max-width:430px;color:#535c53;line-height:1.7}
.contact-form{display:flex;flex-direction:column;margin-top:24px}
.contact-form label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-top:15px;margin-bottom:4px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #9da89b;background:transparent;color:var(--ink);padding:10px 0;outline:0;border-radius:0}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--ink);border-bottom-width:2px}
.contact-form button{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--forest);color:#fff;border:0;padding:17px 22px;margin-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact-form button:hover{background:#404e43}
.form-status{min-height:22px;font-size:13px;color:#4f5d51;margin:12px 0 0}
.form-status:empty{display:none}
.location h2{margin-bottom:18px}
.location-main>p{color:var(--muted);margin-bottom:36px}
.location-panel{height:390px;background:#e3e6df;overflow:hidden}
.location-panel iframe{display:block;width:100%;height:100%;border:0}
.map-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--ink);margin-top:22px;padding:7px 0 11px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.map-link span{font-size:17px;font-weight:400}
.collaborators{padding:44px 0 50px;border-top:1px solid var(--line);background:#eeeee8}
.collaborators-heading{display:flex;align-items:center;gap:28px;margin-bottom:26px}
.collaborators-heading h2{flex:none;margin:0;font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.collaborators-heading span{height:1px;flex:1;background:#c9cec5}
.collaborators-track{display:flex;align-items:center;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.collaborators-track::-webkit-scrollbar{display:none}
.collaborator{display:flex;flex:1 0 148px;align-items:center;justify-content:center;min-width:148px;height:78px;padding:8px;scroll-snap-align:start}
.collaborator img{display:block;width:auto;height:auto;max-width:min(100%,160px);max-height:52px;object-fit:contain}
.collaborator img[src$="eibho.svg"]{max-height:60px;transform:scale(1.35)}
.collaborator img[src$="distiplas-alt.png"]{max-height:64px;mix-blend-mode:multiply}
.collaborator img[src$="orac.svg"]{filter:brightness(0)}
.collaborators-hint{display:none}
.social-icons{display:flex;align-items:center;justify-content:center;gap:17px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--forest);transition:background .25s ease,color .25s ease,transform .25s ease}
.social-icon svg{display:block;width:20px;height:20px}
a.social-icon:hover,a.social-icon:focus-visible{background:var(--forest);color:var(--white);transform:translateY(-2px)}
a.social-icon:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.social-icon-pending{opacity:.34;cursor:not-allowed}
.site-footer{background:#eceee7;padding:64px 0 28px}
.footer-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}
.footer-top img{width:290px;height:auto}
.footer-top p{justify-self:end;margin:0;color:var(--muted);line-height:1.7;font-size:14px;text-align:right}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cbd0c6;padding-top:17px;margin-top:80px;color:#6d776c;font-size:11px;letter-spacing:.04em}
.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.detail-hero{padding-top:56px}
.detail-heading{max-width:980px}
.back-link{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-bottom:70px}
.detail-heading .eyebrow{margin-bottom:25px}
.detail-heading h1{font-size:clamp(95px,13vw,210px);line-height:.9;margin-bottom:23px}
.detail-heading h1 span{color:#909b8c}
.detail-heading>p:last-child{max-width:540px;color:var(--muted);line-height:1.7;font-size:17px;margin-bottom:56px}
.detail-hero-image{height:clamp(480px,52vw,730px);position:relative;overflow:hidden;background:#b8b9ad}
.detail-hero-image img{width:100%;height:100%;object-fit:cover}
.detail-intro{border-bottom:1px solid var(--line)}
.detail-intro h2{max-width:900px}
.detail-intro p{max-width:650px}
.detail-projects{padding-top:72px;padding-bottom:120px}
.detail-section-heading{display:grid;grid-template-columns:.3fr 1fr .65fr;gap:30px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:34px;margin-bottom:35px}
.detail-section-heading h2{font-size:clamp(43px,4.3vw,70px);margin:0}
.detail-section-heading p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.detail-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.detail-card img{width:100%;height:clamp(320px,37vw,540px);object-fit:cover}
.detail-card>div{border-bottom:1px solid var(--line);padding:23px 0 33px}
.detail-card h3{font-size:clamp(32px,3vw,49px);margin:16px 0}
.detail-card p{font-size:14px;color:var(--muted);line-height:1.6;max-width:430px}
.detail-next h2{margin:28px 0 40px}
.reveal{opacity:1;transform:none}
.js-motion .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1)}
.js-motion .reveal.is-visible{opacity:1;transform:none}
@keyframes hero-enter{from{transform:scale(1.06);opacity:.82}to{transform:scale(1);opacity:1}}
@media(max-width:1050px){.wrap{width:min(100% - 64px,1420px)}.header-inner{min-height:78px}.brand{width:185px}.site-nav{gap:12px}.site-nav a{font-size:11px}.hero{min-height:630px}.scroll-cue{left:32px}}
@media(max-width:760px){.wrap{width:min(100% - 38px,1420px)}.site-header{position:sticky;top:0}.header-inner{min-height:72px}.brand{width:177px}.menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding:14px 0}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;content:"";width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-lines:before{transform:translateY(-6px)}.menu-lines:after{transform:translateY(5px)}.menu-toggle[aria-expanded="true"] .menu-lines{background:transparent}.menu-toggle[aria-expanded="true"] .menu-lines:before{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines:after{transform:rotate(-45deg)}.site-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 19px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 22px 30px rgba(25,32,26,.09)}.site-nav.open{display:flex}.site-nav a{font-size:17px;padding:13px 0;border-bottom:1px solid var(--line)}.site-nav a:after{display:none}.hero{min-height:660px;align-items:end}.hero-image img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(20,27,21,.85),rgba(20,27,21,.25) 72%,rgba(20,27,21,.03))}.hero-content{padding-top:80px;padding-bottom:106px}.hero h1{font-size:clamp(56px,13.5vw,88px);margin:25px 0 25px}.hero-lead{font-size:16px;line-height:1.6}.hero-actions{gap:22px;margin-top:29px}.text-link{gap:20px;font-size:10px}.scroll-cue{bottom:28px;left:19px}.hero-caption{bottom:27px;right:19px;max-width:100px;text-align:right;line-height:1.4;font-size:8px}.section-space{padding-top:80px;padding-bottom:80px}.intro,.testimonials,.location,.detail-intro,.manifesto-grid{grid-template-columns:1fr;gap:30px}.section-side{gap:14px}.intro h2,.testimonials h2,.location h2,.detail-intro h2{font-size:clamp(43px,10.5vw,65px)}.intro-bottom{grid-template-columns:1fr;gap:15px;margin-top:33px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(43px,10vw,64px)}.section-heading>p{margin-top:20px}.discipline-grid{grid-template-columns:1fr;gap:40px}.discipline-card:nth-child(2){margin-top:0}.discipline-image{height:100vw;max-height:570px}.discipline-caption h3{font-size:56px}.manifesto h2,.detail-next h2{font-size:clamp(43px,10.5vw,64px)}.manifesto-steps{grid-template-columns:1fr;gap:10px;margin-top:36px}.manifesto-steps strong{margin:17px 0 8px;font-size:31px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:clamp(59px,13vw,82px);margin:27px 0}.location-panel{height:330px}.site-footer{padding-top:54px}.footer-top{display:block}.footer-top img{width:250px}.footer-top p{margin-top:30px}.footer-bottom{margin-top:60px;flex-wrap:wrap;line-height:1.5}.detail-hero{padding-top:30px}.back-link{margin-bottom:58px}.detail-heading h1{font-size:clamp(85px,20vw,145px)}.detail-heading>p:last-child{font-size:16px;margin-bottom:40px}.detail-hero-image{height:100vw;min-height:390px}.detail-projects{padding-top:60px;padding-bottom:76px}.detail-section-heading{display:block}.detail-section-heading h2{margin:24px 0 15px}.detail-card-grid{grid-template-columns:1fr;gap:40px}.detail-card img{height:92vw;max-height:510px}}
@media(max-width:380px){.hero-actions{display:block}.hero-actions .text-link{margin-right:12px}.hero h1{font-size:55px}.discipline-caption h3{font-size:48px}.contact h2{font-size:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}}
@media(max-width:760px){.intro-detail{display:none}.intro-signature{margin-top:28px;font-size:22px}.manifesto-steps>div{grid-template-columns:45px 1fr;gap:8px 12px;padding:18px 0}.manifesto-steps strong{margin:0;font-size:32px}.manifesto-steps p{grid-column:2;max-width:310px}.discipline-card:nth-child(2) .discipline-image{height:100vw;max-height:570px}.reviews-layout{grid-template-columns:1fr;gap:42px;margin-top:48px}.rating-value{font-size:112px}.rating-stars{font-size:36px}.review-item blockquote{font-size:28px}.experience-figures{margin-top:54px}.figures-note{align-items:flex-start;flex-direction:column;gap:7px}.figures-grid{grid-template-columns:1fr}.figure,.figure:not(:first-child){padding:22px 0 28px;border-left:0;border-bottom:1px solid var(--line)}.figure-number{font-size:clamp(88px,24vw,120px)}.figure-line{margin:20px 0 16px}.figure p{font-size:14px}.figure p br{display:none}}
@media(max-width:1100px){.testimonials{grid-template-columns:1fr;gap:25px}.testimonials .section-side{flex-direction:row;align-items:center;gap:20px}.testimonials .side-rule{flex:1}}
@media(max-width:760px){.testimonials.section-space{padding-top:60px;padding-bottom:60px}.testimonials .section-side{flex-direction:column;align-items:flex-start}.testimonials .side-rule{flex:none}.testimonials h2{font-size:clamp(42px,10vw,60px)}.reviews-layout{gap:20px;margin-top:26px}.review-rating{grid-template-columns:1fr auto;gap:10px 14px;padding:18px 0}.rating-value{font-size:90px}.rating-stars{font-size:28px}.rating-count{grid-column:1/-1;max-width:none}.reviews-link{grid-column:1/-1;justify-self:start;margin-top:3px}.reviews-selection{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}.reviews-selection::-webkit-scrollbar{display:none}.review-item{flex:0 0 min(78vw,285px);min-height:172px;scroll-snap-align:start}.review-item blockquote{font-size:25px}.reviews-swipe{display:flex;justify-content:space-between;gap:20px;margin:9px 0 0;color:#777e74;font-size:11px;letter-spacing:.04em}.reviews-swipe span{font-size:18px;line-height:.8}.reviews-footnote{margin-top:14px}}
@media(max-width:1100px){.collaborators-hint{display:flex;justify-content:space-between;gap:20px;margin:14px 0 0;color:#6f776d;font-size:11px;letter-spacing:.04em}.collaborators-hint span{font-size:18px;line-height:.8}}
@media(max-width:760px){.collaborators{padding:32px 0 36px}.collaborators-heading{margin-bottom:16px}.collaborators-track{gap:10px}.collaborator{flex-basis:150px;min-width:150px;height:70px}}
@media(max-width:760px){.footer-top{display:grid;grid-template-columns:1fr;justify-items:start;gap:17px}.footer-top .social-icons{justify-self:start;gap:14px}.footer-top p{justify-self:start;margin:0;text-align:left}}
@media(max-width:760px){.contact.section-space{padding-top:54px;padding-bottom:58px}.contact h2{margin:22px 0}.contact-grid{gap:12px}.contact-form{margin-top:18px}}
[hidden]{display:none!important}
.form-privacy-note{font-size:13px;line-height:1.55;color:var(--muted);margin:15px 0 0}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-turnstile{margin-top:25px;min-height:65px}
.contact-form .contact-consent{display:flex;align-items:flex-start;gap:12px;margin-top:22px;margin-bottom:0;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
.contact-form .contact-consent input{flex:none;width:17px;height:17px;margin:1px 0 0;accent-color:var(--forest)}
.contact-consent a{text-decoration:underline;text-underline-offset:3px}
.contact-form button:disabled{opacity:.55;cursor:wait}
.form-privacy-note a,.legal-main a:not(.legal-settings-button){text-decoration:underline;text-underline-offset:3px}
.location-panel{position:relative}
.map-consent{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(25px,5vw,72px);background:linear-gradient(135deg,#dce1d9,#cbd4ca);color:var(--forest)}
.map-consent-kicker,.cookie-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.map-consent p{max-width:490px;font-family:Georgia,serif;font-size:clamp(24px,3vw,40px);line-height:1.22;margin:17px 0 25px}
.map-consent button,.legal-settings-button{border:1px solid var(--forest);background:var(--forest);color:#fff;padding:14px 19px;font-size:13px;cursor:pointer}
.map-consent button span,.legal-settings-button span{margin-left:20px}
.map-consent a{font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:14px}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:14px 25px;margin-top:22px;font-size:13px}
.footer-legal a,.footer-legal button{color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.footer-legal button{border:0;background:transparent;padding:0;font:inherit;cursor:pointer}
.footer-legal [aria-current="page"]{font-weight:700}
.studio-credit{background:#eceee7;color:#6d776c;padding:0 0 25px;font-size:11px;letter-spacing:.04em;text-align:right}
.studio-credit a{color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.studio-credit a:hover,.studio-credit a:focus-visible{color:var(--ink)}
@media(max-width:760px){.studio-credit{text-align:left;padding-bottom:25px}}
.cookie-banner{position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;max-width:1120px;margin:auto;background:#f5f2eb;border:1px solid #c9cec3;box-shadow:0 19px 65px rgba(14,27,17,.26);color:var(--ink)}
.cookie-banner-inner{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:20px 42px;padding:28px 34px}
.cookie-copy h2{font-family:Georgia,serif;font-weight:400;font-size:30px;line-height:1.15;margin:9px 0}
.cookie-copy p{font-size:14px;line-height:1.55;color:#535e53;max-width:670px;margin:0}
.cookie-copy a{text-decoration:underline;text-underline-offset:3px}
.cookie-controls{align-self:center}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cookie-actions button{min-height:54px;border:1px solid var(--forest);background:var(--forest);color:#fff;padding:9px 12px;font-size:13px;line-height:1.25;cursor:pointer}
.cookie-actions button:hover,.cookie-save:hover,.map-consent button:hover,.legal-settings-button:hover{background:#4b5e4e}
.cookie-settings-link{border:0;background:transparent;padding:12px 0 0;color:var(--forest);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cookie-settings-link span{margin-left:7px}
.cookie-options{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}
.cookie-options>p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 15px}
.cookie-options label{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-block:1px solid var(--line);cursor:pointer}
.cookie-options input{width:20px;height:20px;margin:0;accent-color:var(--forest)}
.cookie-options strong{font-size:15px}
.cookie-options small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}
.cookie-options .cookie-unavailable{margin:14px 0;color:var(--muted)}
.cookie-save{border:1px solid var(--forest);background:var(--forest);color:#fff;padding:13px 20px;font-size:13px;cursor:pointer}
.legal-back{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}
.legal-back span{margin-left:12px}
.legal-main{max-width:1120px;padding-top:80px;padding-bottom:104px}
.legal-main h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,10vw,132px);line-height:1;margin:18px 0 22px}
.legal-main h1 span{color:#909b8c}
.legal-lead{max-width:760px;font-family:Georgia,serif;font-size:clamp(22px,2.4vw,32px);line-height:1.4;color:var(--forest)}
.legal-warning{margin:45px 0 60px;padding:20px 24px;background:#e9e2d4;border-left:3px solid var(--accent);font-size:15px;line-height:1.6}
.legal-warning strong{display:block;margin-bottom:5px}
.legal-section{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;border-top:1px solid var(--line);padding:28px 0}
.legal-section h2{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.2;margin:0}
.legal-section p{font-size:16px;line-height:1.8;margin:0;max-width:690px}
.legal-facts{margin:0}
.legal-facts div{padding:9px 0;border-bottom:1px solid var(--line)}
.legal-facts dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.legal-facts dd{font-size:16px;margin:7px 0 0;line-height:1.5}
.legal-table-wrap{overflow-x:auto}
.legal-table{width:100%;border-collapse:collapse;min-width:620px;font-size:14px;line-height:1.5}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:13px;border-bottom:1px solid var(--line)}
.legal-table th{font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.legal-table code{font-size:12px;overflow-wrap:anywhere}
.legal-settings-button{display:inline-block;margin-top:22px}
.legal-section>.legal-settings-button{grid-column:2;justify-self:start}
@media(max-width:760px){.cookie-banner{left:8px;right:8px;bottom:8px;max-height:calc(100dvh - 16px);overflow-y:auto}.cookie-banner-inner{grid-template-columns:1fr;padding:19px 17px;gap:13px}.cookie-copy h2{font-size:25px}.cookie-copy p{font-size:13px}.cookie-controls{align-self:stretch}.cookie-actions button{min-height:48px}.map-consent p{font-size:24px}.legal-main{padding-top:48px;padding-bottom:64px}.legal-section{grid-template-columns:1fr;gap:15px}.legal-section h2{font-size:27px}.legal-warning{margin:32px 0 44px}.footer-legal{gap:13px 19px}}
@media(max-width:760px){.legal-section>.legal-settings-button{grid-column:1}}
