/* Sturgam: charcoal, concrete and flame. Shared across every public page. */
:root{color-scheme:dark;--paper:#101010;--ink:#f1e6d1;--muted:#b8b4ac;--line:#383532;--cream:#f1e6d1;--accent:#ff791b;--serif:Arial,Helvetica,sans-serif;--surface:#191919;--surface-raised:#22201e}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--accent);color:#101010}
h1,h2,h3{font-family:var(--sans);font-weight:750;letter-spacing:-.035em}
h1{font-weight:850;line-height:1.03}
h2{line-height:1.12}
h3{line-height:1.25}
em{color:var(--accent);font-style:normal;font-weight:inherit}
a,button{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}
a:hover{color:var(--accent)}
.header{background:#101010;border-bottom:1px solid var(--line)}
.header-inner{height:104px}
.brand{font-weight:800;font-size:20px;letter-spacing:.5px}
.brand small{color:var(--muted);font-weight:600}
.brand-logo{width:72px;height:72px}
.header nav a{font-weight:600}
.header-login{border-color:#5b5147;color:var(--ink);background:transparent}
.header-login:hover{background:var(--surface-raised);border-color:var(--accent);color:var(--ink)}
.language .active{color:var(--accent)}
.button{font-weight:750;border-radius:2px;letter-spacing:.2px}
.button.dark,.button.cream{background:var(--accent);color:#101010;border-color:var(--accent)}
.button.dark:hover,.button.cream:hover{background:#ff9a45;border-color:#ff9a45;color:#101010}
.button.outline,.provider{border-color:#726351;color:var(--ink);background:transparent}
.button.outline:hover,.provider:hover{border-color:var(--accent);background:#272017;color:var(--ink)}
.text-link{border-color:#78624a;font-weight:600}
.text-link:hover{border-color:var(--accent)}
.eyebrow{color:var(--accent);font-weight:700}
.dot{background:var(--accent);box-shadow:0 0 16px #ff791b44}
.hero{gap:40px;padding-top:32px;padding-bottom:60px;align-items:center}
.hero-copy{padding:28px 0}
.hero .eyebrow{color:var(--muted)}
.brand-tagline{font:700 14px/1.5 var(--sans);letter-spacing:1px;color:var(--accent);margin-bottom:18px}
.hero h1{font-size:clamp(44px,5.2vw,76px);font-weight:850;text-transform:uppercase;line-height:1.02;letter-spacing:-.045em}
.hero-description{max-width:470px;font-size:15px;line-height:1.85}
.hero-brand-art{background:#101010;max-height:none;border:0}
.hero-note{color:var(--muted)}
.qualities{background:#181614;border-color:#413326}
.qualities-inner{font-size:12px;color:var(--ink)}
.qualities i{color:var(--accent);font-weight:700}
.services{border-color:var(--line)}
.service{background:transparent;border-color:var(--line)}
.service:hover{background:var(--surface-raised);color:var(--ink)}
.service h3{font-size:24px;font-weight:750;letter-spacing:-.5px}
.service p{font-size:14px;color:var(--muted);line-height:1.8}
.service-top>span,.service-arrow{color:var(--accent)}
.service svg{stroke:var(--accent)}
.services-expanded .service{padding:30px 26px}
.travel-note{color:var(--muted)}
.project-section,.commitments{background:var(--surface);border-color:var(--line)}
.commitment-grid article{border-color:var(--line)}
.commitment-grid h3{font-size:28px;font-weight:750}
.commitment-responsibility p{color:var(--ink)}
.process-grid h3{font-weight:700}
.process-grid .text-link{line-height:1.5}
.project-card h3{font-weight:750}
.project-meta,.question-by{color:var(--muted)}
.project-open{background:var(--accent);color:#101010}
.project-open:hover{color:#101010}
.project-visual,.photo-placeholder{background:#292624}
.image-pending,.photo-placeholder>span{color:var(--ink)}
.project-drawing span{border-color:#a4947e}
.project-drawing span:nth-child(2){background:#655b4e}
.project-drawing span:nth-child(3){background:#413c35}
.visual-construction,.visual-metal,.visual-transport{background:#302b26}
.review-card,.empty-state,.submission-form,.auth-card{background:var(--surface);border-color:var(--line)}
.review-stars,.outline-stars{color:#ff9a45}
.review-message{font-family:var(--sans);font-size:17px}
.review-author small{color:var(--muted)}
.avatar{background:#3b2b1e;color:var(--ink)}
.empty-review h3,.empty-state h3,.auth-card h3,.form-layout aside h3{font-family:var(--sans);font-weight:750;line-height:1.2}
.filters .selected{background:var(--accent);border-color:var(--accent);color:#101010}
.filters a:hover{border-color:var(--accent)}
.contact-band{background:#1d1712;color:var(--ink);border-top:2px solid var(--accent);border-bottom:1px solid #463120}
.contact-band h2{font-weight:800}
.eyebrow.light{color:#ff9a45}
footer{background:#0b0b0b;border-top:1px solid var(--line)}
.footer-brand{font-size:20px}
.footer-grid h3{color:var(--accent);font-weight:700}
.footer-grid p,.footer-bottom{color:var(--muted)}
.footer-bottom{border-color:var(--line)}
.text-button{color:var(--ink)}
.text-button:hover{color:var(--accent)}
.about-story h2{font-weight:750}
.monogram{color:#42372c}
.monogram span{color:var(--accent)}
.about .large-copy{font-family:var(--sans)}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{background:#111;color:var(--ink);border-color:#625950;caret-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#a8a097;opacity:1}
input:disabled{background:#292624!important;color:#b8b4ac!important}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
input[type=file]::file-selector-button{background:#3b2b1e;color:var(--ink);border:1px solid #75604a;border-radius:2px}
.field label>span{color:#ff9a45}
.field small,.form-submit small,.contact-person{color:var(--muted)}
.form-errors{background:#3b201a;color:#ffc1ab;border:1px solid #b87559}
.errorlist{color:#ffb8a1}
.success-mark{background:#3b2b1e;color:var(--accent)}
.privacy-copy .notice{background:#292118;color:#e0cbb0;border-color:#746044}
.video{background:#25201b}
.video-load{color:var(--ink)}
.video-load .play{border-color:var(--accent);color:var(--accent)}
.notices p{background:#302619;color:var(--ink);border-left:3px solid var(--accent)}
.project-detail-grid img{background:var(--surface)}
.skip{background:var(--accent);color:#101010}
@media(max-width:1150px){.header .brand{font-size:17px}.hero h1{font-size:clamp(42px,5.3vw,64px)}}
@media(max-width:900px){.header-inner{height:86px}.header nav{background:var(--paper)}.menu-toggle{color:var(--ink)}.hero{gap:20px}.hero h1{font-size:clamp(36px,5.1vw,47px)}.hero-description{font-size:14px}.qualities-inner{font-size:10px}.service h3{font-size:23px}}
@media(max-width:650px){.header-inner{height:80px}.header .brand{font-size:15px;gap:7px}.header .brand-logo{width:46px;height:46px}.brand small{font-size:6px;letter-spacing:1px}.hero{padding-top:20px;padding-bottom:38px;gap:12px}.hero-copy{padding-top:20px;padding-bottom:12px}.hero h1{font-size:clamp(42px,10.5vw,66px)}.hero-description{font-size:15px}.hero-brand-art{width:100%;max-width:480px;justify-self:center}.hero-note{margin-top:25px}.qualities-inner{font-size:11px}.service h3{font-size:24px}.service p{font-size:14px}.section-heading h2{font-size:36px}.commitment-grid h3{font-size:25px}.contact-band h2{font-size:37px}.page-heading h1{font-size:clamp(36px,9.5vw,51px);overflow-wrap:break-word}.form-submit{align-items:flex-start;flex-direction:column;gap:14px}.auth-page h1{font-size:43px}.auth-card{padding:24px}.footer-grid{gap:30px 20px}.contact-details a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

/* Thin viewport-edge accents, fading out completely at both ends. */
.edge-glow{position:fixed;inset:0;z-index:30;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%)}
.edge-glow:before,.edge-glow:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:#ff8b35;box-shadow:0 0 4px 1px #ff791bcc,0 0 12px 3px #ff791b55,0 0 25px 5px #ff791b20}
.edge-glow:before{left:8px}.edge-glow:after{right:8px}
@media(max-width:650px){.edge-glow:before{left:3px}.edge-glow:after{right:3px}.edge-glow:before,.edge-glow:after{box-shadow:0 0 4px 1px #ff791b99,0 0 10px 2px #ff791b33}}
