:root{--cream:#f3eddb;--paper:#f5efe7;--clay:#a86047;--blue:#1a303d;--gold:#d6cda5;--ink:#272a25;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.35 var(--serif)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bd8e58;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{clip-path:none;width:auto;height:auto;z-index:10;background:var(--cream);padding:12px}.banner{width:100%;height:auto;aspect-ratio:1536/747;object-fit:contain}.ribbon{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--clay);color:var(--cream);padding:9px 6.3%;font-size:17px}.ribbon-brand{font-size:21px;white-space:nowrap}.ribbon-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.ribbon-links a{display:inline-block;padding:7px 0}.ribbon a:hover{text-decoration:underline}.hero{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px;padding:20px 6.3% 76px;border-bottom:10px solid var(--clay)}h1{font-size:clamp(42px,6.9vw,110px);line-height:.96;letter-spacing:-.035em}.hero p{font-size:clamp(17px,2vw,28px);font-style:italic;text-align:center;line-height:1.15;max-width:680px;padding-top:140px;margin-left:-70px}.about{display:grid;grid-template-columns:49% 51%;background:var(--clay);color:var(--cream);padding:20px 0 34px;align-items:stretch}.about-photo{display:block;position:relative;min-width:0;overflow:hidden}.about img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 35%}.about>div{padding:0 17% 0 8%}.about p{font-size:clamp(18px,2.25vw,32px);line-height:1.15}.about p+p{margin-top:30px}.services{background:#fffdf8;padding:75px 6.3% 35px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}h2{font-size:clamp(38px,5.4vw,82px);line-height:.98;letter-spacing:-.025em}.section-head>p{max-width:43%;font-size:clamp(15px,1.65vw,23px);line-height:1.15;font-style:italic}.service{display:grid;grid-template-columns:5% 35% 1fr 28px;gap:20px;align-items:center;border-top:1px solid var(--clay);padding:24px 0;min-height:125px}.service h3{font-size:clamp(23px,2.5vw,35px);line-height:1.05}.service p{font:clamp(12px,1.2vw,17px)/1.55 var(--sans);color:#787871}.number{color:var(--clay);font-size:14px;font-style:italic}.arrow{font-family:var(--sans);font-size:30px;color:var(--clay)}.service:hover h3{color:var(--clay)}.partners{background:var(--blue);color:var(--gold);display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);column-gap:40px;row-gap:30px;padding:45px 6.3% 55px;align-items:start}.partners-title{grid-column:1/-1;font-size:clamp(32px,5vw,70px);white-space:nowrap}.partner-copy{padding:0}.partner-copy p{font-size:clamp(15px,1.55vw,23px);line-height:1.17;margin-bottom:20px}.partner-visual{padding-top:0;min-width:0}.partner-visual>img{width:100%;height:auto;aspect-ratio:352/258;object-fit:cover}.partner-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:22px 0 0}.partner-links>div{border-top:1px solid #d6cda54a;padding-top:12px}.partner-links span{font-size:clamp(10px,.95vw,14px)}.partner-links h3{font-size:clamp(20px,2.2vw,33px);line-height:1.15;margin:8px 0}.partner-links a{display:inline-block;font-size:clamp(12px,1.15vw,17px);border-bottom:1px solid #d6cda55c;padding-bottom:3px}.partner-links a:hover{color:#fff7e2}.library{padding:50px 9.5% 65px}.library .section-head{margin-bottom:40px}.library .section-head>p{font:clamp(12px,1.12vw,17px)/1.5 var(--sans);max-width:31%;font-style:normal}.eyebrow{font:10px var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#8c5f4c;display:flex;gap:12px;align-items:center;margin-bottom:24px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.library-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fffdf7;padding:7px;box-shadow:0 2px 14px #b4ac8f18}.filters{display:flex;gap:4px;flex-wrap:wrap}.filters button{font:11px var(--sans);background:transparent;border:0;padding:12px 14px;color:#64665c}.filters button[aria-pressed=true]{background:#eee9dc;color:var(--ink)}.search{width:30%}.search input{width:100%;border:0;background:#f1efe4;padding:12px;font:12px var(--sans);border-radius:0}.library-note{font-size:13px;color:#8c8577;margin:12px 0 38px}.shelf-group{margin-top:35px}.shelf-group h3{font-size:25px;margin-bottom:32px}.shelf{display:flex;align-items:end;gap:5.7%;position:relative;padding:0 3% 12px;min-height:165px}.shelf:after{content:'';position:absolute;bottom:0;left:0;right:0;height:12px;background:linear-gradient(#ece3bd,#d7ceb0);box-shadow:0 7px 5px #4c4b3528}.book{width:16%;flex-shrink:0;position:relative;transition:transform .2s}.book img{width:100%;height:auto;object-fit:contain;box-shadow:2px 2px 6px #46382d40}.book[href]:hover{transform:translateY(-7px)}.shelf-heading{display:flex;justify-content:space-between;gap:20px}.shelf-heading>span{font-size:12px;color:#8c8577}.sample{background:#344d5e;color:#e9dfc9;aspect-ratio:47/66;padding:10px 5px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e8dfc7;outline:2px solid #344d5e;margin:2px;box-shadow:2px 3px 5px #46382d40}.sample.rose{background:#79616a;outline-color:#79616a}.sample span,.sample small{font-size:clamp(7px,.65vw,11px)}.sample strong{font-weight:400;font-size:clamp(15px,1.7vw,26px);line-height:1.1}.closing{background:var(--blue);color:var(--gold);padding:40px 6.3% 0}.newsletter{text-align:center;padding:0 0 55px}.newsletter h2{font-size:clamp(32px,3.4vw,52px);line-height:1.15}.newsletter>p{font-size:clamp(16px,1.7vw,25px);line-height:1.15;margin:15px auto 24px}.newsletter form{display:flex;width:min(430px,100%);margin:auto;border-bottom:1px solid #d6cda57a}.newsletter input[type=email]{min-width:0;flex:1;border:0;background:transparent;color:var(--gold);padding:12px 0;font-size:17px}.newsletter input::placeholder{color:#c6c0a3}.newsletter button{background:none;border:0;color:var(--gold);padding:12px;font-size:15px}.newsletter button:disabled{opacity:.6}.newsletter #newsletter-status{font-size:16px;margin:12px auto 0;max-width:450px}.contact{border-top:1px solid #d6cda5a0;display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:30px 8% 55px;align-items:end}.contact h2{font-size:clamp(45px,6vw,95px)}.contact>div{padding-bottom:10px}.contact a{display:block;border-bottom:1px solid #d6cda53b;padding-bottom:18px;font:13px/1.6 var(--sans)}.contact a span{font-size:11px;color:#b4b6a9}.contact b{float:right;font-weight:400}.contact p{font:13px/1.5 var(--sans);margin-top:24px;max-width:410px}footer{background:#29291f;color:#d6cda5;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 8%;font:10px var(--sans)}.footer-brand{font:21px var(--serif)}footer nav{display:flex;gap:20px}footer a:hover{text-decoration:underline}[hidden]{display:none!important}
@media(min-width:1500px){body{max-width:1800px;margin:auto}}
@media(max-width:800px){.hero{padding-bottom:40px}.hero p{padding-top:65px;margin-left:-20px}.about>div{padding-right:10%}.about p+p{margin-top:18px}.services{padding-top:50px}.service{gap:12px;min-height:100px}.partners{padding-top:25px}.partners{column-gap:25px}.partner-visual{padding-top:0}.partner-links{gap:13px;padding-right:0}.partner-copy p{font-size:14px}.library{padding:40px 7% 50px}.shelf-group h3{font-size:23px;margin-bottom:25px}.shelf{min-height:140px}.book{width:20%}.newsletter{padding-bottom:35px}.contact{padding-inline:4%}footer{padding-inline:6%;flex-wrap:wrap}.footer-brand{font-size:18px}}
@media(max-width:560px){.ribbon{align-items:flex-start;flex-direction:column;gap:5px;font-size:15px;padding:12px 6%}.ribbon-brand{font-size:21px}.ribbon-links{width:100%;justify-content:space-between;gap:8px}.hero{display:block;padding:25px 6% 33px}h1{font-size:48px}.hero p{padding-top:24px;margin-left:0;text-align:left;font-size:19px;max-width:380px}.hero p br{display:none}.about{grid-template-columns:1fr;padding-top:0;padding-bottom:10px}.about-photo{aspect-ratio:1225/887}.about img{max-height:none;object-position:65% 35%}.about>div{padding:25px 7%}.about p{font-size:23px}.services{padding:40px 6% 20px}.section-head{display:block;margin-bottom:30px}h2{font-size:43px}.section-head>p{max-width:100%;font-size:18px;margin-top:22px}.service{grid-template-columns:22px 1fr 24px;padding:23px 0;gap:10px}.service h3{font-size:25px}.service p{grid-column:2;grid-row:2;font-size:12px}.service .arrow{grid-column:3;grid-row:1}.partners{grid-template-columns:1fr;padding:30px 7%;row-gap:20px}.partner-copy{padding:0}.partners-title{font-size:40px;white-space:normal}.partner-copy p{font-size:18px;line-height:1.3}.partner-visual{padding-top:8px}.partner-links{padding:18px 0 0;gap:14px}.partner-links span{font-size:10px;display:block;min-height:28px}.partner-links h3{font-size:22px}.partner-links a{font-size:12px;line-height:1.5;min-height:32px}.library{padding:35px 6% 45px}.library .section-head>p{max-width:100%;font-size:13px;margin-top:22px}.eyebrow{font-size:9px;margin-bottom:18px}.library-tools{display:block}.filters{justify-content:space-between}.filters button{font-size:10px;padding:11px}.search{display:block;width:100%;margin-top:7px}.search input{font-size:13px}.library-note{font-size:12px;margin-bottom:25px}.shelf{gap:9%;min-height:150px}.book{width:25%}.sample strong{font-size:19px}.sample span,.sample small{font-size:8px}.shelf-heading>span{font-size:10px}.shelf-group h3{font-size:23px}.closing{padding:30px 6% 0}.newsletter h2{font-size:33px}.newsletter>p{font-size:18px}.newsletter>p br{display:none}.contact{display:block;padding:30px 0}.contact h2{font-size:54px;margin-bottom:30px}.contact p{font-size:12px}.contact a{font-size:13px}footer{display:block;padding:25px 6%}.footer-brand{font-size:21px}footer p{margin-top:15px}footer nav{flex-wrap:wrap;margin-top:20px;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
