:root{--wood:#24150e;--wood2:#3a2114;--parch:#ead8b7;--paper:#f4e7cb;--ink:#16202b;--brass:#c59b50;--line:#8b6737;--red:#7b2d22}*{box-sizing:border-box}body{margin:0;background:#17100b;color:var(--ink);font-family:Georgia,'Times New Roman',serif}.wood-header{min-height:74px;background:linear-gradient(90deg,#1a0d08,#4a2917,#21110a);color:#f7e8c7;display:flex;align-items:center;padding:10px 5%;gap:28px;border-bottom:4px solid #9b713a;box-shadow:0 5px 20px #0008;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:#f7e8c7;text-decoration:none;min-width:240px}.brand .wheel{font-size:38px;color:#d2ad68}.brand b{display:block;font-size:25px;letter-spacing:2px}.brand small{display:block;text-align:center;letter-spacing:6px}.wood-header nav{display:flex;gap:25px;flex:1;justify-content:center}.wood-header nav a{color:#f5e6c4;text-decoration:none;padding:10px 3px}.wood-header nav a.active,.wood-header nav a:hover{color:#e3bb68;border-bottom:2px solid var(--brass)}.quote,.btn{background:var(--paper);color:#20140c;border:2px solid #b18a4a;padding:12px 18px;text-decoration:none;font-weight:bold;box-shadow:inset 0 0 0 2px #fff3}.page{background:var(--parch);min-height:80vh}.hero{min-height:590px;background:linear-gradient(90deg,#081522d9 0%,#08152299 40%,#08152220),url('../images/hero.jpg') center/cover;display:flex;align-items:center;padding:7%;color:#f9ecd0}.hero-inner{max-width:720px}.eyebrow{letter-spacing:4px;color:#dfbb78}.hero h1{font-size:clamp(48px,7vw,88px);margin:15px 0}.hero h2{font-size:32px;color:#e9c57d;font-style:italic}.hero p{font-size:19px;line-height:1.7}.section{padding:65px 7%;background:var(--paper);position:relative}.section h2{font-size:42px;text-align:center;margin:0 0 40px}.intro{max-width:900px;margin:auto;text-align:center;font-size:19px;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#ead7b2;border:1px solid #b28a52;padding:0 0 24px;box-shadow:5px 6px 0 #8b673733}.card img{width:100%;height:210px;object-fit:cover}.card .pad{padding:18px}.card h3{font-size:25px;margin:0 0 8px}.card p{line-height:1.6}.card a{color:#5e3e18;font-weight:bold}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--wood);color:#f6e5c0;padding:25px 7%;text-align:center}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-strip img{width:100%;height:210px;object-fit:cover;border:5px solid #8c6437}.wood-footer{background:linear-gradient(#3b2214,#1b0e08);color:#eed9b0;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:35px 6%;border-top:4px solid #9b713a}.footer-brand strong{display:block;font-size:23px}.footer-brand small{letter-spacing:5px}.tagline{font-style:italic;color:#d5ad64}.wa{position:fixed;right:25px;bottom:25px;width:60px;height:60px;border-radius:50%;background:#000;color:#fff;display:grid;place-items:center;text-decoration:none;font-size:35px;z-index:30;box-shadow:0 5px 20px #0008}.service-hero{min-height:430px;background:linear-gradient(90deg,#071522df,#07152250),url('../images/hull-work.jpg') center/cover;color:#f6e6c4;padding:90px 7%;display:flex;align-items:end}.service-hero h1{font-size:68px;margin:0}.service-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:35px}.service-layout p,.service-layout li{font-size:18px;line-height:1.8}.service-photo{width:100%;border:8px solid #9c7440}.sidebox{background:#0d1b27;color:#f5e4bf;padding:28px;border:3px solid var(--brass)}.sidebox h3{font-size:25px}.newspaper{background:#eee0bf;padding:45px 6%;min-height:75vh}.paper-head{text-align:center;border-top:4px double #282016;border-bottom:4px double #282016;padding:18px}.paper-head h1{font-size:55px;margin:0;text-transform:uppercase;letter-spacing:4px}.paper-head p{font-style:italic}.paper-grid{columns:3 260px;column-gap:25px;margin-top:30px}.paper-item{break-inside:avoid;background:#f5e9cd;border:1px solid #8c7149;padding:10px;margin:0 0 25px;box-shadow:2px 3px 0 #0002;transform:rotate(var(--r,0deg))}.paper-item:nth-child(3n){--r:-.8deg}.paper-item:nth-child(4n){--r:.7deg}.paper-item img{width:100%;display:block;filter:saturate(.82) contrast(1.03)}.paper-item h3{font-size:20px;margin:10px 0 4px}.paper-item small{color:#5f4a30}.crumb{padding:20px 7%;background:#dfc99e}.admin-shell{min-height:100vh;background:#17100b;color:#f1dfbd;display:grid;grid-template-columns:250px 1fr}.admin-side{background:linear-gradient(#3a2114,#1a0d08);padding:30px 18px;border-right:3px solid #936a35}.admin-side a{display:block;color:#f1dfbd;text-decoration:none;padding:13px;border-bottom:1px solid #ffffff18}.admin-side a.active,.admin-side a:hover{background:#5a351c}.admin-main{background:var(--parch);color:var(--ink);padding:35px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-card{background:var(--paper);border:1px solid #b08a50;padding:25px;margin-top:20px;box-shadow:5px 5px 0 #0002}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-grid img{width:100%;height:170px;object-fit:cover}.field{margin:15px 0}.field label{display:block;font-weight:bold;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid #a98959;background:#fffaf0;font:inherit}.btn-dark{background:#101923;color:#f4e2bd;border:1px solid #c19b57;padding:11px 18px;font-weight:bold}.btn-danger{background:#76251e;color:white;border:0;padding:8px 12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(#0006,#0008),url('../images/hero.jpg') center/cover}.login-card{width:min(430px,92%);background:var(--paper);padding:35px;border:5px solid #6d4526;box-shadow:0 15px 50px #0008}.login-card h1{text-align:center}.notice{padding:12px;background:#efe0bd;border-left:4px solid var(--brass);margin-bottom:15px}.error{border-left-color:var(--red)}@media(max-width:900px){.wood-header{flex-wrap:wrap}.wood-header nav{order:3;width:100%;overflow:auto;justify-content:flex-start}.services-grid{grid-template-columns:1fr 1fr}.service-layout{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.wood-footer{flex-wrap:wrap}.gallery-strip{grid-template-columns:1fr 1fr}}@media(max-width:600px){.brand{min-width:auto}.quote{display:none}.services-grid,.admin-grid{grid-template-columns:1fr}.hero{min-height:540px}.hero h1,.service-hero h1{font-size:46px}.section{padding:45px 5%}.stats{padding:20px 5%}}

/* Mobile navigation */
.hamburger{display:none;background:transparent;border:1px solid #c59b50;color:#f7e8c7;width:46px;height:42px;border-radius:4px;padding:8px;cursor:pointer;margin-left:auto}.hamburger span{display:block;height:2px;background:#f7e8c7;margin:5px 0;transition:.2s}.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.pwa-prompt{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:min(620px,calc(100% - 28px));background:linear-gradient(135deg,#24150e,#3a2114);color:#f7e8c7;border:2px solid #c59b50;border-radius:8px;padding:14px 48px 14px 14px;display:flex;align-items:center;gap:13px;box-shadow:0 18px 50px #000b;z-index:1000}.pwa-icon{width:48px;height:48px;flex:none;border-radius:9px;overflow:hidden;border:1px solid #c59b50}.pwa-icon img{width:100%;height:100%;display:block}.pwa-copy{flex:1}.pwa-copy strong{display:block;font-size:17px;margin-bottom:3px}.pwa-copy span{display:block;font-size:13px;line-height:1.4;color:#e8d4ad}.pwa-install{background:#ead8b7;color:#20140c;border:1px solid #c59b50;padding:10px 15px;border-radius:4px;font-weight:bold;cursor:pointer;white-space:nowrap}.pwa-close{position:absolute;right:9px;top:7px;background:transparent;color:#f7e8c7;border:0;font-size:24px;cursor:pointer}.pwa-ios-help{align-items:flex-start}
@media(max-width:900px){.wood-header{position:sticky}.hamburger{display:block}.wood-header nav{display:none;order:4;flex-basis:100%;width:100%;flex-direction:column;gap:0;padding:8px 0 12px;border-top:1px solid #c59b5044}.wood-header nav.open{display:flex}.wood-header nav a{padding:13px 10px;border-bottom:1px solid #ffffff14}.wood-header nav a.active,.wood-header nav a:hover{background:#ffffff0d;border-bottom:1px solid var(--brass)}.wood-header .quote{display:none}.menu-open{overflow:hidden}.brand{min-width:0}.brand b{font-size:20px}.brand small{font-size:10px;letter-spacing:4px}}
@media(max-width:600px){.pwa-prompt{bottom:12px;padding:12px 40px 12px 10px}.pwa-icon{width:42px;height:42px}.pwa-copy strong{font-size:15px}.pwa-copy span{font-size:12px}.pwa-install{padding:9px 10px}}

/* Mobile navigation */
.hamburger{display:none;background:transparent;border:1px solid #c59b50;color:#f7e8c7;width:46px;height:42px;border-radius:4px;padding:8px;cursor:pointer;margin-left:auto}.hamburger span{display:block;height:2px;background:#f7e8c7;margin:5px 0;transition:.2s}.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.pwa-prompt{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:min(620px,calc(100% - 28px));background:linear-gradient(135deg,#24150e,#3a2114);color:#f7e8c7;border:2px solid #c59b50;border-radius:8px;padding:14px 48px 14px 14px;display:flex;align-items:center;gap:13px;box-shadow:0 18px 50px #000b;z-index:1000}.pwa-icon{width:48px;height:48px;flex:none;border-radius:9px;overflow:hidden;border:1px solid #c59b50}.pwa-icon img{width:100%;height:100%;display:block}.pwa-copy{flex:1}.pwa-copy strong{display:block;font-size:17px;margin-bottom:3px}.pwa-copy span{display:block;font-size:13px;line-height:1.4;color:#e8d4ad}.pwa-install{background:#ead8b7;color:#20140c;border:1px solid #c59b50;padding:10px 15px;border-radius:4px;font-weight:bold;cursor:pointer;white-space:nowrap}.pwa-close{position:absolute;right:9px;top:7px;background:transparent;color:#f7e8c7;border:0;font-size:24px;cursor:pointer}.pwa-ios-help{align-items:flex-start}
@media(max-width:900px){.wood-header{position:sticky}.hamburger{display:block}.wood-header nav{display:none;order:4;flex-basis:100%;width:100%;flex-direction:column;gap:0;padding:8px 0 12px;border-top:1px solid #c59b5044}.wood-header nav.open{display:flex}.wood-header nav a{padding:13px 10px;border-bottom:1px solid #ffffff14}.wood-header nav a.active,.wood-header nav a:hover{background:#ffffff0d;border-bottom:1px solid var(--brass)}.wood-header .quote{display:none}.menu-open{overflow:hidden}.brand{min-width:0}.brand b{font-size:20px}.brand small{font-size:10px;letter-spacing:4px}}
@media(max-width:600px){.pwa-prompt{bottom:12px;padding:12px 40px 12px 10px}.pwa-icon{width:42px;height:42px}.pwa-copy strong{font-size:15px}.pwa-copy span{font-size:12px}.pwa-install{padding:9px 10px}}


/* V5 — vertical stories + Sketchfab viewer */
.section-kicker{font-size:12px;letter-spacing:5px;text-align:center;color:#765323;font-weight:bold;margin-bottom:10px}.section-lead{text-align:center;max-width:760px;margin:-20px auto 34px;line-height:1.7;color:#5e4a31}.story-section{background:linear-gradient(#f4e7cb,#ead8b7)}.story-rail{display:flex;gap:22px;overflow-x:auto;padding:10px 4px 22px;scroll-snap-type:x mandatory;scrollbar-width:thin}.story-card{flex:0 0 min(290px,78vw);scroll-snap-align:start;background:#1a100b;border:4px solid #8f693a;box-shadow:6px 7px 0 #5c412433;position:relative;overflow:hidden}.story-video{width:100%;aspect-ratio:9/16;display:block;object-fit:cover;background:#080808}.story-copy{padding:15px 16px 18px;color:#f4e3c1}.story-copy span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#d1aa65}.story-copy h3{margin:7px 0 0;font-size:21px}.story-more{text-align:center;margin:18px 0 0}.viewer-section{background:#dfc79a}.viewer-frame{width:min(1100px,100%);margin:0 auto;background:#101923;border:8px solid #3c2516;box-shadow:8px 10px 0 #76532d55;aspect-ratio:16/9;min-height:420px}.viewer-frame iframe{width:100%;height:100%;min-height:420px;border:0;display:block}.viewer-placeholder{max-width:900px;min-height:350px;margin:auto;border:3px double #76552e;background:radial-gradient(circle at center,#f8edda,#e3cfaa);display:grid;place-items:center;text-align:center;padding:45px}.viewer-placeholder h3{font-size:32px;margin:0}.viewer-placeholder p{max-width:620px;line-height:1.7}.viewer-compass{font-size:60px;color:#9b713a}.stories-page{margin-top:70px;padding-top:15px}.stories-page h2{text-align:center;font-size:42px;margin:10px 0}.stories-page>p{text-align:center;max-width:680px;margin:0 auto 28px;line-height:1.7}.paper-rule{border-top:4px double #282016;margin-bottom:35px}.story-rail-gallery{justify-content:center;flex-wrap:wrap;overflow:visible}.story-rail-gallery .story-card{flex-basis:260px}@media(max-width:900px){.viewer-frame,.viewer-frame iframe{min-height:320px}}@media(max-width:600px){.viewer-frame{aspect-ratio:9/16;min-height:520px}.viewer-frame iframe{min-height:520px}.viewer-placeholder{min-height:420px;padding:30px 20px}.story-rail{padding-left:0;padding-right:0}.stories-page h2{font-size:34px}}

/* V6 — Instagram-style vertical stories */
.story-rail{align-items:center}
.story-card[data-story]{flex:0 0 292px;aspect-ratio:9/16;min-height:0;height:auto;padding:0;border:1px solid #a77d43;border-radius:18px;background:#0a0a0a;box-shadow:0 16px 34px #3b241744;overflow:hidden;position:relative;isolation:isolate}
.story-card[data-story] .story-video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.story-card[data-story]::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000a 0%,transparent 24%,transparent 62%,#000c 100%);pointer-events:none;z-index:1}
.story-progress{position:absolute;top:9px;left:9px;right:9px;display:flex;gap:4px;z-index:5}
.story-progress i{height:3px;flex:1;background:#ffffff66;border-radius:99px;overflow:hidden;position:relative}
.story-progress i::after{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:#fff}
.story-progress i.is-active::after{animation:storyProgress 6s linear forwards}
@keyframes storyProgress{to{transform:scaleX(1)}}
.story-head{position:absolute;top:18px;left:12px;right:10px;display:flex;align-items:center;gap:9px;color:#fff;z-index:5;text-shadow:0 1px 3px #000}
.story-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#24150e;border:1px solid #d2ad68;color:#e8c477;font-size:17px}
.story-head strong,.story-head small{display:block}.story-head strong{font-size:13px}.story-head small{font-size:10px;opacity:.8;margin-top:2px}
.story-mute{margin-left:auto;width:34px;height:34px;border:0;border-radius:50%;background:#0007;color:#fff;cursor:pointer}
.story-bottom{position:absolute;left:15px;right:15px;bottom:17px;color:#fff;z-index:5;text-shadow:0 1px 4px #000}
.story-bottom span{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#f0cb83}.story-bottom h3{font-size:22px;margin:5px 0 0}
.story-tap{position:absolute;top:0;bottom:0;width:35%;border:0;background:transparent;z-index:4;cursor:pointer}.story-prev{left:0}.story-next{right:0}
.story-card[data-story].is-playing{border-color:#d1a95d;box-shadow:0 18px 45px #0008,0 0 0 1px #d1a95d55}
@media(max-width:600px){
 .story-section{padding-left:0;padding-right:0;background:#15100c;color:#f6e7c8}
 .story-section h2,.story-section .section-kicker,.story-section .section-lead{padding-left:20px;padding-right:20px}
 .story-section .section-kicker{color:#d3ae68}.story-section .section-lead{color:#d9c6a3}
 .story-rail{gap:12px;padding:8px 0 25px;scroll-padding-left:calc(50vw - 44vw);overflow-x:auto;scroll-snap-type:x mandatory}
 .story-card[data-story]{flex-basis:88vw;width:88vw;scroll-snap-align:center;border-radius:22px;box-shadow:0 20px 50px #000b}
 .story-card[data-story] .story-video{object-fit:cover}
 .story-copy{display:none}
 .story-more{padding-bottom:8px}.story-more .btn{background:#e8d5b2}
}
@media(min-width:601px){.story-card[data-story]{border-radius:10px}.story-tap{display:none}}
