/* DAS Stols Group — Phase 1D visual/brand polish */
:root{
  --dsg-gold:#d1a75e;
  --dsg-gold-soft:#f1dfb7;
  --dsg-blue:#8ebce8;
  --dsg-blue-soft:#d8ecff;
  --dsg-night:#04070c;
  --dsg-night-2:#09111b;
}
body{background:#f4f1ea}
::selection{background:rgba(209,167,94,.35);color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--dsg-gold);outline-offset:4px}
.site-header{background:linear-gradient(180deg,rgba(3,6,10,.96),rgba(3,6,10,.84));box-shadow:0 8px 30px rgba(0,0,0,.08)}
.header-row{height:82px}
.brand img{width:50px;height:50px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 8px 28px rgba(0,0,0,.28)}
.brand strong{font-size:12px;letter-spacing:.19em}.brand small{letter-spacing:.23em;color:#94a2b2}
.nav{gap:16px}.nav .nav-cta{padding:10px 16px;border-color:rgba(209,167,94,.45);background:rgba(209,167,94,.06)}
.preview-ribbon{right:22px;top:96px;transform:none;border-radius:999px;background:rgba(209,167,94,.94);padding:6px 11px;box-shadow:0 8px 28px rgba(0,0,0,.18);letter-spacing:.12em}

/* Home hero */
.home .hero{min-height:820px;padding-top:148px;background:
  radial-gradient(circle at 78% 34%,rgba(117,172,226,.21),transparent 25%),
  radial-gradient(circle at 70% 72%,rgba(209,167,94,.16),transparent 24%),
  linear-gradient(145deg,#020408 0%,#07101a 52%,#03060a 100%)}
.home .hero:after{content:"DSG";position:absolute;left:-.03em;bottom:-.17em;font-family:Georgia,"Times New Roman",serif;font-size:min(34vw,510px);font-weight:700;letter-spacing:-.1em;color:rgba(255,255,255,.018);line-height:.8;pointer-events:none}
.home .hero-grid{grid-template-columns:1.02fr .98fr;gap:55px}
.home .hero h1{font-size:clamp(56px,7vw,102px);max-width:760px;margin:24px 0 20px}
.home .hero h1 em{background:linear-gradient(95deg,var(--dsg-blue-soft),var(--dsg-gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent}
.home .hero p{max-width:620px;font-size:16px;color:#b9c4d0}
.hero-proof{display:flex;align-items:center;gap:14px;margin-top:24px;color:#8696a8;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.hero-proof:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--dsg-blue),var(--dsg-gold))}
.hero-showcase{position:relative;min-height:560px}
.showcase-glow{position:absolute;inset:18% 15%;border-radius:50%;background:radial-gradient(circle,rgba(136,188,237,.18),rgba(209,167,94,.08) 44%,transparent 70%);filter:blur(12px)}
.brand-core{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:252px;text-align:center}
.brand-core-ring{position:relative;width:222px;height:222px;margin:0 auto;border-radius:50%;padding:8px;background:linear-gradient(135deg,rgba(151,198,243,.95),rgba(209,167,94,.95));box-shadow:0 32px 80px rgba(0,0,0,.38),0 0 70px rgba(130,182,231,.14)}
.brand-core-ring:before{content:"";position:absolute;inset:2px;border-radius:50%;background:#04080d}.brand-core-ring img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:50%}
.brand-core small{display:block;margin-top:15px;color:#8392a2;font-size:8px;letter-spacing:.23em;text-transform:uppercase;font-weight:850}
.brand-core strong{display:block;color:#fff;font-size:11px;letter-spacing:.15em;margin-top:3px}
.showcase-tile{position:absolute;z-index:2;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.13);box-shadow:0 28px 80px rgba(0,0,0,.34);background:#101822}
.showcase-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(2,5,9,.85))}
.showcase-tile img{width:100%;height:100%;object-fit:cover}.showcase-tile span{position:absolute;z-index:2;left:16px;bottom:13px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.tile-transfer{width:235px;height:320px;left:1%;top:3%;transform:rotate(-5deg)}
.tile-transfer img{object-fit:cover;object-position:center 45%}
.tile-handmade{width:220px;height:285px;right:0;top:5%;transform:rotate(5deg)}
.tile-events{width:285px;height:205px;right:5%;bottom:3%;transform:rotate(-3deg)}
.hero-showcase:before,.hero-showcase:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08);left:50%;top:50%;transform:translate(-50%,-50%);width:470px;height:470px}.hero-showcase:after{width:390px;height:390px;border-style:dashed;border-color:rgba(209,167,94,.15)}

/* Brand rhythm */
.brand-pulse{background:#05090f;color:#fff;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.brand-pulse .shell{display:grid;grid-template-columns:repeat(4,1fr)}
.pulse-item{padding:24px 22px;border-right:1px solid rgba(255,255,255,.08);display:flex;gap:14px;align-items:center}.pulse-item:first-child{border-left:1px solid rgba(255,255,255,.08)}
.pulse-item b{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--dsg-gold-soft)}.pulse-item span{font-size:9px;line-height:1.45;color:#8292a3;text-transform:uppercase;letter-spacing:.12em;font-weight:800}

/* Bento division grid */
.home .cards{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.home .division-card{min-height:440px}.home .division-card:nth-child(1){grid-column:span 7;min-height:515px}.home .division-card:nth-child(2){grid-column:span 5;min-height:515px}.home .division-card:nth-child(3){grid-column:span 4}.home .division-card:nth-child(4){grid-column:span 8}.home .division-card:nth-child(5){grid-column:span 7}.home .division-card:nth-child(6){grid-column:span 5}
.division-card{border:1px solid rgba(255,255,255,.05);box-shadow:0 25px 65px rgba(5,10,16,.16)}
.division-card:before{content:"";position:absolute;z-index:2;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--dsg-blue),var(--dsg-gold));opacity:.72}
.division-card:after{background:linear-gradient(180deg,rgba(3,7,12,.04),rgba(3,7,12,.22) 43%,rgba(3,7,12,.95) 90%)}
.division-card .content{left:30px;right:30px;bottom:28px}.division-card .num{display:inline-flex;align-items:center;gap:8px}.division-card .num:before{content:"";width:18px;height:1px;background:var(--dsg-gold)}
.division-card h3{font-size:clamp(29px,3vw,39px)}

/* Editorial sections */
.section{position:relative}.heading .kicker{font-weight:900}.heading h2 em,.band-light h2 em{color:#725323}
.band-dark{background:linear-gradient(145deg,#05080d,#0a131e 60%,#05080d)}
.band-light{background:linear-gradient(180deg,#eeebe4,#e8e3da)}
.visual-frame{border:1px solid rgba(7,13,21,.08);box-shadow:0 30px 80px rgba(3,8,14,.12)}
.visual-frame.contain{background:#fff}.visual-frame.contain img{padding:18px;object-fit:contain}
.visual-tag{right:-12px;background:linear-gradient(115deg,#c89a4d,#f3dfb0);box-shadow:0 18px 40px rgba(52,37,12,.18)}
.trust-item{transition:transform .25s,border-color .25s,background .25s}.trust-item:hover{transform:translateY(-3px);border-color:rgba(209,167,94,.45);background:rgba(255,255,255,.82)}
.light-stack .trust-item:hover{background:rgba(255,255,255,.07)}
.quote-band{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 80% 40%,rgba(209,167,94,.13),transparent 25%),linear-gradient(120deg,#0c1520,#04080d)}
.quote-band:after{content:"DSG";position:absolute;right:-25px;bottom:-45px;font-family:Georgia,serif;font-size:155px;font-weight:700;color:rgba(255,255,255,.025);line-height:1}.quote-band>*{position:relative;z-index:2}

/* Inner page refinement */
.inner-page .page-hero{min-height:590px;padding-top:155px;background:radial-gradient(circle at 82% 33%,rgba(120,178,231,.19),transparent 27%),radial-gradient(circle at 72% 75%,rgba(209,167,94,.09),transparent 24%),linear-gradient(145deg,#02050a,#0a1420 62%,#04070b)}
.inner-page .page-hero .hero-image{position:relative;height:385px;border-color:rgba(209,167,94,.18);box-shadow:0 35px 85px rgba(0,0,0,.32)}
.inner-page .page-hero .hero-image:before{content:"";position:absolute;z-index:3;inset:12px;border:1px solid rgba(255,255,255,.11);border-radius:17px;pointer-events:none}
.inner-page .page-hero .hero-image img{transition:transform .7s}.inner-page .page-hero .hero-image:hover img{transform:scale(1.02)}
.inner-page .page-hero .hero-image.contain img{padding:16px;background:#fff;object-fit:contain}
.inner-page .page-hero h1 em{background:linear-gradient(95deg,var(--dsg-blue-soft),var(--dsg-gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent}
.info-card,.product-card,.step,.contact-panel{border-color:rgba(9,16,25,.1);box-shadow:0 14px 38px rgba(4,10,16,.05)}
.info-card{position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.info-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--dsg-blue),var(--dsg-gold));opacity:.45}.info-card:hover{transform:translateY(-3px);border-color:rgba(209,167,94,.38)}
.product-card{transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(4,10,16,.11)}
.step{position:relative;overflow:hidden}.step:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-35px;bottom:-35px;background:rgba(142,188,232,.07)}
.contact-panel.dark{background:radial-gradient(circle at 80% 20%,rgba(142,188,232,.12),transparent 25%),linear-gradient(145deg,#07101a,#04080d)}
.map-placeholder{background:radial-gradient(circle at 66% 40%,rgba(122,181,245,.17),transparent 28%),radial-gradient(circle at 35% 72%,rgba(209,167,94,.11),transparent 24%),linear-gradient(145deg,#07111b,#131f2e)}

/* Footer */
.footer{background:#020407}.footer-top{padding-top:62px}.footer-brand img{box-shadow:0 0 0 1px rgba(255,255,255,.12)}.footer a{transition:color .2s,transform .2s}.footer a:hover{transform:translateX(3px)}

@media(max-width:1050px){
  .home .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home .division-card:nth-child(n){grid-column:span 1;min-height:440px}
  .tile-transfer{left:0}.tile-handmade{right:-1%}.brand-core{width:220px}.brand-core-ring{width:200px;height:200px}
}
@media(max-width:900px){
  .header-row{height:76px}.nav{top:76px}.preview-ribbon{top:88px;right:14px}
  .home .hero-grid{grid-template-columns:1fr}.home .hero-showcase{min-height:500px;margin-top:10px}
  .brand-pulse .shell{grid-template-columns:1fr 1fr}.pulse-item:nth-child(2){border-right:1px solid rgba(255,255,255,.08)}.pulse-item:nth-child(3){border-left:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08)}.pulse-item:nth-child(4){border-top:1px solid rgba(255,255,255,.08)}
}
@media(max-width:640px){
  .header-row{height:70px}.nav{top:70px}.preview-ribbon{display:none}
  .home .hero{padding-top:116px}.home .hero h1{font-size:50px}.home .hero-showcase{min-height:390px}
  .hero-showcase:before{width:320px;height:320px}.hero-showcase:after{width:270px;height:270px}.brand-core{width:170px}.brand-core-ring{width:156px;height:156px}
  .tile-transfer{width:145px;height:205px;top:1%;left:0}.tile-handmade{width:140px;height:188px;right:0;top:4%}.tile-events{width:190px;height:135px;right:3%;bottom:0}
  .showcase-tile{border-radius:15px}.showcase-tile span{font-size:7px;left:10px;bottom:9px}
  .brand-core small{font-size:6px}.brand-core strong{font-size:8px}
  .brand-pulse .shell{grid-template-columns:1fr 1fr}.pulse-item{padding:17px 12px;gap:8px}.pulse-item b{font-size:20px}.pulse-item span{font-size:7px}
  .home .cards{grid-template-columns:1fr}.home .division-card:nth-child(n){min-height:365px}.division-card .content{left:23px;right:23px;bottom:22px}
  .inner-page .page-hero{padding-top:122px}.inner-page .page-hero .hero-image{height:305px}
}
