/* Cinematic atmosphere */
.home > * { position: relative; z-index: 1; }

/* Film grain */
@keyframes grain {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(-2%, -3%); }
  30% { transform: translate(3%, 2%); }
  50% { transform: translate(-1%, 3%); }
  70% { transform: translate(2%, -1%); }
  90% { transform: translate(-3%, 1%); }
}
.phone::before {
  content: '';
  position: fixed;
  inset: -50%;
  width: 200%;
  height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
  opacity: 0.4;
  animation: grain 8s steps(10) infinite;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gold);
  color: var(--c-dark);
  padding: 10px 20px;
  border-radius: 0 0 12px 12px;
  font-size: var(--text-sm);
  font-weight: 500;
  z-index: 9999;
  transition: top 0.2s;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ─── SPLASH ─── */
.splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--d);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease 1.2s;
}

.splash.done { opacity: 0; pointer-events: none; }

.splash-logo {
  opacity: 0;
  animation: splashIn 0.8s 0.2s var(--e) forwards;
}

.splash-img {
  width: clamp(220px, 60vw, 320px);
  height: auto;
}

@keyframes splashIn {
  0% { opacity: 0; transform: scale(0.85); }
  60% { opacity: 1; transform: scale(1.02); }
  100% { opacity: 1; transform: scale(1); }
}

/* ─── PHONE FRAME ─── */
.phone {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #2A3D32;
}

.wallpaper {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.wallpaper::before {
  content: '';
  position: absolute;
  inset: -50%;
  background:
    radial-gradient(ellipse 70% 60% at 80% 10%, rgba(185,215,200,0.58) 0%, transparent 58%),
    radial-gradient(ellipse 80% 65% at 55% 25%, rgba(130,175,155,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 75% 75% at 15% 85%, rgba(18,35,25,0.90) 0%, transparent 60%),
    radial-gradient(ellipse 100% 100% at 50% 55%, rgba(50,85,65,0.55) 0%, transparent 100%);
  animation: bgShift 25s ease-in-out infinite alternate;
}

.wallpaper::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.02;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22623%22%20height%3D%22105%22%20viewBox%3D%220%200%20623%20105%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M259.797%2076.3415C254.22%2076.3415%20249.2%2075.1563%20244.738%2072.7859C240.346%2070.4154%20236.93%2067.1735%20234.49%2063.0601C232.049%2058.877%20230.829%2054.2407%20230.829%2049.1512C230.829%2044.1315%20232.049%2039.5649%20234.49%2035.4515C236.999%2031.2684%20240.381%2027.9916%20244.634%2025.6212C248.956%2023.181%20253.802%2021.9609%20259.17%2021.9609C263.423%2021.9609%20267.188%2022.4838%20270.464%2023.5296C273.741%2024.5754%20276.46%2025.9349%20278.622%2027.6082V40.9941H277.785C275.624%2038.7631%20273.044%2036.9853%20270.046%2035.6607C267.048%2034.336%20263.841%2033.6737%20260.425%2033.6737C257.218%2033.6737%20254.359%2034.3709%20251.85%2035.7652C249.34%2037.0899%20247.388%2038.9723%20245.993%2041.4125C244.599%2043.7829%20243.902%2046.3625%20243.902%2049.1512C243.902%2052.0794%20244.564%2054.7287%20245.889%2057.0992C247.283%2059.3999%20249.27%2061.2474%20251.85%2062.6418C254.429%2063.9665%20257.392%2064.6288%20260.739%2064.6288C264.085%2064.6288%20267.223%2064.0362%20270.151%2062.851C273.079%2061.596%20275.798%2059.6439%20278.308%2056.9946H279.04V70.1714C276.879%2072.0538%20274.125%2073.5528%20270.778%2074.6683C267.432%2075.7838%20263.771%2076.3415%20259.797%2076.3415Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M224.507%2023.0067V75.2957H211.434V23.0067H224.507ZM217.918%2016C216.454%2016%20215.13%2015.6862%20213.944%2015.0588C212.759%2014.4313%20211.818%2013.5947%20211.121%2012.5489C210.424%2011.4334%20210.075%2010.2133%20210.075%208.88865C210.075%207.56399%20210.424%206.37877%20211.121%205.333C211.818%204.21749%20212.759%203.34601%20213.944%202.71855C215.13%202.09108%20216.454%201.77734%20217.918%201.77734C219.452%201.77734%20220.812%202.09108%20221.997%202.71855C223.182%203.34601%20224.088%204.21749%20224.716%205.333C225.413%206.37877%20225.762%207.56399%20225.762%208.88865C225.762%2010.2133%20225.413%2011.4334%20224.716%2012.5489C224.088%2013.5947%20223.182%2014.4313%20221.997%2015.0588C220.812%2015.6862%20219.452%2016%20217.918%2016Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M175.771%2076.1326C170.562%2076.1326%20165.77%2074.9172%20161.395%2072.4864C157.089%2070.0556%20153.686%2066.7915%20151.185%2062.6939C148.755%2058.5268%20147.539%2053.9778%20147.539%2049.0468C147.539%2044.1158%20148.755%2039.6014%20151.185%2035.5038C153.686%2031.3368%20157.089%2028.0379%20161.395%2025.6071C165.77%2023.1763%20170.562%2021.9609%20175.771%2021.9609C181.049%2021.9609%20185.841%2023.1763%20190.147%2025.6071C194.453%2028.0379%20197.856%2031.3368%20200.357%2035.5038C202.857%2039.6014%20203.923%2044.116%20203.923%2049.047C203.923%2053.978%20202.857%2058.5268%20200.357%2062.6939C197.856%2066.7915%20194.453%2070.0556%20190.147%2072.4864C185.841%2074.9172%20181.049%2076.1326%20175.771%2076.1326ZM175.771%2064.3607C178.619%2064.3607%20181.188%2063.6662%20183.48%2062.2771C185.841%2060.8881%20187.682%2059.0477%20189.001%2056.7558C190.39%2054.3945%20191.085%2051.8248%20191.085%2049.0468C191.085%2046.2687%20190.39%2043.7338%20189.001%2041.4419C187.682%2039.0806%20185.841%2037.2054%20183.48%2035.8164C181.188%2034.4274%20178.619%2033.7329%20175.771%2033.7329C172.993%2033.7329%20170.423%2034.4274%20168.062%2035.8164C165.701%2037.2054%20163.826%2039.0806%20162.437%2041.4419C161.117%2043.7338%20160.457%2046.2687%20160.457%2049.0468C160.457%2051.8248%20161.117%2054.3945%20162.437%2056.7558C163.826%2059.0477%20165.701%2060.8881%20168.062%2062.2771C170.423%2063.6662%20172.993%2064.3607%20175.771%2064.3607Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M109.886%2076.2378C105.076%2076.2378%20100.649%2075.0526%2096.6051%2072.6822C92.5614%2070.242%2089.3543%2066.9653%2086.9839%2062.8519C84.6134%2058.6687%2083.4282%2054.1021%2083.4282%2049.1521C83.4282%2044.2718%2084.6134%2039.7401%2086.9839%2035.557C89.424%2031.3739%2092.6659%2028.0971%2096.7096%2025.7266C100.753%2023.2865%20105.146%2022.0664%20109.886%2022.0664C115.115%2022.0664%20119.612%2023.2516%20123.377%2025.6221C127.212%2027.9228%20130.105%2031.1298%20132.057%2035.2432C134.079%2039.3566%20135.09%2043.9929%20135.09%2049.1521C135.09%2054.3113%20134.079%2058.9476%20132.057%2063.061C130.105%2067.1744%20127.212%2070.4163%20123.377%2072.7868C119.612%2075.0875%20115.115%2076.2378%20109.886%2076.2378ZM112.083%2064.6297C115.15%2064.6297%20117.939%2063.9325%20120.449%2062.5381C122.959%2061.1437%20124.911%2059.2613%20126.305%2056.8909C127.7%2054.5205%20128.397%2051.9409%20128.397%2049.1521C128.397%2046.3634%20127.7%2043.7838%20126.305%2041.4133C124.911%2039.0429%20122.959%2037.1605%20120.449%2035.7661C117.939%2034.3718%20115.15%2033.6746%20112.083%2033.6746C109.154%2033.6746%20106.505%2034.3718%20104.135%2035.7661C101.764%2037.1605%2099.8818%2039.0429%2098.4875%2041.4133C97.1628%2043.7838%2096.5005%2046.3634%2096.5005%2049.1521C96.5005%2051.9409%2097.1628%2054.5205%2098.4875%2056.8909C99.8818%2059.2613%20101.764%2061.1437%20104.135%2062.5381C106.505%2063.9325%20109.154%2064.6297%20112.083%2064.6297ZM128.501%2023.0076H141.574V75.2966H128.501V23.0076Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M64.5022%2076.1327V46.0233C64.5022%2037.4566%2060.0929%2034.559%2055.3056%2034.559C50.6443%2034.559%2046.109%2037.4566%2046.109%2046.0233V76.1327C43.5434%2076.1327%2043.2114%2076.1327%2039.0541%2076.1327C34.8967%2076.1327%2035.5244%2076.1327%2032.2511%2076.1327V46.0233C32.2511%2037.4566%2027.7158%2034.559%2023.0545%2034.559C18.3932%2034.559%2013.8579%2037.4566%2013.8579%2046.0233V76.1327C10.6081%2076.1327%2010.9603%2076.1327%206.80297%2076.1327C2.77158%2076.1327%203.07997%2076.1327%200%2076.1327L4.25977e-06%2046.0233C4.25977e-06%2026.4962%2010.0785%2021.9609%2020.5349%2021.9609C30.4874%2021.9609%2036.2825%2025.8663%2039.18%2032.5433C42.0776%2025.7404%2048.3766%2021.9609%2057.9512%2021.9609C68.7855%2021.9609%2078.3601%2027.0002%2078.3601%2046.0233V76.1327C75.6238%2076.1327%2075.5885%2076.1327%2071.4312%2076.1327C67.2738%2076.1327%2068.1716%2076.1327%2064.5022%2076.1327Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M197.543%2046.0762C200.746%2046.0763%20200.305%2049.4111%20203.949%2049.4111V74.2705C203.949%2089.5465%20192.861%20101.619%20174.998%20101.619C161.471%20101.619%20151.527%2094.6711%20147.566%2084.708H162.799C165.585%2088.4629%20169.993%2090.5322%20174.875%2090.5322C183.129%2090.5322%20190.151%2084.4952%20190.151%2074.6396C190.151%2072.7311%20189.891%2070.9706%20189.414%2069.3721L189.872%2055.1689C190.315%2055.7184%20190.738%2056.2949%20191.137%2056.8994V46.0762H197.543Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M581.711%2076.3415C577.946%2076.3415%20574.147%2075.7838%20570.312%2074.6683C566.477%2073.4831%20563.41%2071.9841%20561.109%2070.1714V58.2495H561.737C564.316%2060.5502%20567.384%2062.3629%20570.94%2063.6876C574.495%2065.0122%20577.842%2065.6746%20580.979%2065.6746C582.861%2065.6746%20584.5%2065.4306%20585.894%2064.9425C587.358%2064.4545%20588.474%2063.7573%20589.241%2062.851C590.077%2061.9446%20590.496%2060.8988%20590.496%2059.7136C590.496%2058.5981%20590.182%2057.6918%20589.554%2056.9946C588.997%2056.2277%20587.811%2055.5653%20585.999%2055.0076C584.186%2054.4498%20581.502%2053.927%20577.946%2053.4389C571.462%2052.672%20566.861%2050.8942%20564.142%2048.1055C561.493%2045.247%20560.168%2041.9005%20560.168%2038.066C560.168%2035.0681%20561.039%2032.349%20562.782%2029.9089C564.525%2027.4687%20567%2025.5515%20570.207%2024.1571C573.415%2022.693%20577.11%2021.9609%20581.293%2021.9609C584.779%2021.9609%20588.16%2022.449%20591.437%2023.425C594.783%2024.3314%20597.572%2025.6212%20599.803%2027.2944V39.53H598.966C596.945%2037.5082%20594.365%2035.8698%20591.228%2034.6149C588.09%2033.2902%20584.918%2032.6279%20581.711%2032.6279C579.968%2032.6279%20578.434%2032.8719%20577.11%2033.3599C575.785%2033.7783%20574.774%2034.4057%20574.077%2035.2424C573.38%2036.0093%20573.031%2036.9156%20573.031%2037.9614C573.031%2039.0072%20573.275%2039.8786%20573.763%2040.5758C574.321%2041.273%20575.506%2041.9353%20577.319%2042.5628C579.201%2043.1206%20581.955%2043.6435%20585.58%2044.1315C592.273%2044.9681%20596.91%2046.7459%20599.489%2049.465C602.069%2052.1143%20603.359%2055.4608%20603.359%2059.5045C603.359%2062.7115%20602.452%2065.6048%20600.64%2068.1844C598.897%2070.6943%20596.387%2072.6813%20593.11%2074.1454C589.833%2075.6095%20586.034%2076.3415%20581.711%2076.3415Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M531.9%2076.3415C525.695%2076.3415%20520.257%2075.1563%20515.586%2072.7859C510.915%2070.3457%20507.29%2067.0689%20504.71%2062.9555C502.2%2058.7724%20500.945%2054.171%20500.945%2049.1512C500.945%2044.0618%20502.165%2039.4603%20504.606%2035.3469C507.046%2031.2335%20510.427%2027.9916%20514.75%2025.6212C519.072%2023.181%20523.952%2021.9609%20529.391%2021.9609C534.759%2021.9609%20539.535%2023.1462%20543.718%2025.5166C547.971%2027.887%20551.282%2031.1638%20553.653%2035.3469C556.023%2039.4603%20557.208%2044.0618%20557.208%2049.1512C557.208%2050.5456%20557.139%2051.8703%20556.999%2053.1252H509.73V44.0269H549.051L544.868%2049.3604C544.868%2046.0139%20544.241%2043.0857%20542.986%2040.5758C541.731%2037.9962%20539.918%2036.0441%20537.548%2034.7195C535.247%2033.3251%20532.563%2032.6279%20529.495%2032.6279C526.358%2032.6279%20523.604%2033.3251%20521.233%2034.7195C518.863%2036.1138%20517.015%2038.066%20515.691%2040.5758C514.366%2043.0857%20513.704%2046.0139%20513.704%2049.3604C513.704%2052.428%20514.436%2055.1819%20515.9%2057.6221C517.364%2060.0622%20519.49%2061.9795%20522.279%2063.3738C525.138%2064.7682%20528.484%2065.4654%20532.319%2065.4654C536.641%2065.4654%20540.615%2064.8031%20544.241%2063.4784C547.866%2062.1538%20550.968%2060.3759%20553.548%2058.1449H554.071V69.8577C551.91%2071.7401%20548.842%2073.3088%20544.868%2074.5637C540.964%2075.7489%20536.641%2076.3415%20531.9%2076.3415Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M479.891%2076.3415C474.313%2076.3415%20469.294%2075.1563%20464.832%2072.7859C460.439%2070.4154%20457.023%2067.1735%20454.583%2063.0601C452.143%2058.877%20450.923%2054.2407%20450.923%2049.1512C450.923%2044.1315%20452.143%2039.5649%20454.583%2035.4515C457.093%2031.2684%20460.474%2027.9916%20464.727%2025.6212C469.05%2023.181%20473.895%2021.9609%20479.264%2021.9609C483.516%2021.9609%20487.281%2022.4838%20490.558%2023.5296C493.835%2024.5754%20496.554%2025.9349%20498.715%2027.6082V40.9941H497.878C495.717%2038.7631%20493.138%2036.9853%20490.14%2035.6607C487.142%2034.336%20483.935%2033.6737%20480.518%2033.6737C477.311%2033.6737%20474.453%2034.3709%20471.943%2035.7652C469.433%2037.0899%20467.481%2038.9723%20466.087%2041.4125C464.692%2043.7829%20463.995%2046.3625%20463.995%2049.1512C463.995%2052.0794%20464.657%2054.7287%20465.982%2057.0992C467.376%2059.3999%20469.363%2061.2474%20471.943%2062.6418C474.523%2063.9665%20477.486%2064.6288%20480.832%2064.6288C484.179%2064.6288%20487.316%2064.0362%20490.244%2062.851C493.172%2061.596%20495.891%2059.6439%20498.401%2056.9946H499.133V70.1714C496.972%2072.0538%20494.218%2073.5528%20490.872%2074.6683C487.525%2075.7838%20483.865%2076.3415%20479.891%2076.3415Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M414.185%2076.2378C409.374%2076.2378%20404.947%2075.0526%20400.903%2072.6822C396.86%2070.242%20393.653%2066.9653%20391.282%2062.8519C388.912%2058.6687%20387.727%2054.1021%20387.727%2049.1521C387.727%2044.2718%20388.912%2039.7401%20391.282%2035.557C393.722%2031.3739%20396.964%2028.0971%20401.008%2025.7266C405.052%2023.2865%20409.444%2022.0664%20414.185%2022.0664C419.414%2022.0664%20423.911%2023.2516%20427.675%2025.6221C431.51%2027.9228%20434.403%2031.1298%20436.355%2035.2432C438.377%2039.3566%20439.388%2043.9929%20439.388%2049.1521C439.388%2054.3113%20438.377%2058.9476%20436.355%2063.061C434.403%2067.1744%20431.51%2070.4163%20427.675%2072.7868C423.911%2075.0875%20419.414%2076.2378%20414.185%2076.2378ZM416.381%2064.6297C419.449%2064.6297%20422.237%2063.9325%20424.747%2062.5381C427.257%2061.1437%20429.209%2059.2613%20430.604%2056.8909C431.998%2054.5205%20432.695%2051.9409%20432.695%2049.1521C432.695%2046.3634%20431.998%2043.7838%20430.604%2041.4133C429.209%2039.0429%20427.257%2037.1605%20424.747%2035.7661C422.237%2034.3718%20419.449%2033.6746%20416.381%2033.6746C413.453%2033.6746%20410.803%2034.3718%20408.433%2035.7661C406.063%2037.1605%20404.18%2039.0429%20402.786%2041.4133C401.461%2043.7838%20400.799%2046.3634%20400.799%2049.1521C400.799%2051.9409%20401.461%2054.5205%20402.786%2056.8909C404.18%2059.2613%20406.063%2061.1437%20408.433%2062.5381C410.803%2063.9325%20413.453%2064.6297%20416.381%2064.6297ZM432.8%2023.0076H445.872V75.2966H432.8V23.0076Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M382.604%200V75.2962H369.531V0H382.604Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M319.02%2066.6805V100.682C314.368%20100.682%20315.817%20100.682%20312.614%20100.682C309.411%20100.682%20309.852%20100.682%20306.208%20100.682V49.3101C306.208%2034.034%20317.296%2021.9609%20335.159%2021.9609C352.899%2021.9609%20364.479%2033.9108%20364.479%2048.9405C364.479%2065.9414%20352.776%2076.1665%20337.376%2076.1665C329.492%2076.1665%20323.086%2072.8403%20319.02%2066.6805ZM320.006%2048.9405C320.006%2058.7961%20326.905%2064.7094%20335.159%2064.7094C343.413%2064.7094%20350.435%2058.9193%20350.435%2048.9405C350.435%2038.9618%20343.536%2033.0484%20335.282%2033.0484C327.028%2033.0484%20320.006%2039.085%20320.006%2048.9405Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3Cpath%20d%3D%22M612.553%2021.233C610.831%2021.233%20609.236%2020.8061%20607.768%2019.9524C606.315%2019.0987%20605.162%2017.9454%20604.308%2016.4926C603.454%2015.0248%20603.027%2013.4297%20603.027%2011.7073C603.027%209.98491%20603.454%208.39729%20604.308%206.94448C605.162%205.47669%20606.315%204.31593%20607.768%203.46221C609.236%202.6085%20610.831%202.18164%20612.553%202.18164C614.275%202.18164%20615.863%202.6085%20617.316%203.46221C618.784%204.31593%20619.944%205.47669%20620.798%206.94448C621.652%208.39729%20622.079%209.98491%20622.079%2011.7073C622.079%2013.4297%20621.652%2015.0248%20620.798%2016.4926C619.944%2017.9454%20618.784%2019.0987%20617.316%2019.9524C615.863%2020.8061%20614.275%2021.233%20612.553%2021.233ZM612.553%2019.5256C613.961%2019.5256%20615.264%2019.1736%20616.462%2018.4696C617.66%2017.7657%20618.611%2016.8146%20619.315%2015.6164C620.019%2014.4182%20620.371%2013.1152%20620.371%2011.7073C620.371%2010.2994%20620.019%208.99639%20619.315%207.79819C618.611%206.6%20617.66%205.64893%20616.462%204.94498C615.264%204.24104%20613.961%203.88907%20612.553%203.88907C611.145%203.88907%20609.842%204.24104%20608.644%204.94498C607.446%205.64893%20606.495%206.6%20605.791%207.79819C605.087%208.99639%20604.735%2010.2994%20604.735%2011.7073C604.735%2013.1152%20605.087%2014.4182%20605.791%2015.6164C606.495%2016.8146%20607.446%2017.7657%20608.644%2018.4696C609.842%2019.1736%20611.145%2019.5256%20612.553%2019.5256ZM608.869%207.03434H612.935C614.148%207.03434%20615.084%207.31143%20615.743%207.86559C616.402%208.40478%20616.732%209.13119%20616.732%2010.0448C616.732%2010.8985%20616.395%2011.6175%20615.721%2012.2016C615.047%2012.7707%20614.118%2013.0553%20612.935%2013.0553H610.666V16.3803H608.869V7.03434ZM609.812%2011.3928H613.07C613.654%2011.3928%20614.111%2011.2655%20614.44%2011.0109C614.77%2010.7562%20614.934%2010.4342%20614.934%2010.0448C614.934%209.6554%20614.77%209.34836%20614.44%209.1237C614.111%208.89904%20613.654%208.78671%20613.07%208.78671H609.812L610.666%207.93299V12.2465L609.812%2011.3928ZM611.205%2012.6509H613.497L616.687%2016.3803H614.283L611.205%2012.6509Z%22%20fill%3D%22%23BCAA82%22%2F%3E%0A%3C%2Fsvg%3E%0A viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

@keyframes bgShift {
  0% { transform: rotate(0deg) scale(1); }
  100% { transform: rotate(2deg) scale(1.06); }
}

/* ─── STATUS BAR ─── */
.status-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: none;
  justify-content: space-between;
  align-items: center;
  padding: 14px 28px 0;
  height: 54px;
}

.status-time { font-size: 0.99rem; font-weight: 600; letter-spacing: -0.01em; }
.status-icons { display: flex; gap: 5px; align-items: center; }
.status-icons svg { width: 16px; height: 16px; }

/* ─── DYNAMIC ISLAND (with countdown) ─── */
.dynamic-island {
  position: absolute;
  top: 12px; left: 50%;
  transform: translateX(-50%);
  width: 126px; height: 44px;
  background: #000;
  border-radius: 20px;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
}

.di-rest {
  display: flex;
  align-items: center;
  gap: 6px;
}

.di-dot {
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  animation: pulse 2.2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(1.7); }
}

.di-mini { font-size: var(--text-xs); font-weight: 500; color: var(--c-accent-light); letter-spacing: 0.06em; }

.di-expanded {
  display: none;
}

.di-label {
  font-size: 0.52rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

.di-cd {
  display: flex;
  gap: 4px;
  align-items: baseline;
}

.di-cd-num {
  font-family: var(--font-heading);
  font-size: var(--text-md);
  font-weight: 300;
  color: var(--w);
  line-height: 1;
}

.di-cd-unit {
  font-size: 0.43rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-transform: uppercase;
}

.di-cd-sep {
  font-size: var(--text-sm);
  color: rgba(156,126,81,0.25);
  margin: 0 1px;
}

.di-btn {
  padding: 5px 11px;
  background: var(--gold);
  color: var(--w);
  font-size: 0.52rem;
  font-weight: 500;
  border-radius: 100px;
  letter-spacing: 0.02em;
  margin-left: 4px;
}

/* ─── HOME SCREEN ─── */
.home {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* No justify-content: center — breaks scrolling (clips top).
     Instead, .hero gets margin-top:auto to push content to center. */
  padding: 64px 24px 32px;
  padding-top: max(64px, env(safe-area-inset-top, 0px) + 54px);
  gap: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.home::-webkit-scrollbar { display: none; }

/* ─── HERO (reduced) ─── */
.hero {
  text-align: center;
  flex-shrink: 0;
  margin-top: auto;
  margin-bottom: 16px;
}

.hero-logo {
  width: clamp(207px, 60vw, 315px);
  height: auto;
  margin-bottom: 18px;
  opacity: 0;
  /* animation triggered via JS after splash fades out */
}

/* ─── HERO INTRO ANIMATIONEN ──────────────────────────────────────────────
   Default = Returning-Visitor (schnell, gruppiert, ~1.2s gesamt).
   Erster Besuch = lange, cinematische Sequenz (~3.9s) — siehe Override-Block
   weiter unten unter `html.mp-first-visit ...`. Das Flag wird via Inline-Script
   in index.twig anhand von localStorage gesetzt, bevor das CSS rendert. */
.hero-logo.animate {
  animation: cineFade 0.7s var(--e-cine) forwards;
}

.hero-loc {
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: var(--space-lg);
  opacity: 0;
  animation: cineFade 0.6s 0.25s var(--e-cine) forwards;
}

.hero-title {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(2.1rem, 8vw, 3.4rem);
  line-height: 0.96;
  letter-spacing: -0.04em;
  margin-bottom: var(--space-lg);
  opacity: 0;
  animation: cineFade 0.6s 0.4s var(--e-cine) forwards;
}

.hero-title em { font-style: normal; color: var(--gold-l); text-shadow: 0 0 30px rgba(212,196,138,0.2); }

/* ─── APP GRID ─── */
.app-grid {
  --tile: clamp(64px, 18vw, 83px);
  --half-gap: 10px;
  display: grid;
  grid-template-columns: repeat(6, calc((var(--tile) + var(--half-gap)) / 2));
  column-gap: 0;
  row-gap: 18px;
  justify-content: center;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}

.app-row { display: contents; }

/* Row 1: 3 icons centered across 6 half-columns (each icon spans 2) */
.app-row--primary .app-icon:nth-child(1) { grid-column: 1 / 3; }
.app-row--primary .app-icon:nth-child(2) { grid-column: 3 / 5; }
.app-row--primary .app-icon:nth-child(3) { grid-column: 5 / 7; }

/* Row 2: 2 icons centered (offset by 1 half-column) */
.app-row--secondary .app-icon:nth-child(1) { grid-column: 2 / 4; }
.app-row--secondary .app-icon:nth-child(2) { grid-column: 4 / 6; }

.app-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: clamp(64px, 18vw, 83px);
  flex-shrink: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s var(--e);
  opacity: 0;
  transform: translateY(14px) scale(0.85);
  /* Default (Returning Visitor): alle vier Icons erscheinen zeitgleich. */
  animation: appIn 0.5s 0.55s var(--e-cine) forwards;
}

.app-icon:active { transform: scale(0.88) !important; }


@keyframes appIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes cineFade {
  from { opacity: 0; transform: translateY(20px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* ─── ERSTBESUCH-OVERRIDE ──────────────────────────────────────────────────
   Wird nur gesetzt, wenn `localStorage.mp_visited` noch nie gesetzt wurde
   (siehe Inline-Script in index.twig). Lange, gestaffelte cineFade-Sequenz —
   das "Wow" für den ersten Eindruck. Beim 2. Besuch greift der Default-Block
   weiter oben (~1.2s gesamt statt ~3.9s). */
html.mp-first-visit .hero-logo.animate {
  animation: cineFade 1.8s var(--e-cine) forwards;
}
html.mp-first-visit .hero-loc {
  animation: cineFade 1.6s 0.8s var(--e-cine) forwards;
}
html.mp-first-visit .hero-title {
  animation: cineFade 1.8s 1.4s var(--e-cine) forwards;
}
html.mp-first-visit .hero-proof {
  animation: cineFade 1.6s 2.0s var(--e-cine) forwards;
}
html.mp-first-visit .app-icon {
  animation: appIn 0.9s var(--e-cine) forwards;
}
html.mp-first-visit .app-row--primary   .app-icon:nth-child(1) { animation-delay: 2.4s; }
html.mp-first-visit .app-row--primary   .app-icon:nth-child(2) { animation-delay: 2.6s; }
html.mp-first-visit .app-row--primary   .app-icon:nth-child(3) { animation-delay: 2.8s; }
html.mp-first-visit .app-row--secondary .app-icon:nth-child(1) { animation-delay: 3.0s; }
html.mp-first-visit .app-row--secondary .app-icon:nth-child(2) { animation-delay: 3.2s; }

.app-tile {
  width: clamp(64px, 18vw, 83px);
  height: clamp(64px, 18vw, 83px);
  flex-shrink: 0;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s var(--e), box-shadow 0.4s;
}

.app-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(255,255,255,0.10) 0%, transparent 50%);
  pointer-events: none;
}

.app-tile svg { position: relative; z-index: 1; }

.app-label {
  font-size: var(--text-xs);
  font-weight: 400;
  text-align: center;
  color: rgba(255,255,255,0.7);
  text-shadow: 0 1px 6px rgba(0,0,0,0.5);
  line-height: 1.15;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ─── TILE COLORS (softer, misty) ─── */
.app-tile--warm {
  background: linear-gradient(155deg, rgba(241,237,227,0.85) 0%, rgba(188,170,130,0.7) 100%);
  box-shadow: 0 6px 24px rgba(156,126,81,0.12);
}
.app-tile--warm svg { color: var(--d); }

.app-tile--sage {
  background: linear-gradient(155deg, rgba(107,143,114,0.7) 0%, rgba(74,107,80,0.6) 100%);
  box-shadow: 0 6px 24px rgba(74,107,80,0.12);
}

.app-tile--accent {
  background: linear-gradient(155deg, var(--gold) 0%, rgba(253,150,35,0.85) 100%);
  box-shadow: 0 6px 24px rgba(156,126,81,0.15), 0 0 0 0 rgba(156,126,81,0);
  animation: accGlow 3s ease-in-out infinite;
}

@keyframes accGlow {
  0%, 100% { box-shadow: 0 6px 24px rgba(156,126,81,0.15), 0 0 0 0 rgba(156,126,81,0); }
  50% { box-shadow: 0 6px 24px rgba(156,126,81,0.2), 0 0 20px 4px rgba(156,126,81,0.12); }
}

.app-tile--dark {
  background: linear-gradient(155deg, rgba(17,26,20,0.8) 0%, rgba(54,70,58,0.6) 100%);
  border: 1px solid rgba(156,126,81,0.06);
  box-shadow: 0 6px 24px rgba(0,0,0,0.15);
}

/* Secondary / de-emphasised tiles — frosted glass, lets wallpaper show through */
.app-tile--muted {
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

/* ─── HOME INDICATOR ─── */
.home-indicator {
  position: fixed;
  bottom: 6px; left: 50%;
  transform: translateX(-50%);
  width: 134px; height: 5px;
  background: rgba(255,255,255,0.18);
  border-radius: 3px;
  z-index: 500;
}

/* ─── OVERLAY + SHEET ─── */
.overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0; pointer-events: none;
  transition: opacity 0.35s;
}
.overlay.open { opacity: 1; pointer-events: all; }

.sheet {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 310;
  max-height: 88vh; max-height: 88dvh;
  border-radius: 22px 22px 0 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateY(100%);
  transition: transform 0.55s var(--e);
}

.sheet.open { transform: translateY(0); }
.sheet.dk { background: var(--d); color: var(--w); }
.sheet.lt { background: var(--l); color: var(--l-text); }

.sheet__handle { width: 36px; height: 5px; border-radius: 3px; margin: 10px auto 0; }
.dk .sheet__handle { background: rgba(255,255,255,0.12); }
.lt .sheet__handle { background: rgba(17,26,20,0.1); }

.sheet__wrap { padding: var(--space-md) var(--space-lg) var(--space-xl); }

.sheet__close-row { position: sticky; top: 0; display: flex; justify-content: flex-end; padding-bottom: 8px; z-index: 5; }

.sheet__close-btn {
  width: 44px; height: 44px; border-radius: 50%; min-width: 44px; min-height: 44px;
  border: none; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: transform 0.2s;
}
.sheet__close-btn:hover { transform: scale(1.1); }
.dk .sheet__close-btn { background: rgba(255,255,255,0.07); color: var(--w); }
.lt .sheet__close-btn { background: rgba(17,26,20,0.06); color: var(--l-text); }
.sheet__close-btn svg { width: 13px; height: 13px; }

/* ─── SHEET CONTENT STYLES ─── */
.section-tag { font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase; color: var(--c-accent); margin-bottom: var(--space-sm); }
.lt .section-tag { color: var(--c-accent-on-light); }

.sheet__title { font-family: var(--font-heading); font-weight: 300; font-size: var(--text-xl); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: var(--space-md); }
.lt .sheet__title { color: var(--l-text); }
.sheet__title .highlight { color: var(--gold-l); }
.lt .sheet__title .highlight { color: var(--c-accent-on-light); }

.sheet__para { font-size: var(--text-md); line-height: 1.75; font-weight: 300; margin-bottom: var(--space-md); }
.dk .sheet__para { color: var(--c-text-muted); }
.lt .sheet__para { color: var(--c-text-sub-light); }
.sheet__para strong { font-weight: 400; }
.dk .sheet__para strong { color: var(--w); }
.lt .sheet__para strong { color: var(--l-text); }
.sheet__para em { font-style: italic; }
.dk .sheet__para em { color: var(--gold-l); }
.lt .sheet__para em { color: #7A6340; }

/* Flagship */
.flagship__badge { display: inline-block; font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 13px; border-radius: 100px; color: var(--gold); border: 1px solid rgba(156,126,81,0.18); background: rgba(156,126,81,0.04); margin-bottom: 16px; }
.flagship__name { font-family: var(--font-heading); font-size: clamp(3.23rem, 12.42vw, 4.97rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; margin-bottom: 9px; }
.lt .flagship__name { color: var(--l-text); }
.flagship__tagline { font-family: var(--font-heading); font-style: italic; font-weight: 300; font-size: var(--text-lg); color: var(--gold); margin-bottom: 6px; }
.flagship__tech { font-size: var(--text-sm); letter-spacing: 0.05em; margin-bottom: 21px; }
.dk .flagship__tech { color: rgba(168,196,173,0.7); }
.lt .flagship__tech { color: var(--l-sub); }

/* Divider */
.sheet__divider { height: 1px; background: var(--c-border-subtle); margin: var(--space-lg) 0; }
.lt .sheet__divider { background: rgba(17,26,20,0.06); }

/* Founder Story */
.founder-story { margin-bottom: 16px; }

.founder-story__text {
  font-size: var(--text-md);
  line-height: 1.75;
  font-weight: 400;
  margin-bottom: var(--space-sm);
}

.lt .founder-story__text { color: var(--c-text-sub-light); }
.founder-story__text strong { font-weight: 400; }
.lt .founder-story__text strong { color: var(--l-text); }

.founder-story__accent {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  font-size: var(--text-lg);
  line-height: 1.5;
  color: var(--c-accent);
  margin: var(--space-md) 0 var(--space-sm);
}
.lt .founder-story__accent { color: var(--c-accent-on-light); }

.founder-story__sig {
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-accent);
}

/* Four Offerings Overview */
.offerings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}

.offering-item {
  padding: 16px 14px;
  border-radius: 14px;
  border: 1px solid rgba(17,26,20,0.06);
  background: rgba(17,26,20,0.02);
}

.offering-item .offering-item__badge {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 100px;
  color: var(--c-accent-on-light);
  border: 1px solid rgba(122,99,64,0.25);
  margin-bottom: var(--space-xs);
}

.offering-item h3 {
  font-family: var(--font-heading);
  font-size: var(--text-md);
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: var(--space-xs);
  color: var(--c-text-dark);
}

.offering-item .offering-item__tagline {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-sm);
  color: var(--c-accent-on-light);
  margin-bottom: 3px;
  line-height: 1.35;
}

.offering-item .offering-item__tech {
  font-size: var(--text-xs);
  color: var(--c-text-sub-light);
  line-height: 1.4;
}

.offering-item .offering-item__desc {
  font-size: var(--text-sm);
  color: var(--c-text-sub-light);
  line-height: 1.5;
  font-weight: 300;
  margin-top: var(--space-xs);
}

.philosophy { background: rgba(30,60,38,0.35); border-radius: 16px; padding: var(--space-lg); margin: 0; }
.lt .philosophy { background: rgba(168,196,173,0.25); }
.philosophy__negation { font-size: var(--text-md); font-weight: 500; letter-spacing: 0.02em; color: var(--c-text-muted); margin-bottom: var(--space-sm); }
.lt .philosophy__negation { color: var(--c-text-sub-light); }
.philosophy__claim { font-family: var(--font-heading); font-weight: 300; font-size: var(--text-lg); line-height: 1.5; color: var(--c-accent-light); margin-top: var(--space-xs); margin-bottom: 0; }
.lt .philosophy__claim { color: var(--c-accent-on-light); }
.philosophy__quote { font-family: var(--font-heading); font-style: italic; font-weight: 300; font-size: var(--text-md); color: var(--mist); opacity: 0.55; }

.testimonial__quote { font-family: var(--font-heading); font-weight: 300; font-style: italic; font-size: var(--text-lg); line-height: 1.55; margin-bottom: var(--space-sm); }
.lt .testimonial__quote { color: var(--l-text); }
.testimonial__cite { font-family: var(--font-body); font-size: var(--text-xs); letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-accent); display: block; margin-bottom: var(--space-lg); }
.lt .testimonial__cite { color: var(--c-accent-on-light); }

/* Nums */
.stats { display: flex; justify-content: space-around; gap: 10px; }
.stats__item { text-align: center; }
.stats__number { font-family: var(--font-heading); font-weight: 300; font-size: var(--text-xl); line-height: 1; margin-bottom: 3px; }
.lt .stats__number { color: var(--c-accent-on-light); }
.stats__label { font-size: var(--text-xs); font-weight: 300; line-height: 1.3; }
.lt .stats__label { color: var(--c-text-sub-light); }

/* Offer cards */
.offer-card { background: rgba(12,18,14,0.92); border: 1px solid var(--c-border); border-radius: 16px; padding: var(--space-lg); margin-bottom: var(--space-sm); position: relative; overflow: hidden; }
.offer-card::before { content: ''; position: absolute; top: 0; left: 5%; right: 5%; height: 2px; z-index: 1; background: linear-gradient(90deg, transparent, var(--glow-color-line, rgba(188,170,130,0.6)), transparent); }
.offer-card::after { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 60px; z-index: 0; background: radial-gradient(ellipse at top, var(--glow-color-spread, rgba(188,170,130,0.25)), transparent 70%); pointer-events: none; }
.offer-card--45 { --glow-color-line: rgba(210,160,60,0.8); --glow-color-spread: rgba(210,160,60,0.3); }
.offer-card--fm { --glow-color-line: rgba(80,180,100,0.8); --glow-color-spread: rgba(80,180,100,0.3); }
.offer-card--60 { --glow-color-line: rgba(80,160,220,0.8); --glow-color-spread: rgba(80,160,220,0.3); }
.offer-card--mt { --glow-color-line: rgba(188,170,130,0.8); --glow-color-spread: rgba(188,170,130,0.3); }
.offer-card .offer-card__badge { display: inline-block; font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; border-radius: 100px; color: var(--c-accent-light); border: 1px solid var(--c-border); margin-bottom: var(--space-sm); }
.offer-card h3 { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 500; letter-spacing: 0; margin-bottom: var(--space-xs); }
.offer-card .offer-card__tagline { font-family: var(--font-heading); font-style: italic; font-size: var(--text-md); line-height: 1.4; color: var(--c-accent-light); margin-bottom: var(--space-xs); }
.offer-card .offer-card__tech { font-size: var(--text-sm); color: var(--c-text-muted); margin-bottom: var(--space-sm); }
.offer-card .offer-card__desc { font-size: var(--text-md); color: var(--c-green-pale); line-height: 1.6; font-weight: 300; margin-bottom: var(--space-sm); }
.offer-card .offer-card__ideal { padding-top: 10px; border-top: 1px solid rgba(156,126,81,0.12); }
.offer-card .offer-card__ideal h4 { font-size: var(--text-sm); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 2px; }
.offer-card .offer-card__ideal p { font-size: var(--text-sm); color: var(--c-green-pale); font-weight: 300; }

/* Five Moves */
.five-moves { display: flex; gap: 3px; margin: 10px 0 12px; }
.five-moves__item { flex: 1; background: rgba(156,126,81,0.05); border-radius: 8px; padding: 8px 3px; text-align: center; }
.five-moves__item h4 { font-size: var(--text-xs); font-weight: 600; color: var(--c-accent-light); margin-bottom: 1px; }
.five-moves__item p { font-size: var(--text-xs); color: var(--c-green-pale); line-height: 1.2; }

/* CTA */
.email-signup { display: flex; gap: 8px; margin-bottom: 8px; }
.email-signup input { flex: 1; padding: 13px 18px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 100px; color: var(--c-white); font-family: var(--font-body); font-size: var(--text-md); font-weight: 300; outline: none; transition: border-color 0.3s; }
.email-signup input::placeholder { color: rgba(168,196,173,0.55); }
.email-signup input:focus { border-color: var(--gold); }
.email-signup button { padding: 13px 20px; background: var(--c-accent); color: var(--c-dark); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 500; border: none; border-radius: 100px; cursor: pointer; transition: all 0.3s var(--ease); white-space: nowrap; }
.email-signup button:hover { background: var(--marigold); }
.email-signup__note { font-size: var(--text-sm); color: var(--c-text-muted); }
.email-signup__cta-btn { width: 100%; text-align: center; display: inline-block; padding: 13px 28px; background: var(--c-accent); color: var(--c-dark); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 500; border-radius: 100px; text-decoration: none; transition: all 0.3s var(--ease); white-space: nowrap; }
.email-signup__cta-btn:hover { background: var(--marigold); }

/* Kontakt */
.contact-section { margin-bottom: 24px; }
.contact-section h2 { font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-accent); margin-bottom: var(--space-sm); }
.contact-address { font-style: normal; font-size: var(--text-md); line-height: 1.9; color: var(--c-green-pale); font-weight: 300; }
.contact-address a { color: var(--gold-l); text-decoration: none; }
.contact-hours { display: flex; justify-content: space-between; padding: var(--space-sm) 0; border-bottom: 1px solid var(--c-border-subtle); font-size: var(--text-md); }
.contact-hours:last-child { border: none; }
.contact-hours__day { color: var(--mist); font-weight: 300; }
.contact-hours__time { color: var(--gold-l); font-weight: 400; }
.social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.social-link { display: flex; align-items: center; gap: 7px; padding: 9px 16px; background: var(--c-surface); border: 1px solid var(--c-border-subtle); border-radius: 100px; color: var(--c-green-pale); text-decoration: none; font-size: var(--text-sm); font-weight: 400; transition: all 0.3s; }
.social-link:hover { border-color: var(--gold); color: var(--w); }
.social-link svg { width: 13px; height: 13px; }

.hero-proof {
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-text-muted-low);
  margin-top: 14px;
  margin-bottom: 28px;
  opacity: 0;
  animation: cineFade 1.6s 2.0s var(--e-cine) forwards;
}

.urgency-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 10px 18px;
  background: rgba(156,126,81,0.06);
  border: 1px solid rgba(156,126,81,0.08);
  border-radius: 100px;
  font-size: var(--text-sm);
  font-weight: 300;
  color: var(--c-text-muted-low);
  cursor: pointer;
  transition: all 0.3s var(--e);
  opacity: 0;
  animation: cineFade 1.4s 3.2s var(--e-cine) forwards;
}
.urgency-line:hover { border-color: var(--gold); background: rgba(156,126,81,0.1); }
.urgency-line strong { font-weight: 500; color: var(--w); }
.urgency-line em { font-style: normal; color: var(--gold-l); font-weight: 400; }
.urgency-dot {
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(184,148,79,0.4);
  animation: pulse 3s ease-in-out infinite;
}

.bridge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(156,126,81,0.06);
  border: 1px solid rgba(156,126,81,0.12);
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.3s var(--e);
}
.bridge:hover { background: rgba(156,126,81,0.12); border-color: var(--gold); }
.lt .bridge { background: rgba(156,126,81,0.05); border-color: rgba(156,126,81,0.12); }
.lt .bridge:hover { background: rgba(156,126,81,0.1); border-color: #7A6340; }
.bridge-label {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--c-accent-light);
}
.lt .bridge-label { color: var(--c-accent-on-light); }
.bridge-btn {
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--c-accent);
}
.bridge:hover .bridge-btn { color: var(--w); }
.lt .bridge:hover .bridge-btn { color: var(--l-text); }

/* ─── HERO NEGATION LINE ─── */
.hero-neg {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--c-text-muted);
  margin-bottom: 6px;
  opacity: 0;
  animation: fadeUp 0.7s 0.45s var(--e) forwards;
}

/* ─── HERO PROOF LINE ─── */
.hero-proof {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(188,170,130,0.72);
  margin-bottom: var(--space-lg);
  opacity: 0;
  animation: cineFade 0.6s 0.6s var(--e-cine) forwards;
}

/* ─── CTA LINE UNDER APPS ─── */
.cta-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding: 10px 18px;
  border-radius: 100px;
  background: rgba(156,126,81,0.06);
  border: 1px solid rgba(156,126,81,0.1);
  cursor: pointer;
  transition: all 0.4s var(--e);
  opacity: 0;
  animation: fadeUp 0.6s 1.1s var(--e) forwards;
}

.cta-line:hover, .cta-line:active {
  background: rgba(156,126,81,0.12);
  border-color: rgba(156,126,81,0.2);
}

.cta-dot {
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  animation: pulse 2.2s ease-in-out infinite;
  flex-shrink: 0;
}

.cta-text {
  font-size: var(--text-sm);
  font-weight: 300;
  color: var(--c-text-muted-low);
  letter-spacing: 0.02em;
}

.cta-text strong {
  font-weight: 500;
  color: var(--w);
}

.cta-text em {
  font-style: normal;
  color: var(--gold-l);
}

/* ─── SHEET BRIDGE CTA ─── */
.sheet__bridge {
  text-align: center;
  padding: 16px;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.3s var(--e);
  margin-top: 8px;
}

.lt .sheet__bridge {
  background: rgba(122,99,64,0.06);
  border: 1px solid rgba(122,99,64,0.12);
}

.dk .sheet__bridge {
  background: rgba(156,126,81,0.08);
  border: 1px solid rgba(156,126,81,0.12);
}

.sheet__bridge:hover {
  background: rgba(156,126,81,0.15);
}

.bridge__text {
  font-size: var(--text-md);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.lt .bridge__text { color: #7A6340; }
.dk .bridge__text { color: var(--gold-l); }

.sheet__bridge:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.lt .offer-card--light {
  background: rgba(12,18,14,0.92);
  border-color: rgba(156,126,81,0.15);
}
.lt .offer-card--light::before { opacity: 1; }
.lt .offer-card--light::after { opacity: 1; }
.lt .offer-card--light h3 { color: var(--w); }
.lt .offer-card--light .offer-card__badge { color: var(--gold-l); border-color: rgba(156,126,81,0.2); }
.lt .offer-card--light .offer-card__tagline { color: var(--gold-l); }
.lt .offer-card--light .offer-card__tech { color: var(--c-text-muted-low); }
.lt .offer-card--light .offer-card__desc { color: rgba(255,255,255,0.7); }
.lt .offer-card--light .offer-card__ideal { border-color: rgba(156,126,81,0.12); }
.lt .offer-card--light .offer-card__ideal h4 { color: var(--gold); }
.lt .offer-card--light .offer-card__ideal p { color: rgba(255,255,255,0.6); }
.lt .five-moves__item--light { background: rgba(156,126,81,0.1); }
.lt .five-moves__item--light h5 { color: var(--gold-l); }
.lt .five-moves__item--light p { color: rgba(255,255,255,0.5); }

/* ─── LOGO BREATHING ─── */
@keyframes logoBreathe {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* Once cineFade has played, freeze base animation so idle-timer toggles don't replay it */
.hero-logo.intro-done { opacity: 1; animation: none; }
.hero-logo.breathing { animation: logoBreathe 4s ease-in-out 1; }

.app-icon:focus-visible .app-tile {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 20px;
}

.dynamic-island:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.sheet__close-btn:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.email-signup input:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 1px;
}

.email-signup button:focus-visible {
  outline: 2px solid var(--w);
  outline-offset: 2px;
}

.social-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Legal/Cookie-Styles → jetzt in legal.css (wird separat geladen) */

/* ─── CONSENT BANNER: iPhone-Integration ─── */
/* Verstecke das Standard-Banner (fixed viewport) auf der Homepage */
body > .mp-consent { display: none; }

/* Phone-internes Banner — home.css kommt nach consent.css im DOM */
.mp-consent--phone {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: none;
  z-index: 250;
  transform: translateY(100%);
  transition: transform 0.4s var(--e);
  background: rgba(11, 26, 15, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: none;
  border-top: 1px solid var(--c-border);
  padding: var(--space-sm) var(--space-md) calc(var(--space-md) + 16px);
  border-radius: 0;
}
.mp-consent--phone.visible { transform: translateY(0); }
.mp-consent--phone .mp-consent__inner {
  gap: var(--space-xs);
  text-align: center;
}
.mp-consent--phone .mp-consent__text {
  font-size: var(--text-xs);
  line-height: 1.5;
}
.mp-consent--phone .mp-consent__details-btn {
  font-size: var(--text-xs);
}
.mp-consent--phone .mp-consent__btn {
  font-size: var(--text-xs);
  padding: 8px 14px;
  border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .wallpaper::before { animation: none; }
  .di-dot { animation: none; opacity: 1; }
  .app-tile--accent { animation: none; }
}

/* ─── RESPONSIVE ─── */
@media (max-width: 370px) {
  .home { padding: 54px 14px 24px; }
  .hero-title { font-size: 3rem; }
  .app-tile { width: 56px; height: 56px; border-radius: 16px; }
  .app-grid { row-gap: 12px; --tile: 56px; grid-template-columns: repeat(6, 28px); }
  .app-icon { width: 56px; }
}

@media (min-width: 500px) {
  .phone {
    max-width: 440px;
    max-height: min(932px, calc(100vh - 40px));
    max-height: min(932px, calc(100dvh - 40px));
    margin: auto; border-radius: 48px;
    border: 4px solid #1A1A1A;
    box-shadow: 0 0 0 2px #333, 0 50px 120px rgba(0,0,0,0.6);
    overflow: hidden;
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }
  .splash { border-radius: 48px; }
  .home-indicator { bottom: 12px; }
  .sheet { max-width: 440px; left: 50%; transform: translate(-50%, 100%); }
  .sheet.open { transform: translate(-50%, 0); }
  .status-bar { display: flex; }
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* -- Value Exchange Block -- */
.value-exchange {
  border-left: 2px solid var(--c-accent);
  padding: var(--space-sm) 0 var(--space-sm) var(--space-md);
  margin-bottom: var(--space-lg);
}
.value-exchange__text {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 300;
  font-size: var(--text-lg);
  line-height: 1.5;
  color: var(--c-accent-light);
}

/* -- Multi-step Form -- */
.ea-step { margin-bottom: var(--space-sm); }
.ea-step--hidden { display: none; }
.js .ea-noscript-msg { display: none; }
.no-js #ea-form { display: none; }
.ea-confirm {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--c-accent-light);
  margin-bottom: var(--space-md);
  line-height: 1.5;
}
.ea-skip-wrap { text-align: center; margin-top: var(--space-sm); }
.ea-skip {
  font-size: var(--text-sm);
  color: var(--c-text-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: color 0.2s;
}
.ea-skip:hover { color: var(--c-accent-light); }
.email-signup--stacked {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-bottom: var(--space-xs);
}
.email-signup--stacked input {
  width: 100%;
  padding: 13px 18px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 100px;
  color: var(--c-white);
  font-family: var(--font-body);
  font-size: var(--text-md);
  font-weight: 300;
  outline: none;
  transition: border-color 0.3s;
}
.email-signup--stacked input::placeholder { color: var(--c-text-muted); }
.email-signup--stacked input:focus { border-color: var(--c-accent); }
.ea-success__text {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  color: var(--c-accent-light);
  line-height: 1.5;
}

/* -- Hidden Tracking Form -- */
.hl-form-offscreen {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

/* -- Offer Card Pricing -- */
.offer-card__price {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--c-white);
  margin-bottom: var(--space-sm);
  letter-spacing: -0.01em;
}
.offer-card__price span {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 300;
  color: var(--c-text-muted);
  letter-spacing: 0;
}
.offer-card__price--sub {
  font-size: var(--text-md);
  color: var(--c-text-muted);
  margin-top: calc(var(--space-xs) * -1);
}
.lt .offer-card--light .offer-card__price { color: var(--c-white); }
.lt .offer-card--light .offer-card__price span { color: rgba(255,255,255,0.6); }
.lt .offer-card--light .offer-card__price--sub { color: rgba(255,255,255,0.6); }

/* -- Early Access Image -- */
.ea-hero-img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: var(--space-lg);
  aspect-ratio: 676 / 800;
  object-fit: cover;
}
