
:root{--bg:#080808;--panel:#0c0c0c;--white:#f7f5f2;--muted:#aaa;--pink:#ec008c;--line:#292929;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.7vw;position:relative;z-index:5;background:#080808}
.logo{font:29px var(--serif);letter-spacing:-1.6px;white-space:nowrap}.logo b{font-weight:400;color:var(--pink)}
.nav{display:flex;align-items:center;gap:31px;height:100%}.nav a{font:14px var(--serif);height:100%;display:flex;align-items:center;position:relative;white-space:nowrap}.nav a:hover,.nav a.current{color:var(--pink)}.nav a.current:after,.nav a:hover:after{content:"";height:2px;background:var(--pink);position:absolute;bottom:0;left:0;right:0}
.menu-button{display:none;border:0;background:none;color:white;font-size:25px}
.home-main{height:calc(100dvh - 76px);min-height:620px;max-height:1000px;display:grid;grid-template-rows:minmax(0,1fr) 188px;overflow:hidden}
.hero{min-height:0;position:relative;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);align-items:center;padding:3.5vh 5.9vw 3.4vh;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-copy{position:relative;z-index:2;max-width:465px;padding-bottom:20px}.kicker{font-size:10px;letter-spacing:.23em;color:var(--pink);font-weight:700;margin:0 0 27px}.hero h1{font:400 clamp(54px,5vw,78px)/.98 var(--serif);letter-spacing:-.055em;margin:0 0 24px}.hero h1 em{font-weight:400;color:var(--pink)}.intro{font-size:13px;line-height:1.9;color:#bcbcbc;max-width:400px;margin:0 0 26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pink);color:#fff;padding:15px 20px;min-width:200px;font-size:11px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#ff269f;transform:translateY(-2px)}.button span{font-size:17px}
.hero-art{height:100%;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.orb{width:min(45vw,650px);aspect-ratio:1;border-radius:50%;position:absolute;right:-4%;top:50%;transform:translateY(-50%);background:repeating-linear-gradient(164deg,#dedede 0 2px,#8c8c8c 3px,#171717 5px,#050505 7px);box-shadow:inset 22px 0 34px #000, inset -8px -35px 42px #000;filter:contrast(1.08);animation:orbFloat 8s ease-in-out infinite}.orb:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,#0008 0%,transparent 26%,transparent 70%,#000b 100%)}.orb-glow{position:absolute;width:65%;height:65%;right:2%;top:17%;background:radial-gradient(circle,#4448 0,transparent 67%);pointer-events:none}.hero-count{position:absolute;left:0;bottom:4px;display:flex;align-items:center;gap:11px;color:#aaa;font-size:10px}.hero-count b{font-weight:400;color:#fff}.hero-count i{display:inline-block;width:72px;height:1px;background:#777}.arrows{position:absolute;left:43%;bottom:4px;display:flex;gap:26px;color:#bbb;font-size:20px}.arrows span{cursor:pointer;transition:color .2s}.arrows span:hover{color:var(--pink)}
.service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:28px 3.7vw 24px;min-height:0}.service{border-right:1px solid #303030;padding:5px 26px 0;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s}.service:first-child{padding-left:22px}.service:last-child{border-right:0}.service:hover .service-icon,.service:hover .service-arrow{color:var(--pink);transform:translateX(4px)}.service-icon{font-size:23px;color:var(--pink);height:38px;transition:transform .2s}.service h2{font:21px var(--serif);font-weight:400;margin:9px 0 9px}.service p{font-size:11px;color:#aaa;line-height:1.65;max-width:230px;margin:0 0 12px}.service-arrow{font-size:15px;margin-top:auto;transition:transform .2s;color:#ddd}
.page-main{min-height:calc(100dvh - 76px);padding:clamp(54px,8vh,100px) 8vw 70px;max-width:1500px;margin:0 auto}.page-kicker{font-size:10px;letter-spacing:.22em;color:var(--pink);font-weight:bold}.page-title{font:400 clamp(48px,6vw,86px)/.98 var(--serif);letter-spacing:-.05em;margin:20px 0 22px}.page-title em{color:var(--pink);font-weight:400}.page-lead{color:#aaa;line-height:1.9;max-width:680px;font-size:14px}.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}.page-card{border:1px solid #292929;padding:26px;min-height:190px;display:flex;flex-direction:column;align-items:flex-start}.page-card .num{color:var(--pink);font-size:10px;letter-spacing:.16em}.page-card h2{font:26px var(--serif);font-weight:400;margin:30px 0 12px}.page-card p{font-size:13px;line-height:1.8;color:#aaa;margin:0}.page-card a{margin-top:auto;padding-top:24px;color:var(--pink);font-size:12px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px}.work{min-height:380px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#202d28;background:#dce4df}.work small{font-size:8px;letter-spacing:.18em}.work h2{font:clamp(25px,3vw,40px)/1 var(--serif);font-weight:400;margin:auto 0}.work p{font-size:11px}.work:nth-child(2){background:#e8dfca;color:#2d281f}.work:nth-child(3){background:#191919;color:#eee}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}.step{border-top:1px solid #444;padding-top:18px}.step b{color:var(--pink);font-size:11px}.step h2{font:25px var(--serif);font-weight:400;margin:27px 0 12px}.step p{font-size:13px;line-height:1.8;color:#aaa}
.contact-layout{display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:center}.contact-panel{border:1px solid #303030;padding:32px}.contact-panel h2{font:32px var(--serif);font-weight:400}.contact-panel p{color:#aaa;line-height:1.8;font-size:13px}.text-link{display:inline-block;margin-top:22px;padding-bottom:10px;border-bottom:1px solid #666;font-size:11px;letter-spacing:.15em}.text-link span{color:var(--pink);padding-left:20px}
.footer{border-top:1px solid var(--line);padding:24px 4.7vw;display:flex;justify-content:space-between;gap:16px;align-items:center;color:#888;font-size:10px;letter-spacing:.1em}.footer .logo{font-size:21px}.footer a:last-child:hover{color:var(--pink)}
@keyframes orbFloat{0%,100%{transform:translateY(-50%) rotate(0deg)}50%{transform:translateY(calc(-50% - 9px)) rotate(2deg)}}
@media(max-width:1050px){.nav{gap:18px}.nav a{font-size:13px}.hero{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);padding-left:4vw;padding-right:3vw}.hero h1{font-size:clamp(52px,5.5vw,70px)}.service{padding-left:18px;padding-right:18px}.service h2{font-size:18px}.orb{width:50vw;right:-10%}}
@media(max-width:760px){.site-header{height:68px;padding:0 6vw}.logo{font-size:25px}.menu-button{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#080808;border-bottom:1px solid #333;height:auto;padding:12px 6vw 20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{height:auto;padding:14px 0;font-size:16px}.nav a:after{display:none}.home-main{height:auto;min-height:calc(100dvh - 68px);max-height:none;display:block;overflow:visible}.hero{min-height:680px;height:calc(100dvh - 68px);max-height:850px;grid-template-columns:1fr;padding:52px 7vw 42px;align-items:start}.hero-copy{max-width:460px}.hero h1{font-size:clamp(52px,10vw,76px)}.hero-art{position:absolute;inset:0 0 0 25%;opacity:.58;pointer-events:none}.orb{width:min(75vw,520px);right:-18%;top:65%}.hero-copy{z-index:2}.intro{max-width:360px}.hero-count{bottom:10px}.arrows{left:auto;right:10px;bottom:8px}.service-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 5vw 28px;gap:0}.service{min-height:175px;padding:18px!important;border-right:1px solid #303030;border-bottom:1px solid #303030}.service:nth-child(2){border-right:0}.service:nth-child(n+3){border-bottom:0}.page-main{padding:58px 7vw 60px;min-height:calc(100dvh - 68px)}.page-grid,.work-grid{grid-template-columns:1fr}.work{min-height:300px}.steps{grid-template-columns:repeat(2,1fr);row-gap:32px}.contact-layout{grid-template-columns:1fr;gap:34px}.footer{flex-wrap:wrap;padding:22px 6vw}}
@media(max-width:420px){.hero{min-height:650px}.hero h1{font-size:49px}.kicker{font-size:9px}.service h2{font-size:18px}.service p{font-size:10px}.steps{grid-template-columns:1fr}.footer .logo{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Full-screen editorial intro — homepage only */
body.intro-active{overflow:hidden}
.intro-screen{position:fixed;inset:0;z-index:1000;background:#050505;color:#f7f5f2;display:flex;flex-direction:column;justify-content:space-between;padding:30px 4.7vw 24px;opacity:1;transition:opacity .8s ease,transform .8s ease}
.intro-screen:before{content:"";position:absolute;width:min(58vw,760px);aspect-ratio:1;border-radius:50%;right:-14%;top:50%;transform:translateY(-50%);background:repeating-linear-gradient(164deg,#aaa 0 1px,#333 2px,#080808 4px,#050505 6px);box-shadow:inset 20px 0 35px #000;opacity:.42;pointer-events:none}
.intro-screen:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 48%,transparent 0%,#050505 66%);pointer-events:none}
.intro-mark,.intro-center,.intro-bottom{position:relative;z-index:1}
.intro-mark{font:29px var(--serif);letter-spacing:-1.5px}.intro-mark b{font-weight:400;color:var(--pink)}
.intro-center{align-self:flex-start;margin-left:5vw;max-width:790px;margin-top:auto;margin-bottom:auto}
.intro-kicker{font-size:10px;letter-spacing:.24em;color:var(--pink);font-weight:700;margin:0 0 28px}
.intro-center h1{font:400 clamp(52px,7.5vw,108px)/.94 var(--serif);letter-spacing:-.06em;margin:0 0 42px}
.intro-center h1 em{font-weight:400;color:var(--pink)}
.intro-enter{display:inline-flex;align-items:center;gap:38px;background:transparent;border:0;border-bottom:1px solid #777;color:#f7f5f2;padding:0 0 13px;cursor:pointer;font-size:11px;letter-spacing:.17em;transition:color .2s,border-color .2s}
.intro-enter span{color:var(--pink);font-size:19px}.intro-enter:hover{color:var(--pink);border-color:var(--pink)}
.intro-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.19em;color:#888}
.intro-exit{opacity:0;transform:scale(1.025);pointer-events:none}
@media(max-width:760px){.intro-screen{padding:24px 7vw 22px}.intro-screen:before{width:90vw;right:-30%;top:56%;opacity:.28}.intro-center{margin-left:0}.intro-center h1{font-size:clamp(48px,11vw,76px)}.intro-kicker{font-size:9px}.intro-bottom{font-size:8px;gap:18px}.intro-mark{font-size:25px}}
@media(prefers-reduced-motion:reduce){.intro-screen{transition:none}}

/* Cursor-following black discovery overlay — homepage only */
.reveal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(5,5,5,.86);color:#fff;pointer-events:none;--reveal-x:50vw;--reveal-y:50vh;--reveal-size:0px;-webkit-mask-image:radial-gradient(circle var(--reveal-size) at var(--reveal-x) var(--reveal-y),transparent 0,transparent 99%,#000 100%);mask-image:radial-gradient(circle var(--reveal-size) at var(--reveal-x) var(--reveal-y),transparent 0,transparent 99%,#000 100%);transition:mask-image .08s linear}
.reveal-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 0%,rgba(5,5,5,.72) 75%);opacity:.12}
.reveal-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:3px;color:#fff;white-space:nowrap;display:flex;align-items:center;gap:12px}
.reveal-dot{width:7px;height:7px;border-radius:50%;background:#ed008c;box-shadow:0 0 18px #ed008c}
.reveal-hint{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#858585}
.reveal-hint span:last-child{color:#ed008c}
.reveal-overlay.is-revealing .reveal-label,.reveal-overlay.is-revealing .reveal-hint{opacity:1;transition:opacity .25s}
.reveal-label{z-index:2;text-shadow:0 1px 10px rgba(0,0,0,.85);background:rgba(5,5,5,.24);padding:10px 14px;border-radius:3px}
.reveal-hint{z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.9)}
@media(hover:none){.reveal-overlay{--reveal-size:0px}.reveal-label{top:auto;bottom:68px;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.reveal-overlay{transition:none}}


/* Portfolio returns to dark editorial theme; homepage service cards use a balanced 2x2 grid */
.home-main{grid-template-rows:minmax(0,1fr) 240px}
.service-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));padding:18px max(8vw,calc((100vw - 1160px)/2));gap:0;align-items:stretch}
.service{padding:16px 28px;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;grid-template-rows:auto auto;column-gap:15px;align-content:center;border-right:1px solid #303030;border-bottom:1px solid #303030;min-width:0}
.service:nth-child(2){border-right:0}
.service:nth-child(3){border-bottom:0}
.service:nth-child(4){border-right:0;border-bottom:0}
.service-icon{grid-column:1;grid-row:1 / span 2;align-self:start;height:auto;padding-top:2px}
.service h2{grid-column:2;grid-row:1;margin:0 0 7px;font-size:20px}
.service p{grid-column:2;grid-row:2;margin:0;max-width:310px}
.service-arrow{grid-column:3;grid-row:1 / span 2;align-self:center;margin:0}
@media(max-width:760px){
 .home-main{height:auto;min-height:calc(100dvh - 68px);max-height:none;display:block;overflow:visible}
 .service-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;padding:14px 5vw 26px}
 .service{min-height:150px;padding:18px!important;display:flex;align-items:flex-start;border-right:1px solid #303030;border-bottom:1px solid #303030}
 .service:nth-child(2){border-right:0}
 .service:nth-child(3){border-bottom:0}
 .service:nth-child(4){border-right:0;border-bottom:0}
 .service-icon{height:30px}
 .service h2{margin:7px 0;font-size:17px}
 .service p{font-size:10px}
 .service-arrow{margin-top:auto}
}

/* Fix: services detail page must be a balanced 2x2 grid, not 3+1 */
.page-main:has(.page-grid) .page-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  gap:20px;
}
.page-main:has(.page-grid) .page-card{
  min-height:225px;
}
@media(max-width:760px){
  .page-main:has(.page-grid) .page-grid{grid-template-columns:1fr;gap:14px}
  .page-main:has(.page-grid) .page-card{min-height:190px}
}

/* Services page: one-screen composition, aligned to the same left edge */
.services-page{
  min-height:calc(100dvh - 76px - 64px);
  height:calc(100dvh - 76px - 64px);
  padding:clamp(26px,4vh,48px) 5.9vw 30px;
  max-width:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.services-page .page-kicker{margin:0 0 16px}
.services-page .page-title{font-size:clamp(46px,5.3vw,76px);line-height:.96;margin:0 0 16px;max-width:1000px}
.services-page .page-lead{margin:0;max-width:760px;font-size:13px;line-height:1.65}
.services-page .page-grid{
  width:100%;
  max-width:none;
  margin:clamp(24px,4vh,42px) 0 0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 20px;
}
.services-page .page-card{
  min-height:0;
  height:clamp(140px,19vh,190px);
  padding:20px 26px;
}
.services-page .page-card h2{margin:20px 0 8px;font-size:clamp(21px,1.7vw,27px)}
.services-page .page-card p{font-size:12px;line-height:1.6}
.services-page .page-card a{padding-top:14px}
@media(max-width:760px){
 .services-page{height:auto;min-height:calc(100dvh - 68px);padding:48px 7vw 55px;overflow:visible;display:block}
 .services-page .page-title{font-size:clamp(43px,9vw,64px);margin-bottom:18px}
 .services-page .page-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}
 .services-page .page-card{height:auto;min-height:175px;padding:22px}
 .services-page .page-card h2{margin:24px 0 10px}
}
@media(max-height:700px) and (min-width:761px){
 .services-page{padding-top:18px;padding-bottom:18px}
 .services-page .page-kicker{margin-bottom:10px}
 .services-page .page-title{font-size:48px;margin-bottom:10px}
 .services-page .page-lead{font-size:11px}
 .services-page .page-grid{margin-top:18px;gap:10px 16px}
 .services-page .page-card{height:130px;padding:14px 20px}
 .services-page .page-card h2{margin:12px 0 6px;font-size:21px}
 .services-page .page-card a{padding-top:8px}
}

/* Homepage bottom services strip — reference-matched four-column layout */
.home-main{grid-template-rows:minmax(0,1fr) 252px}
.service-strip{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 grid-template-rows:1fr;
 padding:38px 5.2vw 30px;
 gap:0;
 align-items:stretch;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
}
.service{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 justify-content:flex-start;
 padding:10px 30px 0;
 min-width:0;
 border-right:1px solid #303030;
 border-bottom:0;
}
.service:first-child{padding-left:24px}
.service:last-child{border-right:0;padding-right:12px}
.service-icon{font-size:23px;color:var(--pink);height:36px;flex:none}
.service h2{font:400 clamp(18px,1.6vw,24px) var(--serif);margin:9px 0 12px}
.service p{font-size:12px;line-height:1.65;color:#aaa;max-width:270px;margin:0}
.service-arrow{font-size:15px;margin-top:auto;padding-top:16px;color:#ddd}
@media(max-width:760px){
 .home-main{height:auto;min-height:calc(100dvh - 68px);max-height:none;display:block;overflow:visible}
 .service-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;padding:18px 5vw 26px}
 .service{display:flex;min-height:170px;padding:18px!important;border-right:1px solid #303030;border-bottom:1px solid #303030}
 .service:nth-child(2){border-right:0}
 .service:nth-child(3){border-bottom:0}
 .service:nth-child(4){border-right:0;border-bottom:0}
 .service-icon{height:30px}
 .service h2{font-size:18px;margin:7px 0}
 .service p{font-size:10px}
 .service-arrow{margin-top:auto;padding-top:12px}
}

/* Mobile alignment fix for Services page: heading, description and cards share one left edge */
@media(max-width:760px){
  .services-page{
    width:100%;
    max-width:100%;
    margin:0;
    padding:42px 6vw 48px;
    overflow-x:hidden;
  }
  .services-page .page-kicker,
  .services-page .page-title,
  .services-page .page-lead{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
  .services-page .page-title{
    font-size:clamp(40px,9vw,58px);
    line-height:1;
    overflow-wrap:normal;
    word-break:normal;
  }
  .services-page .page-grid{
    display:grid;
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr);
    margin:28px 0 0;
    padding:0;
    gap:14px;
  }
  .services-page .page-card{
    width:100%;
    min-width:0;
    margin:0;
    padding:22px;
  }
}

/* Final alignment override: service cards start directly under the heading, never inset */
main.page-main.services-page{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding-left:5.9vw;
  padding-right:5.9vw;
}
main.page-main.services-page .page-grid{
  width:100%;
  max-width:none;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0;
  padding-right:0;
}
main.page-main.services-page .page-card{
  margin-left:0;
  margin-right:0;
  min-width:0;
}
@media(max-width:760px){
  main.page-main.services-page{
    padding-left:6vw;
    padding-right:6vw;
  }
  main.page-main.services-page .page-title,
  main.page-main.services-page .page-lead,
  main.page-main.services-page .page-grid{
    width:100%;
    max-width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  main.page-main.services-page .page-title{
    font-size:clamp(36px,8.5vw,52px);
    letter-spacing:-.055em;
  }
  main.page-main.services-page .page-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Site-wide day/night preference */
.site-header{gap:20px}
.theme-toggle{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 border:1px solid #383838;background:transparent;color:#f7f5f2;
 padding:9px 12px;cursor:pointer;white-space:nowrap;
 font:11px var(--sans);letter-spacing:.04em;transition:color .2s,border-color .2s,background .2s;
}
.theme-toggle:hover{color:var(--pink);border-color:var(--pink)}
.theme-icon{font-size:17px;line-height:1;color:var(--pink)}
.nav{margin-left:auto}
body.light-theme{--bg:#f4f1ec;--panel:#fff;--white:#171717;--muted:#686868;--line:#d8d2ca;background:var(--bg);color:var(--white)}
body.light-theme .site-header{background:#f4f1ec;border-bottom-color:#d8d2ca}
body.light-theme .logo{color:#171717}
body.light-theme .nav a{color:#292929}
body.light-theme .nav a:hover,body.light-theme .nav a.current{color:var(--pink)}
body.light-theme .menu-button{color:#171717}
body.light-theme .theme-toggle{color:#171717;border-color:#c9c2b9}
body.light-theme .theme-toggle:hover{border-color:var(--pink);color:var(--pink)}
body.light-theme .hero{border-bottom-color:#d8d2ca}
body.light-theme .intro{color:#5e5b58}
body.light-theme .hero-count{color:#777}
body.light-theme .hero-count b{color:#171717}
body.light-theme .arrows{color:#555}
body.light-theme .service-strip{border-top-color:#d8d2ca;border-bottom-color:#d8d2ca}
body.light-theme .service{border-right-color:#d8d2ca;border-bottom-color:#d8d2ca}
body.light-theme .service p{color:#666}
body.light-theme .service-arrow{color:#444}
body.light-theme .footer{border-top-color:#d8d2ca;color:#777}
body.light-theme .footer .logo{color:#171717}
body.light-theme .page-lead{color:#666}
body.light-theme .page-card{border-color:#d8d2ca}
body.light-theme .page-card p{color:#666}
body.light-theme .step{border-top-color:#d8d2ca}
body.light-theme .step p{color:#666}
body.light-theme .contact-panel{border-color:#d8d2ca}
body.light-theme .contact-panel p{color:#666}
body.light-theme .work:nth-child(3){background:#e5e0d8;color:#171717}
body.light-theme .intro-screen,body.light-theme .reveal-overlay{color:#f7f5f2}
@media(max-width:760px){
 .site-header{gap:10px}
 .theme-toggle{margin-left:auto;padding:8px 9px}
 .theme-label{display:none}
 .nav{margin-left:0}
}

/* Dosya gönderim sayfası */
.nav a.nav-cta{color:#fff;background:var(--pink);padding:11px 14px;margin-left:4px}
.nav a.nav-cta:hover,.nav a.nav-cta.current{color:#fff;background:#ff269f}
.upload-page{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(38px,7vw,100px);align-items:start;max-width:1450px}
.upload-intro{position:sticky;top:38px}
.upload-intro .page-title{font-size:clamp(48px,5.5vw,76px)}
.upload-note{display:flex;gap:13px;border-top:1px solid var(--line);padding-top:18px;margin-top:32px;max-width:390px}
.note-mark{display:flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;border:1px solid var(--pink);border-radius:50%;color:var(--pink);font:italic 14px Georgia}
.upload-note p,.section-help,.fine-print{font-size:12px;line-height:1.8;color:#999;margin:0}
.upload-form{border-top:1px solid var(--line)}
.form-section{padding:27px 0 32px;border-bottom:1px solid var(--line)}
.form-heading{display:flex;align-items:center;gap:15px;margin-bottom:22px}
.form-heading>span{color:var(--pink);font-size:10px;letter-spacing:.12em}
.form-heading h2{font:400 27px/1.2 var(--serif);margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin-top:20px}
.field{display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--white)}
.field>span{display:inline;color:#999;font-size:10px}
.field input,.field select,.field textarea{width:100%;border:1px solid #353535;border-radius:0;background:#101010;color:#f7f5f2;padding:13px 12px;font:12px var(--sans);outline:none;min-height:44px}
.field textarea{resize:vertical;line-height:1.7}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink)}
.field input::placeholder,.field textarea::placeholder{color:#777}
.section-help{max-width:650px;margin:-6px 0 18px}
.size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.size-option{display:flex;gap:11px;align-items:flex-start;border:1px solid #303030;padding:15px 13px;cursor:pointer;min-height:100px;transition:border-color .2s,background .2s}
.size-option:has(input:checked){border-color:var(--pink);background:#ec008c0b}
.size-option input{accent-color:var(--pink);margin:4px 0 0;flex:0 0 auto}
.size-copy{display:flex;flex-direction:column;gap:7px}
.size-copy strong{font-size:12px;font-weight:600}
.size-copy small{font-size:11px;line-height:1.65;color:#999}
.custom-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1;padding:16px;border:1px solid var(--pink)}
.custom-dimensions[hidden]{display:none}
.fine-print{font-size:10px;margin-top:14px}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:190px;border:1px dashed #555;text-align:center;padding:24px;cursor:pointer;position:relative;transition:border-color .2s}
.file-drop:hover{border-color:var(--pink)}
.file-icon{font-size:30px;color:var(--pink)}
.file-drop strong{font:400 22px var(--serif)}
.file-drop>span:not(.file-icon):not(.file-button){font-size:11px;color:#999}
.file-drop input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.file-button{margin-top:4px;padding:10px 18px;border:1px solid var(--pink);font-size:11px;color:var(--white)}
.selected-files{list-style:none;margin:12px 0 0;padding:0;font-size:11px;color:#aaa;line-height:1.8;overflow-wrap:anywhere}
.selected-files li{padding:4px 0;border-bottom:1px solid #222}
.selected-files .file-error{color:#ff6b6b}.selected-files .file-total{color:var(--pink)}
.consent{display:flex;align-items:flex-start;gap:10px;margin-top:23px;color:#aaa;font-size:11px;line-height:1.7}
.consent input{accent-color:var(--pink);margin-top:3px;flex:0 0 auto}
.submit-button{margin-top:22px;border:0;cursor:pointer;min-width:245px}
body.light-theme .upload-form,body.light-theme .form-section,body.light-theme .upload-note{border-color:#d8d2ca}
body.light-theme .field input,body.light-theme .field select,body.light-theme .field textarea{background:#fff;color:#171717;border-color:#d5cec5}
body.light-theme .field input::placeholder,body.light-theme .field textarea::placeholder{color:#888}
body.light-theme .size-option{border-color:#d8d2ca}
body.light-theme .size-option:has(input:checked){border-color:var(--pink)}
body.light-theme .size-copy small,body.light-theme .section-help,body.light-theme .fine-print,body.light-theme .upload-note p,body.light-theme .consent{color:#666}
body.light-theme .file-drop{border-color:#bdb5ac}
body.light-theme .selected-files li{border-color:#e0dad3}
@media(max-width:900px){.upload-page{grid-template-columns:1fr;gap:32px}.upload-intro{position:static}.upload-intro .page-title br{display:none}.upload-note{max-width:650px;margin-top:22px}.upload-form{max-width:none}}
@media(max-width:760px){.nav a.nav-cta{margin:8px 0 0;padding:13px}.form-grid,.size-options{grid-template-columns:1fr}.size-option{min-height:unset}.upload-page{padding-top:42px}.form-section{padding:24px 0}.form-heading h2{font-size:25px}.custom-dimensions{grid-column:auto}}

/* Form alanlarının kontrol kutularını aynı hizada tut ve çoklu hizmet seçimine izin ver */
.form-grid{align-items:start}
.form-grid>.field{min-width:0}
.field>span{min-height:12px}
.service-field{border:0;padding:0;margin:0;min-width:0}
.service-field legend{padding:0;margin:0 0 9px;font-size:12px;color:var(--white)}
.service-field legend span{display:block;min-height:12px;margin-top:9px;color:#999;font-size:10px}
.service-checks{border:1px solid #353535;background:#101010;min-height:44px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.service-checks label{display:flex;align-items:center;gap:8px;font:12px var(--sans);color:var(--white);cursor:pointer}
.service-checks input{accent-color:var(--pink);margin:0}
.service-field:focus-within .service-checks{border-color:var(--pink)}
body.light-theme .service-checks{background:#fff;border-color:#d5cec5}
body.light-theme .service-checks label,body.light-theme .service-field legend{color:#171717}
@media(max-width:760px){.service-checks{grid-template-columns:1fr}}

/* Hizmet seçimlerini küçük, dengeli ve tek satırlı seçenekler olarak göster */
.form-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.form-grid>.field{min-width:0}
.service-field{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}
.service-field legend{padding:0;margin:0 0 12px;font-size:12px;color:var(--white)}
.service-field legend span{display:inline;margin-left:8px;color:#999;font-size:10px}
.service-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:0;background:transparent;padding:0;min-height:0}
.service-checks label{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:46px;padding:11px 13px;border:1px solid #353535;border-radius:5px;background:#101010;color:var(--white);font:12px var(--sans);line-height:1.35;transition:border-color .18s,background .18s;cursor:pointer}
.service-checks label:has(input:checked){border-color:var(--pink);background:rgba(236,0,140,.07)}
.service-checks input{appearance:none;-webkit-appearance:none;flex:0 0 15px;width:15px;height:15px;min-height:15px;margin:0;padding:0;border:1px solid #777;border-radius:3px;background:transparent;cursor:pointer}
.service-checks input:checked{background:var(--pink);border-color:var(--pink)}
.service-checks input:checked::after{content:"";display:block;width:4px;height:7px;margin:2px 0 0 4px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.service-checks label:focus-within{border-color:var(--pink)}
body.light-theme .service-checks label{background:#fff;border-color:#d5cec5;color:#171717}
body.light-theme .service-checks label:has(input:checked){border-color:var(--pink);background:#fff5fa}
body.light-theme .service-field legend{color:#171717}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.service-field{grid-column:auto}.service-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.service-field legend span{display:block;margin:6px 0 0}}
@media(max-width:420px){.service-checks{grid-template-columns:1fr}}

/* Separate Word/PDF upload cards */
.file-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.file-upload-grid .file-drop{min-width:0;min-height:230px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-align:left;transition:border-color .2s,background .2s}
.file-upload-grid .file-drop:hover,.file-upload-grid .file-drop:focus-within{border-color:var(--pink)}
.file-upload-grid .file-drop strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.file-upload-grid .file-drop>span:not(.file-icon):not(.file-button):not(.chosen-file){color:var(--muted);font-size:12px}
.file-upload-grid .file-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.file-upload-grid .file-button{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:9px 13px;border:1px solid var(--pink);border-radius:5px;color:var(--white);font-size:12px;cursor:pointer}
.file-upload-grid .chosen-file{max-width:100%;overflow-wrap:anywhere;color:var(--muted);font-size:11px}
.file-upload-grid .chosen-file.file-error{color:#e5484d}
.required-mark,.optional-mark{font:10px var(--sans);font-style:normal;letter-spacing:.02em;padding:4px 7px;border-radius:20px}
.required-mark{color:var(--pink);border:1px solid var(--pink)}
.optional-mark{color:var(--muted);border:1px solid var(--line)}
body.light-theme .file-upload-grid .file-drop{background:#fff;border-color:#d9d2ca}
body.light-theme .file-upload-grid .file-button{color:#171717}
@media(max-width:650px){.file-upload-grid{grid-template-columns:1fr}.file-upload-grid .file-drop{min-height:205px}}


/* Site hazırlayan bilgisi: sade, küçük ve temaya uyumlu */
.site-credit{padding:0 20px 18px;text-align:center;color:#777;font:10px/1.6 var(--sans);letter-spacing:.025em;background:var(--bg)}
.site-credit span{color:var(--white);font-weight:600}
body.light-theme .site-credit{color:#777}
body.light-theme .site-credit span{color:#222}
@media(max-width:760px){.site-credit{padding:0 16px 20px;font-size:10px}}

/* Footer alignment and contact number */
.site-credit{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:0 auto;
  padding:18px 20px 22px;
  text-align:center !important;
  line-height:1.6;
}
.site-credit span{display:inline;color:var(--white);font-weight:600}
.footer{justify-content:space-between;flex-wrap:wrap;text-align:center;gap:18px 28px}
.footer > .logo{margin-right:auto}
.footer > span{margin-inline:auto}
.footer > a:last-child{margin-left:auto}
@media(max-width:760px){.footer > .logo,.footer > span,.footer > a:last-child{margin-inline:0}}
.footer-phone{color:var(--white);text-decoration:none;letter-spacing:.06em;white-space:nowrap}
.footer-phone:hover,.contact-phone a:hover{color:var(--pink)}
.contact-phone{margin-top:18px;font-size:13px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.contact-phone a{color:var(--white);text-decoration:none}
.contact-phone span{color:var(--pink)}
body.light-theme .site-credit span,body.light-theme .footer-phone,body.light-theme .contact-phone a{color:#171717}
@media(max-width:640px){.footer{gap:14px 18px}.site-credit{padding:16px 18px 20px}}

/* Desktop: compact secondary pages to fit one screen; upload form remains scrollable */
@media (min-width: 761px) {
  body:has(.services-page), body:has(.work-grid), body:has(.steps), body:has(.contact-layout) {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  body:has(.services-page) .services-page,
  body:has(.work-grid) .page-main,
  body:has(.steps) .page-main,
  body:has(.contact-layout) .page-main {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    overflow: hidden;
    padding-top: clamp(18px, 3.2vh, 42px);
    padding-bottom: clamp(16px, 2.5vh, 30px);
  }
  body:has(.work-grid) .page-title,
  body:has(.steps) .page-title { font-size: clamp(42px, 5vw, 70px); margin-top: 12px; margin-bottom: 14px; }
  body:has(.work-grid) .work-grid { margin-top: clamp(18px, 3vh, 32px); gap: 16px; }
  body:has(.work-grid) .work { min-height: 0; height: clamp(180px, 31vh, 300px); padding: 20px; }
  body:has(.steps) .steps { margin-top: clamp(20px, 3.5vh, 38px); gap: 16px; }
  body:has(.steps) .step h2 { margin-top: clamp(14px, 2.5vh, 24px); }
  body:has(.steps) .step p { font-size: 12px; line-height: 1.65; }
  body:has(.contact-layout) .contact-layout { gap: clamp(28px, 5vw, 76px); }
  body:has(.contact-layout) .contact-panel { padding: clamp(22px, 3vh, 32px); }
  body:has(.contact-layout) .page-title { font-size: clamp(42px, 5vw, 70px); margin-top: 12px; margin-bottom: 16px; }
  body:has(.contact-layout) .contact-panel h2 { font-size: clamp(25px, 2.4vw, 32px); margin-top: 18px; margin-bottom: 14px; }
  body:has(.contact-layout) .contact-panel p { line-height: 1.65; }
  .footer { flex: 0 0 auto; padding-top: 17px; padding-bottom: 17px; }
  .site-credit { flex: 0 0 auto; padding-top: 10px; padding-bottom: 10px; }
}

/* Son alt bant düzeni: marka solda, ana sayfa sağda, açıklama ve kredi ortalı */
.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px;text-align:center}
.footer>.logo{justify-self:start;margin:0}
.footer>span{justify-self:center;margin:0;text-align:center}
.footer>a:last-child{justify-self:end;margin:0}
.site-credit{text-align:center;width:100%;box-sizing:border-box;padding:20px 18px 24px;margin:0 auto;line-height:1.6}
.contact-phone a{display:inline-flex;align-items:center;gap:8px;color:var(--white);text-decoration:none}
.contact-phone a:hover{color:var(--pink)}
@media(max-width:760px){
 .footer{grid-template-columns:1fr 1fr;row-gap:12px}
 .footer>.logo{grid-column:1;grid-row:1;justify-self:start}
 .footer>a:last-child{grid-column:2;grid-row:1;justify-self:end}
 .footer>span{grid-column:1/-1;grid-row:2;justify-self:center;text-align:center}
 .site-credit{text-align:center}
}
body.light-theme .site-credit{color:#777}
