.notebook-main{padding-top:10rem;max-width:1440px;margin:auto}.notebook-intro{max-width:850px;margin-bottom:2.8rem}.notebook-intro h1{font-size:clamp(2.3rem,4.6vw,4.5rem);line-height:1.1;max-width:14ch;margin:1rem 0}.notebook-intro>p:last-child{max-width:65ch;font-size:1.1rem;line-height:1.7}.notebook-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2.3rem;align-items:start}.notebook-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.notebook-card{position:relative;padding:0;text-align:start;overflow:hidden;background:#fff;border:1px solid #d7cbb9;border-radius:2px;cursor:pointer;color:#292723;font:inherit;box-shadow:0 5px 18px #211d1608;transition:border-color .2s,box-shadow .2s}.notebook-card>img:not(.ip-photo-mark){display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.notebook-card-title,.notebook-card-action{display:block;padding:1rem 1.1rem;font-size:1rem;line-height:1.45}.notebook-card-action{padding-top:0;color:#775532;font-weight:600}.notebook-card[aria-pressed=true]{border:2px solid #8c693e;box-shadow:0 0 0 2px #8c693e30}.notebook-card:focus-visible,.notebook-remove:focus-visible{outline:3px solid #53796c;outline-offset:4px}.notebook-panel{position:sticky;top:150px;background:#f0ebe3;border-top:3px solid #987647;padding:1.4rem}.notebook-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.notebook-panel h2{font-size:1.45rem;margin:0}.notebook-panel-heading>span{font-size:1rem;white-space:nowrap;border:1px solid #a88b66;padding:.5rem}.notebook-panel [role=status]{font-size:.9rem;line-height:1.5;min-height:1.5rem}.notebook-selected{border-bottom:1px solid #c5bba9;padding:1.2rem 0}.notebook-selected-top{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:.8rem;position:relative}.notebook-selected-top>img:not(.ip-photo-mark){width:100%;aspect-ratio:4/3;object-fit:cover}.notebook-selected h3{font-size:.9rem;line-height:1.45;margin:0}.notebook-selected label{display:block;font-size:.95rem;margin:.9rem 0 .5rem}.notebook-selected textarea{width:100%;background:#fff;padding:.8rem;border:1px solid #b6ab99;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;box-sizing:border-box}.notebook-remove{border:0;background:none;padding:.7rem 0;color:#735033;font:inherit;cursor:pointer;min-height:44px;text-decoration:underline}.notebook-next-copy,.notebook-temporary{font-size:.9rem;line-height:1.6}.notebook-panel>.button{display:flex;text-align:center;justify-content:center;width:100%;box-sizing:border-box;font-size:.9rem}.notebook-upload{grid-column:1/-1;border:1px solid #c8b99f;border-top:3px solid #987647;padding:1.3rem;margin-bottom:1.5rem}.notebook-upload h2{font-size:1.5rem}.notebook-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.notebook-upload-grid figure{position:relative;margin:0}.notebook-upload-grid img:not(.ip-photo-mark){width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.notebook-upload-grid figcaption{font-size:.95rem;line-height:1.45;margin-top:.7rem}.notebook-upload-grid p{white-space:pre-wrap;font-size:1rem}.notebook-invitation{margin:2.5rem auto;padding:2rem;border-block:1px solid #d6c9b4;max-width:1280px}.notebook-invitation h2{font-size:clamp(1.6rem,3vw,2.7rem);margin:.5rem 0}.notebook-invitation p{max-width:70ch;line-height:1.7}.notebook-empty{line-height:1.8;color:#615847}.notebook-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.notebook-admin-grid img{width:100%;max-width:350px;height:auto}.notebook-admin-grid figure{margin:0}.notebook-admin-grid p{white-space:pre-wrap}
@media(max-width:950px){.notebook-layout{grid-template-columns:1fr}.notebook-panel{position:static}.notebook-main{padding-top:9rem}.notebook-panel-heading{position:sticky;top:0;background:#f0ebe3;padding-block:.7rem}.notebook-selected-top{grid-template-columns:120px 1fr}}
@media(max-width:600px){.notebook-gallery{grid-template-columns:1fr}.notebook-main{padding-inline:1.2rem}.notebook-upload-grid{grid-template-columns:1fr}.notebook-invitation{margin:2rem 1rem;padding:1.5rem 0}.notebook-admin-grid{grid-template-columns:1fr}}

.plan-metric{border:1px solid #c8b99f;background:#f5f1e9;padding:1.4rem;margin:1.4rem 0}.plan-metric h2{font-size:1.45rem}.plan-metric label{display:block;margin-top:1rem;font-size:1rem}.plan-metric p{font-size:1rem;line-height:1.65}.plan-metric input,.plan-metric select{width:100%;box-sizing:border-box}

.metric-warning{padding:1rem;border-inline-start:3px solid #987647;background:#fff}.metric-warning strong{font-weight:600}

.plan-metric .metric-confirm{display:flex;gap:.8rem;align-items:flex-start;line-height:1.6}.plan-metric .metric-confirm[hidden]{display:none}.plan-metric .metric-confirm input{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px;margin-top:4px}
.notebook-mobilebar{display:none}.notebook-main .notebook-panel{max-height:calc(100dvh - 180px);overflow:auto}body:has(.notebook-main) .whatsapp{display:none!important}
@media(max-width:950px){.notebook-main .notebook-panel{max-height:none;overflow:visible}.notebook-mobilebar{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:1rem;inset:auto 0 0;background:#20211e;color:#fff;padding:1rem 1.2rem;z-index:40;border-top:2px solid #a58352}.notebook-mobilebar a{color:#fff;font-size:1rem;text-decoration:none}.notebook-mobilebar span{font-size:1rem;white-space:nowrap}body:has(.notebook-main){padding-bottom:80px}.notebook-panel{scroll-margin-top:130px}}

.contact-notebook-priority{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;margin:clamp(2rem,4vw,4rem) var(--pad) 0;padding:clamp(2rem,4vw,4rem);max-width:none;background:#eee8df;border:1px solid #d6c9b4;border-inline-start:4px solid #987647}.contact-notebook-priority h2{font-family:var(--serif);font-size:clamp(2.4rem,4.5vw,4.5rem);font-weight:300;line-height:1.1;letter-spacing:-.04em;max-width:18ch;margin:.5rem 0 1.2rem}.contact-notebook-priority p{font-size:1.1rem;max-width:65ch}.contact-notebook-priority .eyebrow{font-size:.8rem;color:#735332}.contact-notebook-priority>.button{font-size:1rem;min-height:56px;padding:1.1rem 1.5rem;white-space:normal;text-align:center;max-width:22rem}.contact-page:has(>#contact-form):not(:has(.notebook-invitation)){grid-template-columns:minmax(0,1fr);max-width:1280px;margin-inline:auto;padding-top:clamp(2rem,4vw,4rem)}@media(max-width:900px){.contact-notebook-priority{grid-template-columns:1fr}.contact-notebook-priority>.button{width:100%;max-width:none}.contact-notebook-priority h2{font-size:clamp(2.2rem,7vw,3.3rem)}}

.contact-notebook-priority .project-upload-explanation{font-size:1rem;line-height:1.6;border-top:1px solid #cbbb9f;padding-top:1.1rem;margin-top:1.2rem}.contact-plan-path{padding-top:2rem;padding-bottom:3rem;max-width:1280px;margin-inline:auto}.contact-plan-path>.plan-contact-entry{margin:0;padding:2rem}.contact-whatsapp-section{border-top:1px solid #bca582;padding-top:clamp(3rem,5vw,5rem)!important}.contact-whatsapp-intro h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;letter-spacing:-.03em}.contact-whatsapp-intro p{max-width:70ch;font-size:1rem;line-height:1.7}.contact-whatsapp-section>.contact-form{margin-top:2rem}.contact-plan-path .button,.contact-whatsapp-section .button{max-width:100%;white-space:normal;text-align:center}
body:has(.contact-whatsapp-section) .whatsapp{display:none!important}

/* One upload route in the notebook; WhatsApp immediately above its form. */
.notebook-entry-actions{display:flex;flex-direction:column;gap:1.2rem;align-items:stretch;max-width:24rem}.notebook-direct-upload{font-size:1rem;line-height:1.5;text-decoration:underline;text-underline-offset:5px;color:#665035}.contact-whatsapp-section{display:block!important;padding-top:3rem!important;padding-bottom:3rem!important;max-width:1000px;margin-inline:auto}.contact-whatsapp-intro{max-width:100%}.contact-whatsapp-intro>p{margin-bottom:0}.contact-whatsapp-section .contact-form{margin-top:1.5rem!important}.contact-whatsapp-intro h2{font-size:clamp(1.9rem,3vw,2.8rem)!important}@media(max-width:700px){.notebook-entry-actions{max-width:none;width:100%}}

/* Contact page: compact editorial hierarchy, two unmistakable routes. */
body:has(.contact-notebook-priority) .page-hero{min-height:48svh;max-height:620px}
body:has(.contact-notebook-priority) .page-hero-copy{padding-block:10rem 2.5rem}
body:has(.contact-notebook-priority) .page-hero h1{font-size:clamp(3rem,6vw,5.8rem)}
body:has(.contact-notebook-priority) .page-hero-copy>p:last-child{margin-block:1rem 0;line-height:1.45}
.contact-notebook-priority{max-width:1280px;margin:2rem auto 0;padding:clamp(1.5rem,3vw,2.8rem);background:#202722;color:#fff;border:1px solid #3c473f;border-inline-start:4px solid #b79566;grid-template-columns:minmax(0,1fr) minmax(210px,.4fr);gap:2rem;box-shadow:0 18px 45px #2027220c}
.contact-notebook-priority .eyebrow{color:#d4b78e;margin:0 0 .8rem;display:flex;align-items:center;gap:.8rem;font-size:.8rem}
.contact-step{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid #ad906a;font-size:.85rem;letter-spacing:.08em;color:#a58152;flex:0 0 auto}
.contact-notebook-priority .contact-step{color:#e1c49b;border-color:#807058}
.contact-notebook-priority h2{font-weight:400;font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.06;max-width:21ch;margin:0 0 1rem}
.contact-notebook-priority p{font-size:1.05rem;line-height:1.48;margin:.65rem 0;color:#e5e8e1;max-width:68ch}
.contact-notebook-priority .project-upload-explanation{padding-top:.8rem;margin-top:.8rem;border-color:#ffffff2b;font-size:.95rem;line-height:1.48;color:#bbc7be}
.notebook-entry-actions{gap:.8rem}.notebook-entry-actions .button{background:#d3b489;border-color:#d3b489;color:#1c241f;min-height:54px;font-size:.85rem;letter-spacing:.07em;text-align:center;padding:1rem}
.contact-notebook-priority .notebook-direct-upload{color:#e2cba9;font-size:.95rem;line-height:1.4;text-align:center;padding:.5rem 0}
.contact-whatsapp-section{max-width:1280px;padding:2rem 0!important;margin:0 auto;border:0}
.contact-whatsapp-intro{display:grid;grid-template-columns:auto 1fr;gap:.4rem .8rem;align-items:center}
.contact-whatsapp-intro h2{font-size:clamp(1.8rem,3vw,2.7rem)!important;font-weight:400;line-height:1.1;margin:0}
.contact-whatsapp-intro>p{grid-column:2;margin:.3rem 0 0;line-height:1.45;max-width:80ch}
.contact-whatsapp-section .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin-top:1rem!important;padding:1.5rem 2rem;border:1px solid #d6d6cc;box-shadow:0 .7rem 2rem #20232108;background:#fcfcf8}
.contact-whatsapp-section .contact-form>.field{padding:.6rem 0}
.contact-whatsapp-section .contact-form>.field:has(textarea),.contact-whatsapp-section .contact-form>:not(.field){grid-column:1/-1}
.contact-whatsapp-section .contact-form>.eyebrow{margin:0 0 .5rem;font-size:.8rem}
.contact-whatsapp-section .field input,.contact-whatsapp-section .field select{min-height:40px;padding:.15rem 0}
.contact-whatsapp-section .field textarea{min-height:90px;padding:.3rem 0}
.contact-whatsapp-section .field label{font-size:.8rem;letter-spacing:.07em}
.contact-whatsapp-section .privacy{margin:1rem 0;font-size:.85rem;line-height:1.45}
.contact-whatsapp-section .form-note{margin:.7rem 0 0;line-height:1.45;font-size:.9rem}
body:has(.contact-notebook-priority) #photo-rights{max-width:1280px;margin:0 auto;padding:1rem 0 1.5rem!important;border-top:1px solid #cecec7}
body:has(.contact-notebook-priority) #photo-rights h2{font-size:1.2rem!important;margin:0 0 .45rem}
body:has(.contact-notebook-priority) #photo-rights p{margin:.35rem 0;font-size:.85rem;line-height:1.4;max-width:100ch}
@media(max-width:1360px){.contact-notebook-priority,.contact-whatsapp-section,body:has(.contact-notebook-priority) #photo-rights{margin-inline:var(--pad)}}
@media(max-width:700px){.contact-notebook-priority{grid-template-columns:1fr;margin-top:1.2rem;gap:1rem}.contact-notebook-priority h2{font-size:2.5rem}.contact-whatsapp-section{padding-block:1.5rem!important}.contact-whatsapp-intro>p{grid-column:1/-1}.contact-whatsapp-section .contact-form{grid-template-columns:1fr;padding:1rem 1.2rem;gap:0}.contact-whatsapp-section .contact-form>.field{grid-column:1}.contact-notebook-priority p{font-size:1rem}.contact-whatsapp-intro h2{font-size:1.9rem!important}body:has(.contact-notebook-priority) .page-hero{min-height:400px;max-height:none}body:has(.contact-notebook-priority) .page-hero-copy{padding-block:9rem 2rem}}

@media(max-width:700px){.contact-whatsapp-section{padding:1.5rem var(--pad)!important;margin-inline:0!important}.contact-whatsapp-intro>p{font-size:1rem}.contact-whatsapp-intro .contact-step{width:2rem;height:2rem}}

/* The whole notebook invitation opens its dedicated project path. */
.contact-notebook-priority{position:relative;cursor:pointer}
.contact-notebook-priority .notebook-entry-actions .button::after{content:"";position:absolute;inset:0;z-index:1}
.contact-notebook-priority .notebook-direct-upload{position:relative;z-index:2}
.contact-notebook-priority:hover{border-color:#d3b489}
.contact-notebook-priority:has(.notebook-entry-actions a:focus-visible){outline:3px solid #b68c57;outline-offset:4px}

.contact-notebook-priority .notebook-entry-actions .button::after{display:none}.contact-notebook-priority .notebook-whole-link{position:absolute;inset:0;z-index:1}.contact-notebook-priority .notebook-entry-actions a{position:relative;z-index:2}.contact-notebook-priority:has(.notebook-whole-link:focus-visible){outline:3px solid #b68c57;outline-offset:4px}

.notebook-promise{font:400 clamp(1.3rem,2vw,1.7rem)/1.2 var(--serif)!important;color:#e2cba9!important;margin:0 0 .6rem!important;text-align:center}
.notebook-inline{margin:1.5rem 0 2rem;border:1px solid #c8b99f;border-inline-start:3px solid #987647;padding:1.2rem;background:#f0ebe3}
.notebook-inline>summary{font:500 clamp(1.25rem,2vw,1.6rem)/1.3 var(--serif);cursor:pointer;min-height:44px;padding:.5rem 0}
.notebook-inline-intro{max-width:75ch;font-size:1rem;line-height:1.5;margin:.7rem 0 1.5rem}
.notebook-inline .notebook-layout{grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem}
.notebook-inline .notebook-panel{max-height:calc(100dvh - 180px);overflow:auto}
#plan-upload-form{scroll-margin-top:145px}
@media(max-width:950px){.notebook-inline .notebook-layout{grid-template-columns:1fr}.notebook-inline .notebook-panel{position:static;max-height:none;overflow:visible}}
@media(max-width:600px){.notebook-inline{padding:1rem}.notebook-inline .notebook-gallery{grid-template-columns:1fr}}
