:root{--ink:#22332d;--forest:#173d39;--leather:#816344;--body:#515950;--serif:'EB Garamond',Georgia,serif;--sans:'Libre Franklin',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:400 15px/1.85 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:#e2d6bf;color:var(--forest)}:focus-visible{outline:3px solid #b88b4c;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-60px;left:20px;background:white;padding:8px 18px;z-index:100}.skip:focus{top:12px}.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:26px 5.5%;color:white;border-bottom:1px solid #ffffff30}.wordmark{font:500 23px/1 var(--serif);letter-spacing:.14em}.site-header nav{display:flex;gap:32px;font-size:12px}.site-header nav a,.footer nav a{position:relative;padding:6px 0}.site-header nav a:after,.footer nav a:after{content:'';position:absolute;bottom:1px;left:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.footer nav a:hover:after{transform:scaleX(1)}.hero{height:760px;min-height:660px;max-height:1000px;height:94svh;position:relative;overflow:hidden;background:#35423d;color:white}.hero-photo{position:absolute;width:100%;height:125%;top:-12%;object-fit:cover;object-position:center 54%;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,25,23,.75),rgba(9,25,23,.25) 50%,rgba(9,25,23,.08)),linear-gradient(0deg,rgba(9,25,23,.5),transparent 45%)}.hero-copy{position:absolute;top:29%;left:10%;width:min(44%,550px)}.eyebrow{font:500 10px/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 25px;color:var(--leather)}.hero .eyebrow,.footer .eyebrow{color:#e8dbc3}.signature{background:currentColor;mask:url('./images/signature.svg') center/contain no-repeat;-webkit-mask:url('./images/signature.svg') center/contain no-repeat;aspect-ratio:3.3}.hero-signature{width:100%;color:white;background:none;mask:none;-webkit-mask:none;aspect-ratio:3.3;filter:drop-shadow(0 3px 7px #0003)}.hero-signature svg{display:block;width:100%;height:100%;overflow:visible}.pen-stroke{stroke-dasharray:1;stroke-dashoffset:1;animation:pen-write var(--stroke-time) linear var(--stroke-delay) forwards}@keyframes pen-write{to{stroke-dashoffset:0}}.hero-intro{font:400 clamp(24px,2.1vw,32px)/1.25 var(--serif);margin:32px 0 29px;max-width:440px;text-shadow:0 2px 16px #0004}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font:500 12px/1.5 var(--sans);padding:17px 23px;border:1px solid transparent;border-radius:2px;transition:transform .25s,box-shadow .25s,background .25s;box-shadow:0 5px 12px #0002}.button span{font-size:19px;transition:transform .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 20px #0003}.button:hover span{transform:translate(2px,-2px)}.button:active{transform:translateY(1px);box-shadow:0 2px 4px #0002}.button-light{background:#fff;color:var(--forest)}.button-light:hover{background:#eee8df}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:#284d43}.scroll-cue{position:absolute;bottom:35px;left:10%;display:flex;align-items:center;gap:30px;font-size:9px;letter-spacing:.18em}.scroll-cue span:last-child{font-size:25px;transition:transform .3s}.scroll-cue:hover span:last-child{transform:translateY(5px)}.hero-location{position:absolute;bottom:46px;right:5.5%;font-size:9px;letter-spacing:.13em}.section-width{width:min(1060px,84%);margin:auto}.book-section{display:grid;grid-template-columns:44% 48%;gap:8%;align-items:center;padding:140px 0 110px}.book-visual{text-align:center;padding:10px 50px;perspective:1100px}.book-object{position:relative;width:100%;max-width:300px;margin:auto;transform:rotate(-4deg) rotateY(-9deg);transform-style:preserve-3d;transition:transform .55s}.book-object:before{content:'';position:absolute;inset:4px -8px 1px 5px;background:repeating-linear-gradient(0deg,#ddd4c2 0,#fff9ee 1px,#dfd7c7 2px);transform:translateZ(-3px);box-shadow:0 32px 35px -15px #1b302d70,17px 11px 18px #1b302d24}.book-object:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0007 0,transparent 3%,#ffffff22 4%,transparent 7%);pointer-events:none}.book-object img{position:relative;width:100%;height:auto;aspect-ratio:5/8;box-shadow:3px 0 5px #0003}.book-object:hover{transform:rotate(-1deg) rotateY(0) translateY(-9px)}.object-caption{font-size:8px;letter-spacing:.15em;color:var(--leather);margin:45px -25px 0}.book-copy h2{font:400 clamp(38px,3.5vw,53px)/1.02 var(--serif);margin:0 0 27px;letter-spacing:-.025em}.title-join{display:block;font-style:italic;font-size:.57em;line-height:1.8;color:var(--leather)}.lead{font:400 25px/1.3 var(--serif);color:var(--ink);margin:0 0 23px}.book-copy>p:not(.eyebrow):not(.lead):not(.book-note),.about-copy>p:not(.eyebrow):not(.lead){color:var(--body);font-size:13px;line-height:1.9}.book-copy .button{margin-top:13px}.book-note{font:italic 16px var(--serif);margin-top:22px;color:var(--leather)}.about-section{display:grid;grid-template-columns:46% 46%;gap:8%;padding:115px 0 145px;align-items:center}.about-copy h2{font:400 57px/1.05 var(--serif);margin:0 0 28px}.text-button{display:inline-flex;align-items:center;gap:26px;font:500 12px/1.5 var(--sans);padding:12px 0;background:none;border:0;border-bottom:1px solid #b6b8ac;transition:color .2s,gap .2s}.text-button:hover{color:var(--leather);gap:34px}.ink-signature{width:225px;color:var(--forest);margin-top:33px}.photo-area{padding:20px 0}.photo-stack{display:block;position:relative;width:100%;height:425px;background:transparent;border:0;perspective:1000px;isolation:isolate}.photo-card{display:block;position:absolute;left:calc(50% - 140px);top:25px;width:280px;height:335px;background:#fff;padding:11px 11px 0;box-shadow:0 15px 25px -13px #23392c77,0 2px 5px #2033292b;transform-origin:50% 70%;transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s;will-change:transform}.photo-card img{width:100%;height:272px;object-fit:cover}.photo-card>span{display:block;color:var(--leather);font:italic 15px/1 var(--serif);padding-top:18px}.card-back{transform:translate(20px,-13px) rotate(12deg);z-index:1}.card-middle{transform:translate(-22px,18px) rotate(-13deg);z-index:2}.card-front{transform:translate(5px,15px) rotate(3deg);z-index:3}.card-front img{object-position:55% center}.photo-stack.is-open .card-back{transform:translate(96px,-30px) rotate(16deg)}.photo-stack.is-open .card-middle{transform:translate(-100px,-10px) rotate(-17deg)}.photo-stack.is-open .card-front{transform:translate(0,95px) rotate(0)}@media(hover:hover){.photo-stack:hover .card-back{transform:translate(96px,-30px) rotate(16deg)}.photo-stack:hover .card-middle{transform:translate(-100px,-10px) rotate(-17deg)}.photo-stack:hover .card-front{transform:translate(0,95px) rotate(0)}}.photo-hint{text-align:center;font:italic 17px var(--serif);color:var(--leather);margin:10px 0 0}.photo-hint span{padding-left:8px}.next-section{text-align:center;padding:80px 0 150px}.next-section h2{font:400 clamp(40px,4.5vw,65px)/1.08 var(--serif);margin:0 0 23px;letter-spacing:-.02em}.next-section>p:not(.eyebrow){font-size:13px;color:var(--body)}.next-section .text-button{margin-top:12px}.footer{height:490px;position:relative;overflow:hidden;background:#483c29;color:white}.footer-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 70%}.footer-shade{position:absolute;inset:0;background:rgba(23,24,15,.72)}.footer-content{position:relative;text-align:center;padding:105px 20px 45px}.footer-signature{width:300px;margin:0 auto 33px}.footer nav{display:flex;gap:36px;justify-content:center;font-size:11px}.copyright{margin-top:48px;font-size:10px;opacity:.8}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}.motion .reveal.visible{opacity:1;transform:none}dialog{border:0;padding:55px;max-width:720px;width:calc(100% - 32px);max-height:86svh;color:var(--ink);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#142c28b8;backdrop-filter:blur(7px)}dialog h2{font:400 36px/1.1 var(--serif);margin:0 0 30px}dialog p:not(.eyebrow){font-size:14px;color:var(--body);line-height:1.9}.dialog-close{position:absolute;right:20px;top:15px;border:0;background:none;color:var(--ink);font-size:32px;line-height:1}.dialog-close:hover{transform:rotate(90deg);transition:transform .3s}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero-copy{left:calc((100vw - 1300px)/2)}.hero-photo{object-position:center 60%}}
@media(max-width:900px){.hero-copy{left:7%;width:49%;top:32%}.hero-intro{font-size:26px}.hero-location{display:none}.book-section{grid-template-columns:40% 54%;gap:6%;padding-top:100px}.book-visual{padding:10px 15px}.about-section{gap:5%;grid-template-columns:48% 47%}.photo-card{width:225px;height:286px;left:calc(50% - 112px)}.photo-card img{height:224px}.photo-stack.is-open .card-back{transform:translate(48px,-25px) rotate(14deg)}.photo-stack.is-open .card-middle{transform:translate(-50px,-5px) rotate(-15deg)}}
@media(max-width:600px){body{font-size:14px}.site-header{padding:23px 6%;align-items:start}.wordmark{font-size:17px;letter-spacing:.1em}.site-header nav{gap:17px;font-size:10px}.site-header nav a:last-child{display:none}.hero{height:86svh;min-height:650px;max-height:850px}.hero-photo{object-position:59% center;height:120%;top:-10%}.hero-shade{background:linear-gradient(90deg,#10282495,#10282412),linear-gradient(0deg,#102824ab,transparent 70%)}.hero-copy{left:8%;width:84%;top:auto;bottom:125px}.hero-signature{width:90%;max-width:360px}.hero-copy .eyebrow{margin-bottom:16px}.hero-intro{font-size:27px;margin:22px 0 25px;text-shadow:0 2px 15px #0008}.hero .button{padding:15px 21px;font-size:11px}.scroll-cue{left:8%;bottom:27px}.section-width{width:84%}.book-section{display:flex;flex-direction:column;padding:85px 0 55px;gap:65px}.book-visual{width:80%;max-width:290px;padding:0 15px}.object-caption{margin-top:35px;font-size:7px}.book-copy h2{font-size:44px}.book-copy .eyebrow{margin-bottom:21px}.book-copy>p:not(.eyebrow):not(.lead):not(.book-note),.about-copy>p:not(.eyebrow):not(.lead){font-size:13px}.about-section{display:flex;flex-direction:column;padding:70px 0 50px;gap:45px}.about-copy h2{font-size:48px}.photo-area{width:100%;padding:0}.photo-stack{height:370px}.photo-card{width:215px;height:273px;left:calc(50% - 107px);top:25px}.photo-card img{height:213px}.photo-card>span{font-size:13px}.photo-stack.is-open .card-back{transform:translate(37px,-7px) rotate(14deg)}.photo-stack.is-open .card-middle{transform:translate(-38px,0) rotate(-15deg)}.photo-stack.is-open .card-front{transform:translate(0,70px) rotate(0)}.photo-hint{font-size:15px}.next-section{padding:85px 0 95px}.next-section h2{font-size:44px}.footer{height:420px}.footer-content{padding:85px 7% 30px}.footer .eyebrow{font-size:8px}.footer-signature{width:255px;margin-bottom:28px}.footer nav{gap:20px;font-size:9px}.copyright{margin-top:40px}dialog{padding:50px 26px 30px}dialog h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.pen-stroke{stroke-dashoffset:0}.motion .reveal{opacity:1;transform:none}.hero-photo{will-change:auto}}

/* Full-screen opening and compact hero controls. Card movement and footer stay locked. */
.hero{height:100vh;height:100dvh;min-height:0;max-height:none}
.hero-copy{top:auto;bottom:clamp(125px,16vh,170px)}
.hero .button{min-height:44px;padding:10px 20px;font-size:12px;gap:28px}
.hero .button span{font-size:16px;line-height:1}
.scroll-cue{min-height:44px;bottom:22px;gap:22px}
.scroll-cue span:last-child{font-size:18px;line-height:1}
.card-middle img{object-position:30% 0%}
@media(max-width:600px){.hero-copy{bottom:115px}.hero-signature{width:85%;max-width:330px}.hero-intro{font-size:25px;margin:18px 0 22px}.hero .button{padding:10px 18px}.scroll-cue{bottom:18px}}
@media(max-height:600px){.site-header{padding-top:17px;padding-bottom:17px}.hero-copy{bottom:86px;width:min(46%,420px)}.hero-copy .eyebrow{margin-bottom:8px}.hero-signature{max-width:300px}.hero-intro{font-size:23px;margin:12px 0 16px}.scroll-cue{bottom:12px}.hero-location{bottom:27px}}
@media(max-height:420px){.hero-copy{bottom:68px}.hero-signature{max-width:210px}.hero-intro{font-size:19px;margin:8px 0 10px}.hero-copy .eyebrow{display:none}.hero .button{min-height:40px;padding:8px 16px}.scroll-cue{bottom:6px}}

@media(max-width:600px) and (max-height:600px){.hero-copy{width:84%}}

/* Selected family B: small chevrons and outline buttons. */
.direction-icon{display:inline-block;width:12px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;transition:transform .25s}
.button-light{background:transparent;color:white;border-color:#ffffffb0;box-shadow:none}
.button-light:hover{background:#fff;color:var(--forest);border-color:#fff;box-shadow:0 6px 16px #0003;transform:translateY(-2px)}
.button-dark{background:transparent;color:var(--forest);border-color:var(--forest);box-shadow:none}
.button-dark:hover{background:var(--forest);color:#fff;box-shadow:0 6px 16px #0002;transform:translateY(-2px)}
.button:hover .direction-icon,.text-button:hover .direction-icon{transform:translateX(3px)}
.button:active{transform:translateY(1px);box-shadow:0 2px 4px #0002}
.scroll-cue .direction-icon{width:12px;height:16px}
.scroll-cue:hover .direction-icon{transform:translateY(3px)}
.photo-hint .direction-icon{margin-left:8px;width:11px;height:14px}
.footer nav .direction-icon{margin-left:5px;width:10px;height:13px}

/* Approved purchase option A; book hover rules remain unchanged. */
.book-purchase{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:25px 0 0}.book-price{font:400 32px/1.2 var(--serif);color:var(--forest)}.book-copy .book-buy{margin:0;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:0;min-height:46px;padding:12px 22px;gap:26px;font-weight:600;font-size:13px;box-shadow:0 7px 15px -8px #173d3980;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.book-copy .book-buy:hover{background:#fff;color:var(--forest);transform:translateY(-2px);box-shadow:0 10px 18px -8px #173d3950}.book-copy .book-buy:active{transform:translateY(1px)}.book-buy .direction-icon{stroke-width:1.4}.book-story-link{display:block;border:0;background:transparent;color:var(--forest);padding:14px 0;margin-top:2px;font:500 12px/1.5 var(--sans);text-decoration:underline;text-underline-offset:5px;cursor:pointer;transition:color .2s}.book-story-link:hover{color:var(--leather)}.book-buy:focus-visible,.book-story-link:focus-visible{outline:3px solid #aa8052;outline-offset:5px}@media(max-width:650px){.book-purchase{gap:18px}.book-price{font-size:30px}}@media(prefers-reduced-motion:reduce){.book-copy .book-buy,.book-story-link{transition:none}}

.footer-socials{display:flex;justify-content:center;align-items:center;gap:12px;margin:28px auto 0}.footer-social-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#1877f2;color:#fff;box-shadow:0 4px 12px #0003;transition:transform .2s,background .2s,box-shadow .2s}.footer-social-icon svg{display:block;flex:none;width:24px;height:24px}a.footer-social-icon:hover{background:#1265d5;transform:translateY(-3px);box-shadow:0 7px 15px #0004}a.footer-social-icon:active{transform:translateY(0)}a.footer-social-icon:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:600px){.footer-social-icon{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.footer-social-icon{transition:none}}
