
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&display=swap');
:root{
  --paper:#eae4d6;
  --ink:#24201d;
  --muted:#77716a;
  --burgundy:#720310;
  --line:rgba(49,39,33,.22);
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box;font-style:normal!important}
html{scroll-behavior:smooth}
body{
  margin:0; min-height:100vh; color:var(--ink); background-color:#eae4d6; background-image:url('ivory-paper-grain-final.jpg'); background-repeat:no-repeat; background-size:cover; background-position:center top; background-attachment:fixed;
  font-family:var(--sans); font-weight:400; overflow-x:hidden;
}


/* Opening brand sequence: reveal the supplied master logo */
.brand-loader{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eae4d6 url('ivory-paper-grain-final.jpg') center/cover no-repeat;color:var(--burgundy);opacity:1;visibility:visible;transition:opacity .78s ease,visibility .78s ease}
.brand-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.brand-loader__mark{width:min(290px,64vw);display:flex;justify-content:center;overflow:hidden;clip-path:inset(0 100% 0 0);animation:logoReveal 1.55s cubic-bezier(.72,0,.22,1) .18s forwards}
.brand-loader__mark img{display:block;width:100%;height:auto;object-fit:contain}
.brand-loader__rule{width:min(210px,42vw);height:1px;background:rgba(114,3,16,.16);margin-top:27px;overflow:hidden}
.brand-loader__rule:after{content:"";display:block;width:100%;height:100%;background:var(--burgundy);transform:scaleX(0);transform-origin:left;animation:ruleReveal 1.05s ease .72s forwards}
@keyframes logoReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes ruleReveal{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.brand-loader__mark,.brand-loader__rule:after{animation:none;clip-path:none;transform:none}.brand-loader{transition:none}}

a{color:inherit;text-decoration:none}
.site-shell{min-height:100svh; padding:0 clamp(22px,4.2vw,76px); display:flex; flex-direction:column; position:relative}
.header{height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:relative; z-index:20}
.menu-button{justify-self:start; width:36px;height:36px;border:0;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer;padding:7px}
.menu-button span{display:block;width:21px;height:1px;background:var(--burgundy);transition:transform .25s,width .25s}
.menu-button:hover span:nth-child(2){width:14px}
.brand{display:flex;align-items:center;justify-content:center;width:min(138px,22vw)}
.brand img{display:block;width:100%;height:auto;max-height:46px;object-fit:contain}

main{flex:1;display:grid;grid-template-columns:minmax(230px,330px) 1fr;align-items:end;gap:7vw;padding:8vh 0 9vh;min-height:570px}
.intro{max-width:330px;margin-bottom:2vh}
.kicker{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin:0 0 18px}
.intro p{font-size:12px;line-height:1.95;color:#5d5852;margin:0;max-width:310px}
.blank-field{min-height:360px}
.footer{height:58px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#8a837b}
.footer span:nth-child(2){text-align:right}
.footer a{display:none}
.drawer-backdrop{position:fixed;inset:0;background:rgba(27,20,17,.18);z-index:29;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.drawer{position:fixed;z-index:30;inset:0 auto 0 0;width:min(460px,88vw);background:#eee9dd;padding:34px clamp(26px,5vw,62px);transform:translateX(-102%);transition:transform .38s cubic-bezier(.22,.8,.25,1);display:flex;flex-direction:column}
.menu-open .drawer{transform:translateX(0)}
.menu-open .drawer-backdrop{opacity:1;visibility:visible}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10vh}
.drawer-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.close-button{border:0;background:none;font-size:25px;font-weight:300;cursor:pointer;color:var(--burgundy)}
.nav-list{display:flex;flex-direction:column;gap:0}
.nav-list a{font-family:var(--serif);font-size:clamp(27px,4vw,39px);line-height:1.35;color:var(--burgundy);border-bottom:1px solid var(--line);padding:7px 0;transition:padding .2s}
.nav-list a:hover{padding-left:10px}
.drawer-bottom{margin-top:auto;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.page-main{display:block;max-width:980px;margin:0 auto;width:100%;padding:12vh 0 14vh;min-height:calc(100svh - 150px)}
.page-eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-bottom:28px}
.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,104px);line-height:.98;letter-spacing:-.045em;color:var(--burgundy);max-width:900px;margin:0 0 42px}
.page-copy{max-width:530px;font-size:13px;line-height:2;color:#5d5852}
.page-copy p{margin:0 0 18px}
.page-note{margin-top:50px;font-family:var(--serif);font-size:20px;color:var(--burgundy);font-style:normal}
@media(max-width:700px){
 .site-shell{padding:0 22px}
 .header{height:76px;grid-template-columns:1fr auto 1fr}
 .brand{width:min(122px,34vw)}
 .brand img{max-height:40px}
 main{grid-template-columns:1fr;align-items:end;gap:0;min-height:calc(100svh - 134px);padding:0 0 7vh}
 .intro{margin:0 0 8vh;max-width:300px}
 .intro p{font-size:11px;line-height:1.9}
 .blank-field{display:none}
 .footer{height:54px;grid-template-columns:1fr 1fr}
 .footer span:nth-child(2){display:block;text-align:right}
 .footer span:first-child{font-size:7px}
 .footer a{display:none}
 .page-main{padding:11vh 0 12vh;min-height:calc(100svh - 130px)}
 .page-title{font-size:clamp(45px,13vw,72px);margin-bottom:30px}
 .page-copy{font-size:12px}
 .drawer{padding-top:25px}
 .drawer-top{margin-bottom:7vh}
 .nav-list a{font-size:30px;padding:6px 0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
