:root{--ink:#15110d;--paper:#f2e8d6;--sage:#435b49;--wine:#7a1f24;--gold:#b98932;--text:#211b16}
*{box-sizing:border-box}html,body{margin:0;background:#120f0c;color:var(--text);font-family:Georgia,'Times New Roman',serif}a{color:inherit}
.desktop-master{position:relative;max-width:1400px;margin:0 auto;background:#120f0c}.desktop-master img{display:block;width:100%;height:auto}.hot{position:absolute;z-index:20;display:block;cursor:pointer;touch-action:manipulation}.hot:focus-visible{outline:3px solid #fff;outline-offset:2px;background:rgba(255,255,255,.08)}
.mobile{display:none}.mobile-header{position:sticky;top:0;z-index:10;background:#0f0d0b;color:#fff;padding:14px 16px;border-bottom:1px solid #58432b}.brand{font-size:23px;letter-spacing:.02em}.brand small{display:block;font:11px Arial,sans-serif;letter-spacing:.22em;color:#d3a24d;margin-top:2px}.mobile-nav{display:flex;gap:8px;overflow:auto;padding:10px 0 0}.mobile-nav a{white-space:nowrap;font:13px Arial,sans-serif;text-decoration:none;padding:8px 10px;border:1px solid #4a3a2c;border-radius:999px;color:#f5ead8}.mobile-main{background:var(--paper)}.mobile-hero{position:relative;overflow:hidden;background:#17110c}.mobile-hero img{width:100%;display:block}.mobile-hero .shade{position:absolute;inset:auto 0 0;padding:28px 18px 20px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}.mobile-hero h1{font-size:38px;line-height:1;margin:0 0 8px}.mobile-hero p{margin:0;font-size:17px;line-height:1.35}.section{padding:26px 18px;border-top:1px solid rgba(75,53,31,.16)}.section h2{font-size:30px;margin:0 0 12px}.section p{font-family:Arial,sans-serif;font-size:16px;line-height:1.55}.cards{display:grid;gap:14px}.card{background:#fff8ec;border:1px solid #d5c5ac;border-radius:14px;padding:16px;box-shadow:0 4px 16px rgba(43,30,18,.08)}.card h3{margin:0 0 6px;font-size:22px}.btn{display:inline-block;margin-top:10px;padding:11px 15px;border-radius:999px;background:var(--wine);color:#fff;text-decoration:none;font:600 14px Arial,sans-serif}.btn.sage{background:var(--sage)}.mobile-footer{background:#0f0d0b;color:#eee;padding:28px 18px;font:13px Arial,sans-serif;line-height:1.6}.mobile-footer strong{font:24px Georgia,serif}.mobile-footer .amp{color:#b5282e}
@media(max-width:700px){.desktop-master{display:none}.mobile{display:block}}


/* BUILD 0.2.1 — unified navigation / local test
   The master artwork remains untouched. We simply hide the navigation strip
   embedded in the top of each master and use one real HTML navigation bar. */
.site-header{position:relative;z-index:50;background:#100e0c;color:#f5ead8;border-bottom:1px solid #4e3b2b}
.site-header-inner{max-width:1400px;margin:0 auto;padding:18px 24px 16px;display:flex;align-items:center;gap:26px}
.site-brand{flex:0 0 auto;font-size:30px;line-height:1;color:#fff;letter-spacing:.01em}
.site-brand small{display:block;margin-top:6px;font:11px Arial,sans-serif;letter-spacing:.28em;color:#d2a04a}
.site-nav{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-left:auto}
.site-nav a{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;border:1px solid #5a4635;border-radius:999px;color:#f5ead8;text-decoration:none;font:15px Arial,sans-serif;white-space:nowrap;background:rgba(255,255,255,.015)}
.site-nav a:hover{background:rgba(255,255,255,.06)}
.site-nav a:focus-visible{outline:3px solid #d2a04a;outline-offset:2px}

/* Crop only the old navigation strip that is part of each master image. */
.desktop-master{overflow:hidden}
.desktop-master img{margin-top:-7.15%}
.desktop-master .hot{display:none!important}
.mobile-header{display:none!important}
.mobile-hero{overflow:hidden}
.mobile-hero img{margin-top:-7.15%}

@media(max-width:900px){
  .site-header-inner{display:block;padding:14px 16px 12px}
  .site-brand{font-size:25px;margin-bottom:10px}
  .site-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .site-nav a{font-size:13px;padding:8px 12px;min-height:38px}
}
@media(max-width:700px){
  .site-header{position:sticky;top:0}
}


/* BUILD 0.3.1 LOCAL TEST — David & Angelino living portrait — corrected poster and placement */
.news-living-portrait{position:absolute;z-index:25;left:35.6%;top:1.55%;width:27.2%;height:19.1%;object-fit:cover;object-position:50% 50%;background:#17110c;display:block}
.mobile-living-portrait{width:100%;display:block;border-radius:10px;margin:10px 0 12px;aspect-ratio:16/9;object-fit:cover;background:#17110c}
@media(max-width:700px){.news-living-portrait{display:none}}

/* BUILD 0.3.2 LOCAL TEST — corrected living portrait alignment and browser playback */
.news-living-portrait{
  left:35.39%;
  top:1.91%;
  width:27.47%;
  height:18.92%;
  object-fit:cover;
  object-position:50% 50%;
  border:0;
}


/* BUILD 0.3.3 LOCAL TEST — final living portrait refinement
   One play per page visit; slightly centred and rotated to follow the paper photo. */
.news-living-portrait{
  left:35.55%;
  top:1.88%;
  width:27.10%;
  height:18.82%;
  object-fit:cover;
  object-position:51% 50%;
  transform:rotate(0.75deg);
  transform-origin:50% 50%;
}

/* BUILD 0.3.4 LOCAL TEST — portrait micro-alignment: down/right + clockwise */
.news-living-portrait{
  left:35.82%;
  top:2.16%;
  width:27.10%;
  height:18.82%;
  object-position:51% 50%;
  transform:rotate(1.35deg);
  transform-origin:50% 50%;
}

/* BUILD 0.3.5 LOCAL TEST — slightly larger + more clockwise rotation to fully cover underlying photo */
.news-living-portrait{
  left:35.55%;
  top:1.96%;
  width:27.85%;
  height:19.35%;
  object-position:51% 50%;
  transform:rotate(2.05deg);
  transform-origin:50% 50%;
}

/* BUILD 0.3.6 LOCAL TEST — enlarge only; approved rotation retained */
.news-living-portrait{
  left:35.18%;
  top:1.70%;
  width:28.60%;
  height:19.90%;
  object-position:51% 50%;
  transform:rotate(2.05deg);
  transform-origin:50% 50%;
}

/* BUILD 0.3.7 LOCAL TEST — user-requested micro-shift only: 3 mm right, 2 mm down at 1536 px master scale */
.news-living-portrait{
  left:35.92%;
  top:2.17%;
}

/* BUILD 0.4 — THE POSTMAN: real contact form over the approved master artwork. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-overlay-form{position:absolute;z-index:30;left:7.9%;top:53.55%;width:39.6%;height:24.1%;font-family:Georgia,serif;color:#334836}
.contact-overlay-form label{display:block;position:absolute;left:0;width:100%;margin:0}
.contact-overlay-form label:nth-of-type(1){top:0;height:8.5%}.contact-overlay-form label:nth-of-type(2){top:10.6%;height:8.5%}.contact-overlay-form label:nth-of-type(3){top:21.3%;height:8.5%}.contact-overlay-form label:nth-of-type(4){top:31.9%;height:25.2%}
.contact-overlay-form input[type=text],.contact-overlay-form input[type=email],.contact-overlay-form textarea{box-sizing:border-box;width:100%;height:100%;border:1px solid rgba(85,78,55,.26);border-radius:6px;background:rgba(249,241,221,.97);padding:0 9%;font:clamp(9px,1.05vw,15px) Georgia,serif;color:#2f3d31;outline:none}
.contact-overlay-form textarea{padding-top:3.5%;resize:none}.contact-overlay-form input:focus,.contact-overlay-form textarea:focus{border-color:#46634d;box-shadow:0 0 0 2px rgba(70,99,77,.12)}
.contact-overlay-form .contact-check{top:59.7%;height:9.2%;display:flex;align-items:center;gap:2.2%;box-sizing:border-box;padding:0 2.6%;border:1px solid rgba(85,78,55,.26);border-radius:6px;background:rgba(249,241,221,.97);font-size:clamp(7px,.82vw,12px);color:#2f3d31}.contact-overlay-form .contact-check input{width:auto;height:auto;flex:0 0 auto}
.contact-overlay-form button{position:absolute;left:0;top:72%;width:41.5%;height:12%;border:0;border-radius:6px;background:#405c45;color:#f7f0df;font:clamp(8px,.95vw,14px) Georgia,serif;letter-spacing:.02em;cursor:pointer}.contact-overlay-form button:hover{filter:brightness(1.06)}
.contact-overlay-form .contact-status{position:absolute;left:0;top:85%;width:100%;margin:0;font:clamp(7px,.8vw,12px) Arial,sans-serif;color:#314c37}.contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.mobile-contact-form{display:grid;gap:13px;margin-top:14px}.mobile-contact-form label{display:grid;gap:6px;font:14px Arial,sans-serif}.mobile-contact-form input[type=text],.mobile-contact-form input[type=email],.mobile-contact-form textarea{box-sizing:border-box;width:100%;border:1px solid #c9b99f;border-radius:9px;background:#fffaf0;padding:12px;font:16px Arial,sans-serif;color:#231b14}.mobile-contact-form textarea{min-height:150px;resize:vertical}.mobile-contact-form .mobile-check{display:flex;align-items:flex-start;gap:8px;line-height:1.4}.mobile-contact-form .btn{border:0;cursor:pointer;width:max-content}.mobile-contact-form .contact-status{margin:0;font:14px Arial,sans-serif;color:#314c37}

/* BUILD 0.4.4 — Angelino official book trailer */
.trailer-hot{position:absolute;z-index:32;border:0;background:transparent;cursor:pointer;padding:0}
.trailer-hot-film{left:13.7%;top:22.8%;width:7.7%;height:8.8%}
.trailer-hot-media{left:38.1%;top:34.0%;width:14.0%;height:13.0%}
.trailer-card{cursor:pointer}
.trailer-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:12px}
.trailer-btn{border:0;cursor:pointer}
.trailer-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.88)}
.trailer-modal.open{display:flex}
.trailer-shell{position:relative;width:min(1100px,96vw)}
.trailer-modal video{display:block;width:100%;max-height:88vh;background:#000;box-shadow:0 18px 70px rgba(0,0,0,.55)}
.trailer-close{position:absolute;right:-10px;top:-46px;width:40px;height:40px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#17110c;color:#fff;font:28px/36px Arial,sans-serif;cursor:pointer}

/* Subtle emphasis only on the active Official Trailer play */
.trailer-hot-media::after{
  content:"▶";
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding-left:3px;box-sizing:border-box;
  color:#f3dfad;font:20px/1 Arial,sans-serif;
  background:rgba(28,20,12,.72);
  border:1px solid rgba(225,190,113,.72);
  box-shadow:0 0 12px rgba(215,176,92,.28);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
  pointer-events:none;
}
.trailer-hot-media:hover::after{
  transform:translate(-50%,-50%) scale(1.09);
  background:rgba(35,25,14,.82);
  box-shadow:0 0 18px rgba(215,176,92,.42);
}
@media(max-width:700px){
  .trailer-hot{display:none}
  .trailer-modal{padding:10px}
  .trailer-close{right:0;top:-46px}
  .trailer-card .btn.sage{font-weight:700}
}
