/* Living library — real covers, dimensional books and a protected typographic center. */
.sl10-hero{position:relative;isolation:isolate;background:#fbfaf6;color:#006838}
.sl10-pin{position:relative;display:flex;flex-direction:column;background:#fbfaf6}
.sl10-meta{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 80px);max-width:1520px;margin:0 auto;padding:16px 0;color:#637c67;font:500 .6875rem/1.4 var(--sl-sans);letter-spacing:.13em;text-transform:uppercase}
.sl10-meta span:first-child{display:flex;align-items:center;gap:9px}
.sl10-meta i{width:6px;height:6px;border-radius:50%;background:#006838}
.sl10-scene{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:8px 35px;flex:1;min-height:0;width:min(1600px,100%);margin:0 auto;padding:12px 9% 30px}
.sl10-title{position:relative;grid-column:1/-1;grid-row:2;z-index:3;max-width:100%;width:fit-content;text-align:center;padding:12px 4px 15px}
.sl-home .sl10-title h1{font-family:Literata,Georgia,serif;font-size:1rem;line-height:1.03;letter-spacing:0;font-weight:450;text-transform:none;white-space:normal;text-wrap:initial;margin:0;color:#006838}
.sl10-title h1>span,.sl10-name>span{display:block}
.sl-home .sl10-title h1>span{color:#006838}
.sl10-name>span{overflow-wrap:anywhere}
.sl-home .sl10-welcome{font:500 1rem/1.5 var(--sl-sans);letter-spacing:.045em;margin-bottom:16px;color:#4b7256}
.sl10-name{font-family:Literata,Georgia,serif;font-weight:450;letter-spacing:-.066em;line-height:.99}
.sl10-name>span:first-child{font-size:clamp(3.5rem,min(8.5vw,11.5svh),8rem);font-weight:500;letter-spacing:-.075em}
.sl10-name>span:last-child{font-size:clamp(2.5rem,min(5.8vw,8.7svh),5.625rem);margin-top:7px}
.sl-home .sl10-city{font:550 .8125rem/1.5 var(--sl-sans);text-transform:uppercase;letter-spacing:.19em;margin-top:22px;color:#56745b}
.sl10-title:after{content:"";display:block;width:36px;height:2px;margin:19px auto 0;background:#b8cf7b}
.sl10-book{--paper:#f1e6cb;--cover:#4b765d;position:relative;z-index:2;display:grid;place-items:center;width:200px;height:200px;pointer-events:none;perspective:800px;transform-origin:center;grid-row:1}
.sl10-book:nth-of-type(2n){grid-column:2;transform:rotate(17deg)}
.sl10-book:nth-of-type(2n+1){grid-column:1;transform:rotate(-19deg)}
.sl10-book:nth-of-type(n+4){grid-row:3}
.sl10-book:nth-of-type(n+6){display:none}
.sl10-model{position:relative;width:var(--book-width,112px);height:176px;transform-style:preserve-3d;transform:rotateX(12deg) rotateY(-28deg)}
.sl10-face{position:absolute;inset:0;border-radius:2px 5px 5px 2px;background:var(--cover);backface-visibility:hidden}
.sl10-face-front{transform:translateZ(9px);box-shadow:inset 4px 0 4px #0003,2px 5px 10px #18392115}
.sl10-face-front:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#0004,transparent 4%,#ffffff50 5%,transparent 9%,transparent 75%,#ffffff18);pointer-events:none}
.sl10-face-front img{display:block;width:100%;height:100%;object-fit:fill;border-radius:inherit}
.sl10-face-back{transform:rotateY(180deg) translateZ(9px);box-shadow:inset 0 0 0 1px #ffffff25}
.sl10-spine{position:absolute;left:-9px;top:0;width:18px;height:176px;background:linear-gradient(90deg,#0003,transparent 35%,#fff2 65%,#0002),var(--cover);transform:rotateY(-90deg);border-radius:3px}
.sl10-pages{position:absolute;right:-8px;top:3px;width:16px;height:170px;background:repeating-linear-gradient(90deg,#ded4bd 0 1px,#fff5df 1px 3px);transform:rotateY(90deg)}
.sl10-pages-top,.sl10-book:not(.sl10-book-open) .sl10-model:after{position:absolute;left:3px;width:calc(100% - 6px);height:16px;background:repeating-linear-gradient(0deg,#d9cfb6 0 1px,#fff4db 1px 3px)}
.sl10-pages-top{top:-6px;transform:rotateX(90deg)}
.sl10-book:not(.sl10-book-open) .sl10-model:after{content:"";bottom:-6px;transform:rotateX(-90deg)}
.sl10-book-open .sl10-model{width:168px;height:168px;transform:rotateX(12deg) rotateY(10deg)}
.sl10-book-open picture,.sl10-book-open img{display:block;width:100%;height:100%;object-fit:contain}
.sl10-toolbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;flex:none;width:min(1440px,calc(100% - 80px));margin:0 auto;padding:17px 0 20px;border-top:1px solid #d8e1d2}
.sl10-actions,.sl10-controls{display:flex;align-items:center;gap:24px}
.sl-home .sl10-primary{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;min-height:54px;padding:13px 22px;background:#006838;color:#fff;border:1px solid #006838;border-radius:2px;font:600 1rem/1.5 var(--sl-sans)}
.sl10-primary span{font-size:24px;line-height:1}
.sl-home .sl10-primary:hover{background:#004d29}
.sl-home .sl10-reserve{display:inline-flex;align-items:center;gap:12px;min-height:44px;font:550 .9375rem/1.5 var(--sl-sans);border-bottom:1px solid #a7bca6;color:#006838}
.sl10-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:0;background:transparent;color:#536e58;font:500 .75rem/1.4 var(--sl-sans);cursor:pointer;padding:8px 0}
.sl10-toggle:before{content:"Ⅱ";display:grid;place-items:center;width:30px;height:30px;border:1px solid #c5d2bd;border-radius:50%;font-size:14px}
.sl10-toggle[aria-pressed=true]:before{content:"▷"}
.sl10-toggle[hidden]{display:none!important}
.sl-home .sl10-scroll{display:inline-flex;align-items:center;gap:13px;font:500 .75rem/1.4 var(--sl-sans);min-height:44px;color:#536e58}
.sl10-scroll span{font-size:23px;color:#006838}
.sl10-hero :where(a,button):focus-visible{outline:3px solid #006838;outline-offset:5px}
.sl10-hero.is-living{padding-bottom:60svh}
.sl10-hero.is-living .sl10-pin{position:sticky;top:0;height:calc(100svh - 112px);min-height:650px;max-height:940px}
.sl10-hero.is-living .sl10-scene{display:block;padding:0}
.sl10-hero.is-living .sl10-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:62%}
.sl10-hero.is-living .sl10-book{position:absolute;top:0;left:0;display:grid;will-change:transform;grid-area:auto}
.sl10-hero.is-living .sl10-model{will-change:transform}
@media(max-width:1100px){
 .sl10-meta,.sl10-toolbar{width:calc(100% - 48px)}
 .sl10-controls,.sl10-actions{gap:16px}
 .sl10-name>span:first-child{font-size:clamp(3.5rem,8vw,5.6rem)}
 .sl10-name>span:last-child{font-size:clamp(2.5rem,5.6vw,3.9rem)}
 .sl10-hero.is-living .sl10-pin{min-height:610px}
}
@media(max-width:700px){
 .sl10-meta{width:calc(100% - 36px);padding:13px 0;font-size:.5625rem;letter-spacing:.1em}
 .sl10-meta>span:last-child{display:none}
 .sl10-meta span:first-child{margin:auto}
 .sl10-scene{padding:5px 14px 16px;gap:0 18px}
 .sl10-title{padding:10px 0}
 .sl10-name>span:first-child{font-size:clamp(2.2rem,9.5vw,4.4rem)}
 .sl10-name>span:last-child{font-size:clamp(1.65rem,7.2vw,3.3rem);letter-spacing:-.066em}
 .sl-home .sl10-welcome{font-size:.8125rem;letter-spacing:.01em;margin-bottom:13px}
 .sl-home .sl10-city{font-size:.6875rem;margin-top:16px;letter-spacing:.15em}
 .sl10-title:after{margin-top:14px;width:26px}
 .sl10-book{width:100px;height:100px}
 .sl10-book .sl10-model{scale:.5}
 .sl10-book:nth-of-type(n+6){display:none}
 .sl10-toolbar{width:calc(100% - 36px);flex-direction:column;align-items:stretch;gap:8px;padding:12px 0 10px}
 .sl10-actions{justify-content:center;flex-wrap:wrap;gap:10px 16px}
 .sl-home .sl10-primary{font-size:.875rem;min-height:48px;padding:10px 14px;gap:18px}
 .sl-home .sl10-reserve{font-size:.8125rem;gap:8px}
 .sl10-controls{justify-content:space-between;gap:12px}
 .sl10-toggle,.sl-home .sl10-scroll{font-size:.6875rem}
 .sl10-hero.is-living{padding-bottom:70svh}
 .sl10-hero.is-living .sl10-pin{height:calc(100svh - 108px);min-height:min(600px,calc(100svh - 12px))}
 .sl10-hero.is-living .sl10-title{max-width:58%}
 .sl10-hero.is-living .sl10-book{width:200px;height:200px}
 .sl10-hero.is-living .sl10-book .sl10-model{scale:1}
 .sl10-hero.is-living .sl10-book:nth-of-type(n+6){display:none}
}
@media(max-width:359px){.sl-home .sl10-primary{gap:10px;padding-inline:10px;font-size:.8125rem}.sl-home .sl10-reserve{font-size:.75rem;gap:4px}.sl10-actions{gap:10px}.sl10-name>span:first-child{font-size:2.15rem}}
@media(prefers-reduced-motion:no-preference){
 .sl10-title{animation:sl10-arrival .85s both}
 @keyframes sl10-arrival{from{opacity:.4;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
}
@media(prefers-reduced-motion:reduce){.sl10-hero *{animation:none!important;transition:none!important}.sl10-toggle{display:none!important}}
@media(forced-colors:active){.sl10-primary,.sl10-toggle:before{border:1px solid CanvasText}}
