:root{--hero-gold:#e5c17b;--hero-gold-soft:#f0dbb0}
/* A single, full-bleed editorial scene. Decorative layers never intercept input. */
.header{margin-bottom:-98px;background:rgba(17,47,47,.96);color:var(--paper);transition:background .25s}
.header-over-hero{background:transparent;backdrop-filter:none}
.header .desktop-nav::before{background:#d5dfcc55}
.header .desktop-nav a:is(:hover,:focus-visible,.is-active){border-color:var(--paper)}
.header .nav-cta{color:var(--paper)}
.header .menu-toggle span{background:var(--paper)}
.header .mobile-nav{background:#173c3b;border-color:#b8c8b43d}
.header :focus-visible,.hero :focus-visible{outline-color:#f4f1e9}
.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(850px,100svh,1010px);padding:165px var(--gutter) 210px;background:#153c3b;color:var(--paper)}
.hero::after{content:'';position:absolute;inset:auto 0 0;height:125px;z-index:3;background:linear-gradient(180deg,#f4f1e900 0%,#f4f1e92b 30%,#f4f1e9a8 69%,var(--paper) 100%);pointer-events:none}
.hero-scene{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 68% 10%,#47706a80,transparent 62%),radial-gradient(ellipse at 4% 72%,#52766b65,transparent 49%),#153c3b}
.scene-glow{position:absolute;inset:-20%;background:radial-gradient(ellipse at 70% 30%,#8ea59345,transparent 47%);animation:scene-light 24s ease-in-out infinite alternate;will-change:transform}
.scene-depth{position:absolute;inset:0;transform:translateY(var(--scene-shift,0px))}
.scene-object{position:absolute;will-change:transform}
.book-open{width:clamp(420px,43vw,720px);right:-14%;top:34%;animation:book-sail 16s ease-in-out -5s infinite alternate}
.book-open img{filter:drop-shadow(-14px 24px 24px #061b1b3d)}


.floating-page{width:clamp(95px,11vw,170px);left:8%;bottom:25%;animation:page-sail 21s ease-in-out -6s infinite alternate;filter:drop-shadow(8px 12px 13px #081f1e33);opacity:.88}
.floating-page svg{display:block;width:100%;height:auto}
.scene-word{position:absolute;color:#dbe1cb;font:italic clamp(39px,4.4vw,69px)/1.1 var(--serif);letter-spacing:-.035em;white-space:nowrap;opacity:.34;animation:word-sail 21s ease-in-out infinite alternate;will-change:transform}
.word-ideas{left:19%;top:16%;transform:rotate(-12deg);animation-delay:-8s}
.word-vision{right:7%;top:19%;font-size:clamp(46px,5.54vw,86px);animation-delay:-16s;opacity:.4}
.word-thought{left:2.5%;top:54%;animation-delay:-4s;font-size:clamp(43px,4.9vw,77px)}
.word-voice{right:22%;bottom:19%;animation-delay:-12s;opacity:.42}
.hero-content{position:relative;z-index:2;width:min(100%,1120px);text-align:center}
.hero-content::before{content:'';position:absolute;z-index:-1;inset:-75px -40px -55px;background:radial-gradient(ellipse,#153c3bf5 13%,#153c3bd1 37%,#153c3b00 72%);pointer-events:none}
.hero-eyebrow{font-size:14px;letter-spacing:.15em;color:var(--hero-gold-soft);margin-bottom:27px}
.hero h1{color:var(--hero-gold);font-family:var(--display);font-size:clamp(77px,8.15vw,119px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
.hero h1>span{display:block}
.hero h1 em{display:block;font-size:.81em;letter-spacing:-.045em;margin-top:5px;line-height:1.12;color:var(--hero-gold)}
.hero-description{font-size:21px;line-height:1.75;max-width:670px;margin:30px auto 0;color:var(--hero-gold-soft);text-wrap:pretty}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:34px;margin-top:29px}
.hero-actions .button{font-size:26px;padding-inline:24px;gap:28px;transition:background .25s,transform .25s}
.hero-actions .button:hover{transform:translateY(-3px)}
.hero-discover{color:var(--hero-gold-soft);display:inline-flex;align-items:center;gap:22px;min-height:48px;font:24px/1.3 var(--serif);text-decoration:none;border-bottom:1px solid #dec48488;transition:border-color .25s}
.hero-discover span{font:19px var(--sans);transition:transform .25s}
.hero-discover:is(:hover,:focus-visible){border-color:var(--hero-gold)}
.hero-discover:is(:hover,:focus-visible) span{transform:translateY(3px)}
.hero-audience{font-size:15px;line-height:1.6;color:var(--hero-gold-soft);margin-top:24px}
.hero-foot{position:absolute;z-index:4;bottom:135px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:25px}
.hero-caption{font-size:12px;letter-spacing:.22em;color:#d5dfd1}
.motion-toggle{background:transparent;border:0;min-height:44px;padding:8px 0;font:15px var(--sans);color:var(--teal);display:inline-flex;align-items:center;gap:12px}
.motion-toggle span{font-size:21px}
.hero-pause{font-size:14px;color:#e1e7db;border:1px solid #d1ddca45;background:#153c3bc4;padding:8px 14px;backdrop-filter:blur(8px)}
@keyframes book-sail{from{transform:translate3d(0,18px,0) rotate(-13deg)}to{transform:translate3d(-28px,-25px,0) rotate(-5deg)}}

@keyframes page-sail{from{transform:translate3d(-8px,20px,0) rotate(-24deg) skewY(-4deg)}to{transform:translate3d(17px,-19px,0) rotate(-9deg) skewY(3deg)}}
@keyframes word-sail{from{transform:translate3d(-14px,12px,0) rotate(-7deg)}to{transform:translate3d(22px,-18px,0) rotate(3deg)}}
@keyframes scene-light{from{transform:translate3d(-4%,-2%,0) scale(1)}to{transform:translate3d(6%,4%,0) scale(1.08)}}
body.motion-paused .hero-scene *, .hero-inactive .hero-scene *{animation-play-state:paused!important}
@media(min-width:1600px){.book-open{right:-5%;top:29%}.floating-page{left:16%}.word-thought{left:6%}}
@media(max-width:1150px){.hero{min-height:820px;padding-top:160px}.hero h1{font-size:8.63vw}.book-open{width:470px;right:-18%;top:39%}.floating-page{left:5%;width:120px;bottom:22%}.word-ideas{left:18%;top:18%}.word-vision{right:4%;top:21%}.word-thought{left:1%;top:49%}.word-voice{right:24%;bottom:18%}.hero-content::before{inset:-65px -30px -40px}}
@media(max-width:850px){.header{margin-bottom:-88px}.hero{min-height:820px;padding-top:170px;padding-bottom:200px}.hero-content{max-width:690px}.hero h1{font-size:clamp(65px,9.37vw,81px)}.hero h1>span{max-width:600px;margin:auto}.hero-description{max-width:500px;font-size:20px}.hero-eyebrow{font-size:13px}.book-open{right:-26%;top:47%;width:440px}.floating-page{left:3%;bottom:21%;width:95px}.word-ideas{top:13%;left:28%}.word-vision{top:21%;right:1%;font-size:51px}.word-thought{top:53%;left:-2%;font-size:43px}.word-voice{bottom:17%;right:29%;font-size:46px}.hero-foot{bottom:125px}.hero-actions{gap:25px}.hero-actions .button{font-size:25px}.hero-discover{font-size:24px;gap:15px}.hero-caption{font-size:12px}}
@media(max-width:600px){.header{margin-bottom:-80px}.hero{min-height:865px;padding:180px var(--gutter) 195px}.hero::after{height:110px}.hero-content{max-width:430px}.hero h1{font-size:clamp(58px,13.63vw,77px);line-height:1.03;letter-spacing:-.04em}.hero h1>span{max-width:360px}.hero h1 em{font-size:.77em;line-height:1.05;margin:11px auto 0;max-width:340px;text-wrap:balance}.hero-eyebrow{font-size:12px;letter-spacing:.14em;max-width:270px;margin:0 auto 21px;line-height:1.75}.hero-description{font-size:20px;line-height:1.7;max-width:350px;margin-top:25px}.hero-actions{flex-direction:column;gap:12px;margin-top:25px}.hero-actions .button{font-size:25px;min-height:56px;padding-inline:22px;gap:25px}.hero-discover{font-size:24px;min-height:44px;gap:18px}.hero-audience{font-size:13px;margin-top:21px}.hero-content::before{inset:-40px -45px -45px;background:radial-gradient(ellipse,#153c3bfa 10%,#153c3bf0 42%,#153c3b00 74%)}.book-open{width:250px;right:-105px;top:76px;opacity:.92;animation-duration:17s}.floating-page{width:80px;left:auto;right:-8px;bottom:161px;opacity:.63}.word-ideas{top:115px;left:12%;font-size:45px;opacity:.4}.word-vision{display:none}.word-thought{top:auto;bottom:136px;left:26%;font-size:39px;opacity:.3}.word-voice{right:-12px;bottom:auto;top:39%;font-size:43px;opacity:.3}.hero-foot{left:var(--gutter);right:var(--gutter);bottom:96px;justify-content:center}.hero-caption{display:none}.hero-pause{font-size:13px;min-height:44px;padding:8px 13px;background:#153c3bd9}.hero .hero-pause span{font-size:19px}}
@media(max-width:360px){.hero{padding-top:169px;min-height:885px}.hero h1{font-size:54px}.hero h1 em{font-size:.76em}.hero-eyebrow{font-size:12px}.hero-description{font-size:19px}.hero-actions .button{font-size:24px}.hero-audience{font-size:12px}}
@media(min-width:601px) and (max-width:850px){.hero-actions{flex-direction:column;gap:9px}.hero{min-height:880px}.hero-description{max-width:440px}.book-open{top:52%;width:370px;right:-30%}}
@media(max-width:600px){.book-open{width:145px;right:-18px;top:72px;animation:book-sail-mobile 17s ease-in-out -5s infinite alternate}.word-voice{display:none}}
@keyframes book-sail-mobile{from{transform:translate3d(0,0,0) rotate(-14deg)}to{transform:translate3d(-8px,-9px,0) rotate(-4deg)}}
/* Three paper leaves, each moving independently around the clear reading area. */
.page-two{left:1.5%;bottom:35%;width:clamp(70px,7vw,100px);opacity:.66;animation:page-turn 25s ease-in-out -13s infinite alternate}
.page-three{left:18%;bottom:22%;width:clamp(65px,6.8vw,95px);opacity:.78;animation:page-waft 19s ease-in-out -4s infinite alternate}
.hero-actions .button{background:var(--hero-gold);border-color:var(--hero-gold);color:var(--ink)}
.hero-actions .button:is(:hover,:focus-visible){background:#f0d6a0;border-color:#f0d6a0}
.hero-audience{font-size:16px}
.hero-caption{font-size:13px;letter-spacing:.15em}
.hero-pause{font-size:14px}
@keyframes page-turn{from{transform:translate3d(0,16px,0) rotate(15deg) skewY(3deg)}to{transform:translate3d(11px,-17px,0) rotate(29deg) skewY(-3deg)}}
@keyframes page-waft{from{transform:translate3d(-10px,-9px,0) rotate(-6deg)}to{transform:translate3d(6px,17px,0) rotate(8deg)}}
@media(max-width:1150px){.hero-description{max-width:620px}.page-two{left:-1%;width:75px}.page-three{left:16%;width:70px}}
@media(min-width:601px) and (max-width:850px){.hero-description{max-width:480px}.hero{padding-top:165px;min-height:940px}.hero-audience{font-size:15px}.page-one{left:2%;bottom:25%}.page-two{left:-3%;bottom:39%;width:60px}.page-three{left:15%;bottom:22%;width:58px}}
@media(max-width:600px){.hero{padding:144px var(--gutter) 245px;min-height:940px}.hero-description{font-size:20px;max-width:360px}.hero-eyebrow{font-size:13px;max-width:310px;letter-spacing:.1em}.hero-audience{font-size:15px;max-width:300px;margin-inline:auto}.hero-content::before{inset:-40px -45px -55px}.hero-actions{gap:14px}.hero-actions .button{font-size:25px;padding-inline:20px;gap:20px}.hero-discover{font-size:24px}.book-open{width:210px;right:-73px;top:auto;bottom:40px;animation:book-sail-mobile 17s ease-in-out -5s infinite alternate}.page-one{left:-13px;right:auto;bottom:153px;width:80px;opacity:.8}.page-two{left:3%;bottom:266px;width:55px;opacity:.55}.page-three{left:19%;bottom:110px;width:55px;opacity:.65}.word-ideas{top:105px;left:12%;font-size:44px}.word-thought{left:27%;bottom:178px;font-size:41px}.hero-foot{bottom:97px}.hero-pause{font-size:13px}.hero-caption{display:none}}
@media(max-width:360px){.hero{padding-top:144px}.hero-description{font-size:19px}.hero-actions .button{font-size:24px;padding-inline:16px;gap:16px}.hero-eyebrow{font-size:12px}.hero-audience{font-size:14px}.hero-discover{font-size:23px}}
@media(min-width:1151px) and (max-width:1599px){.book-open{right:-16%}.hero-description{max-width:630px}}
@media(max-width:600px){.page-one{bottom:85px}.page-two{bottom:120px}.page-three{bottom:55px}.book-open{bottom:30px}}
@media(max-width:360px){.hero-actions .button{padding-inline:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-scene *{animation:none!important}.scene-depth{transform:none!important}.hero-actions .button:hover{transform:none}.motion-toggle{display:none}.header,.hero-actions a,.hero-discover span{transition:none}}

/* The service descriptor has its own readable presence above the headline. */
.hero .hero-eyebrow{font-size:22px;line-height:1.5;letter-spacing:.1em;max-width:100%;margin-bottom:28px}
.hero-audience a{display:inline-block;padding:3px 0;color:inherit;text-decoration-thickness:1px;text-decoration-color:#dec48488;text-underline-offset:5px;transition:text-decoration-color .2s}
.hero-audience a:is(:hover,:focus-visible){text-decoration-color:currentColor}
.hero-audience a span{display:inline-block;margin-left:6px}
@media(max-width:850px){.hero .hero-eyebrow{font-size:20px;letter-spacing:.08em}}
@media(max-width:600px){.hero .hero-eyebrow{font-size:18px;line-height:1.6;letter-spacing:.07em;max-width:340px;margin:0 auto 24px}}
@media(max-width:360px){.hero .hero-eyebrow{font-size:17px;letter-spacing:.05em}}
