:root {
  --white:#fff; --paper:#f7fbfb; --ink:#174f55; --teal:#287c83; --teal-deep:#075663;
  --purple:#9826d5; --purple-deep:#7515ac; --yellow:#fff1a8; --line:rgba(31,111,119,.18);
  --display:'Avenir Next','Century Gothic','Trebuchet MS',sans-serif;
  --body:'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body)}
a{color:inherit} img{display:block;max-width:100%}
.site-header{position:fixed;inset:0 0 auto;z-index:30;height:96px;display:flex;align-items:center;justify-content:space-between;padding:13px clamp(24px,5vw,76px);background:rgba(255,255,255,.94);border-top:10px solid var(--purple);box-shadow:0 8px 30px rgba(2,70,78,.06);backdrop-filter:blur(16px)}
.brand img{width:clamp(190px,20vw,305px);height:62px;object-fit:contain;object-position:left center}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,44px)}
.site-header nav a{text-decoration:none;font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.site-header nav a:hover{color:var(--purple)}
.full-screen{min-height:100svh}.eyebrow{margin:0 0 22px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.15em;line-height:1.45;text-transform:uppercase;color:var(--purple)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,.8fr);align-items:center;gap:5vw;padding:145px clamp(32px,8vw,140px) 75px;overflow:hidden;background:linear-gradient(118deg,#fff 0%,#fff 43%,#fff8d7 72%,#f0fcfc 100%)}
.hero::before{content:'';position:absolute;width:55vw;height:68vw;right:-14vw;bottom:-35vw;border-radius:55% 45% 42% 58%/45% 58% 42% 55%;background:rgba(24,116,125,.11);transform:rotate(-13deg)}
.hero::after{content:'';position:absolute;width:28vw;height:28vw;left:-17vw;top:14vh;border-radius:40% 60% 66% 34%/52% 34% 66% 48%;border:3px solid rgba(152,38,213,.16)}
.hero-copy{position:relative;z-index:2;max-width:690px}.hero h1,.portrait h2,.origin h2,.approach h2{font-family:var(--display);font-weight:300;letter-spacing:-.055em}
.hero h1{margin:0;font-size:clamp(67px,8.8vw,145px);line-height:.84;color:var(--teal-deep)}
.hero h1::first-line{color:var(--purple)}
.hero-intro{max-width:560px;margin:38px 0 31px;color:var(--teal);font-family:var(--display);font-size:clamp(21px,2vw,31px);font-weight:300;line-height:1.42}
.hero-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 21px;border:2px solid var(--purple);border-radius:3px 24px 3px 24px;text-decoration:none;font-size:14px;letter-spacing:.04em;color:var(--purple);transition:.25s ease}
.hero-button:hover{background:var(--purple);color:#fff}.book-stage{position:relative;z-index:2;display:grid;place-items:center;min-height:70vh;border-radius:48% 4% 46% 8%/12% 44% 9% 48%;background:rgba(255,255,255,.72)}
.book-stage img{position:relative;width:min(390px,72%);max-height:70vh;object-fit:contain;box-shadow:0 28px 65px rgba(45,19,56,.2);transform:rotate(1.5deg)}
.book-glow{position:absolute;width:75%;aspect-ratio:1;border-radius:37% 63% 52% 48%/62% 42% 58% 38%;background:linear-gradient(145deg,rgba(255,225,94,.4),rgba(30,125,135,.18),rgba(152,38,213,.16));filter:blur(30px)}
.vertical-note{position:absolute;right:28px;top:50%;margin:0;writing-mode:vertical-rl;transform:translateY(-50%);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.approach{position:relative;padding:clamp(110px,13vw,190px) clamp(28px,8vw,130px);overflow:hidden;background:#fff}
.approach::before{content:'';position:absolute;width:320px;height:320px;right:-130px;top:70px;border-radius:58% 42% 31% 69%/45% 67% 33% 55%;background:#f0d9fa}
.approach-intro{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);align-items:center;gap:clamp(45px,7vw,115px)}
.section-heading{position:relative;max-width:900px}.section-heading h2{margin:0;font-size:clamp(54px,6.2vw,96px);line-height:.98;color:var(--teal-deep)}
.section-heading>p:last-child{max-width:680px;margin:34px 0 0;color:var(--teal);font-size:clamp(18px,1.7vw,24px);line-height:1.6}
.bise-diagram{margin:0;padding:28px;background:#fff;border:1px solid var(--line);border-radius:70px 6px 70px 6px;box-shadow:0 24px 70px rgba(7,86,99,.11)}
.bise-diagram img{width:100%;aspect-ratio:1.18;object-fit:contain;mix-blend-mode:multiply}.bise-diagram figcaption{max-width:360px;margin:18px auto 2px;text-align:center;color:var(--teal);font-size:14px;line-height:1.5}
.pillars{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:90px}
.pillars article{min-height:315px;padding:30px 31px;background:var(--paper);border:1px solid var(--line);border-radius:55px 6px 55px 6px}
.pillars article:nth-child(2){border-radius:6px 55px 6px 55px;background:#fff9dc}.pillars article:nth-child(3){background:#f4e8fa}
.pillars span{color:var(--purple);font-family:var(--display);font-size:15px}.pillars h3{margin:76px 0 18px;font-family:var(--display);font-size:clamp(24px,2.2vw,36px);font-weight:400;color:var(--teal-deep)}
.pillars p{max-width:340px;margin:0;color:#436e72;font-size:16px;line-height:1.7}
.bise-signature{position:relative;display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:75px;padding:40px 48px;background:#f7fbfb;border-radius:6px 60px 6px 60px}
.bise-signature p:last-child{margin:0;font-family:var(--display);font-size:22px;font-weight:300}.bise-signature img{width:min(390px,38vw);border-radius:4px 36px 4px 36px}
.portrait{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;padding:clamp(35px,5vw,72px);background:linear-gradient(135deg,#e6f6f7 0%,#fff 58%)}
.portrait-image{min-height:calc(100svh - 10vw);overflow:hidden;border-radius:90px 8px 90px 8px;box-shadow:0 20px 60px rgba(0,79,88,.13)}
.portrait-image img{width:100%;height:100%;object-fit:cover;object-position:center 32%}.portrait-copy{display:flex;flex-direction:column;justify-content:center;padding:90px clamp(38px,7vw,120px)}
.portrait h2{margin:0;font-size:clamp(62px,7.5vw,120px);line-height:.86;color:var(--teal-deep)}
.role{max-width:620px;margin:32px 0 28px;font-family:var(--display);font-size:clamp(23px,2.1vw,34px);font-weight:300;line-height:1.35;color:var(--purple)}
.bio{max-width:610px;margin:0;color:#426e73;font-size:17px;line-height:1.8}.services{display:flex;flex-wrap:wrap;gap:10px;margin-top:42px}.services span{padding:10px 16px;border:1px solid rgba(31,111,119,.35);border-radius:18px 2px 18px 2px;color:var(--teal);font-size:14px}
.contact-details{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin-top:34px;padding-top:27px;border-top:1px solid var(--line)}
.contact-details p{grid-column:1/-1;margin:0 0 5px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.contact-details a{width:max-content;text-decoration:none;font-size:16px;color:var(--teal-deep);border-bottom:1px solid transparent}.contact-details a:hover{color:var(--purple);border-bottom-color:var(--purple)}
.origin{position:relative;display:flex;align-items:end;overflow:hidden;padding:100px clamp(28px,8vw,130px)}.origin-background,.origin-overlay{position:absolute;inset:0;width:100%;height:100%}.origin-background{object-fit:cover;object-position:center}
.origin-overlay{background:linear-gradient(90deg,rgba(0,64,73,.92) 0%,rgba(0,73,81,.68) 39%,rgba(0,61,72,.03) 72%)}
.origin-copy{position:relative;z-index:2;max-width:750px;padding:55px;background:rgba(255,255,255,.9);border-radius:70px 6px 70px 6px;box-shadow:0 20px 70px rgba(0,42,50,.22)}
.origin h2{margin:0;font-size:clamp(51px,6.2vw,96px);line-height:.96;color:var(--teal-deep)}.origin-copy>p:last-child{max-width:620px;margin:28px 0 0;color:#406d72;font-size:clamp(17px,1.5vw,22px);line-height:1.7}
footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;padding:35px clamp(24px,5vw,76px);background:#fff;border-top:8px solid var(--teal);color:var(--teal);font-size:12px;letter-spacing:.04em}footer img{width:190px}footer p{margin:0}footer p:nth-child(2){text-align:center}
@media(max-width:800px){
  .site-header{height:78px;padding:9px 20px;border-top-width:7px}.brand img{width:180px;height:48px}.site-header nav a{display:none}
  .hero{grid-template-columns:1fr;gap:42px;padding:125px 24px 70px}.hero h1{font-size:clamp(64px,21vw,105px)}.hero-intro{margin-top:28px}.book-stage{min-height:auto;padding:40px 0;border-radius:50px 4px 50px 4px}.book-stage img{width:min(315px,70vw);max-height:none}.vertical-note{display:none}
  .approach{padding:100px 24px}.approach-intro{grid-template-columns:1fr;gap:50px}.bise-diagram{padding:20px;border-radius:50px 5px 50px 5px}.pillars{grid-template-columns:1fr;margin-top:65px}.pillars article{min-height:auto;padding:28px 26px 38px}.pillars h3{margin:38px 0 14px}.bise-signature{align-items:flex-start;flex-direction:column;margin-top:55px;padding:34px 26px}.bise-signature img{width:min(390px,100%)}
  .portrait{grid-template-columns:1fr;padding:24px}.portrait-image{min-height:68svh;border-radius:55px 4px 55px 4px}.portrait-copy{padding:75px 4px}.contact-details{grid-template-columns:1fr}.origin{min-height:92svh;padding:0;align-items:end}.origin-background{object-position:52% center}.origin-overlay{background:linear-gradient(0deg,rgba(0,69,78,.9) 0%,rgba(0,73,81,.25) 65%,transparent 90%)}.origin-copy{width:calc(100% - 32px);margin:0 16px 24px;padding:38px 25px;border-radius:45px 4px 45px 4px}
  footer{grid-template-columns:1fr;gap:18px;text-align:center}footer img{margin:0 auto}footer p:nth-child(2){text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
