/* Ruang Lensa · photographic editorial. Local system fonts, no frontend build. */
:root{--ink:#202020;--red:#c9322c;--muted:#6b6b68;--line:#dcdcd7;--paper:#fff;--rail:92px;--gutter:clamp(24px,4.2vw,72px);--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}figure,p,h1,h2,h3,blockquote{margin:0}h1,h2,h3{font-weight:400;line-height:1.05;letter-spacing:-.055em;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:clamp(48px,6.6vw,108px);max-width:12ch;font-weight:500}h2{font-size:clamp(36px,4.6vw,68px);max-width:18ch}h3{font-size:28px}p,a,span,dd{overflow-wrap:anywhere}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}a,button{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;top:-100px;left:12px;z-index:300;background:#fff;padding:12px}.skip-link:focus{top:12px}.page-shell{margin-left:var(--rail);position:relative;z-index:2}.paper{background:#fff}.navigation-rail{position:fixed;top:0;bottom:0;left:0;width:var(--rail);z-index:100;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:28px 10px}.rail-brand{display:flex;align-items:center;justify-content:center;min-height:52px;max-width:100%}.rail-brand img{width:52px;height:52px;object-fit:contain}.logo-type{font-size:27px;font-weight:600;letter-spacing:-.1em;position:relative;padding-right:5px}.logo-type i{position:absolute;right:-3px;top:4px;width:5px;height:5px;background:var(--red);border-radius:50%}.rail-name{display:none}.nav{display:flex;flex-direction:column;gap:22px;margin:auto 0;text-align:center}.nav a{font-size:10px;line-height:1.4;position:relative;padding-block:4px}.nav a:hover,.nav a.is-active{color:var(--red)}.nav a::after{content:'';display:block;width:0;height:1px;background:var(--red);margin:5px auto 0;transition:width .2s}.nav a:hover::after,.nav a.is-active::after{width:16px}.rail-caption{font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl;max-height:140px}.menu-toggle{display:none;border:1px solid var(--line);width:44px;height:44px;background:#fff;position:relative;flex-shrink:0}.menu-toggle span{position:absolute;left:10px;top:16px;width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle span:last-child{top:25px}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}
.masthead{background:#fff;padding:24px var(--gutter);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);min-height:90px}.wordmark{font-weight:600;font-size:24px;letter-spacing:-.06em}.wordmark span,.footer-brand span{color:var(--red)}.masthead p{margin-left:auto;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.masthead-contact{font-size:11px;margin-left:18px;border-bottom:1px solid var(--ink);padding:4px 0}.demo-bar{display:flex;justify-content:space-between;gap:15px;background:#f6f6f3;padding:8px var(--gutter);font-size:8px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line)}.demo-watermark{position:fixed;right:10px;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:#7778;z-index:15;pointer-events:none}.demo-badge{position:fixed;bottom:12px;right:12px;z-index:120;color:#fff;background:#202020c9;padding:5px 10px;font-size:8px;letter-spacing:.1em;pointer-events:none}
.hero{background:#fff}.hero-stage{width:100%;position:relative;background:#e8e7e3;height:clamp(320px,38vw,510px);overflow:hidden}.hero-stage>img{width:100%;height:100%;object-fit:cover;object-position:65% 0%}.hero-stage figcaption{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;background:#fff;padding:8px 14px;width:max-content;max-width:calc(100% - 2*var(--gutter));color:var(--ink)}.hero-stage figcaption span{border-left:1px solid var(--line);padding-left:18px}.hero-title{display:flex;gap:50px;align-items:end;justify-content:space-between;padding:44px var(--gutter) 65px;border-bottom:1px solid var(--line)}.hero-title>div:first-child{min-width:0}.hero-lead{color:var(--muted);max-width:540px;font-size:14px;line-height:1.8;margin-top:26px}.hero-actions{display:flex;flex-direction:column;align-items:start;gap:20px;min-width:178px;flex-shrink:0;padding-bottom:4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--red);color:#fff;padding:14px 20px;min-height:50px;font-size:12px;border:1px solid var(--red);transition:background .2s,transform .2s}.button:hover{background:#a92520;transform:translateY(-2px)}.text-link{font-size:11px;display:inline-flex;gap:22px;border-bottom:1px solid var(--line);padding:6px 0}.text-link:hover{border-color:var(--red);color:var(--red)}.eyebrow{font-size:9px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.studio-intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:100px var(--gutter) 80px}.studio-intro h2{font-family:var(--serif);letter-spacing:-.045em;font-size:clamp(34px,3.6vw,54px)}.body-copy{color:var(--muted);font-size:15px;line-height:1.9;max-width:720px;margin-top:28px}.supporting-work{padding:0 var(--gutter) 90px}.section-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;border-top:1px solid var(--line);padding-top:18px}.section-line h3{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.section-line>span{font-size:9px;color:var(--muted)}.supporting-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}.supporting-photo{min-width:0;grid-column:span 4}.supporting-photo:first-child{grid-column:span 7}.supporting-photo:nth-child(2){grid-column:span 5;padding-top:75px}.supporting-photo:nth-child(6),.supporting-photo:nth-child(7){grid-column:span 6}.supporting-photo:only-child{grid-column:span 12;max-width:850px}.supporting-photo>img{width:100%;aspect-ratio:1;object-fit:cover}.supporting-photo:first-child>img{aspect-ratio:7/5}.supporting-photo figcaption{font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding-top:12px;color:var(--muted)}
.services-paper{padding:80px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:50px;margin-bottom:60px}.section-heading h2{max-width:14ch}.service-row{display:grid;grid-template-columns:36px 1fr 1fr 26px;gap:30px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.row-index{font-size:9px;color:var(--muted);padding-top:8px}.service-row h3{font-size:clamp(24px,2.8vw,40px);max-width:18ch}.service-row p{font-size:13px;line-height:1.8;color:var(--muted);max-width:410px}.row-arrow{color:var(--red);font-size:22px}.advantages-section{padding:70px var(--gutter) 95px;display:grid;grid-template-columns:1fr 1.2fr;gap:90px;border-top:1px solid var(--line)}.advantages-intro .eyebrow{margin-bottom:24px}.advantages-intro h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);letter-spacing:-.045em;max-width:12ch}.advantages-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px}.advantage h3{font-size:18px;letter-spacing:-.035em;line-height:1.3;display:flex;gap:11px}.advantage h3 span{color:var(--red)}.advantage p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:10px}.gallery-paper{padding:80px var(--gutter) 95px;background:#f5f5f2}.gallery-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:55px}.gallery-heading h2{font-size:clamp(44px,5.4vw,78px)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 30px;align-items:start}.gallery-photo{grid-column:span 4;min-width:0}.gallery-photo:nth-child(6n+1){grid-column:span 8}.gallery-photo:nth-child(6n+2){padding-top:130px}.gallery-photo:nth-child(6n+3),.gallery-photo:nth-child(6n+4){grid-column:span 6}.gallery-photo:nth-child(6n+5){grid-column:span 5}.gallery-photo:nth-child(6n+6){grid-column:span 7;padding-top:60px}.gallery-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-photo:nth-child(6n+1) img,.gallery-photo:nth-child(6n+4) img{aspect-ratio:4/3}.gallery-photo figcaption{font-size:9px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:20px;margin-top:13px;text-transform:uppercase}.gallery-photo figcaption span{color:var(--red)}.testimonials-section{padding:85px var(--gutter);display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.quote-intro h2{margin-top:24px;font-size:clamp(32px,3.5vw,48px);font-family:var(--serif);letter-spacing:-.04em}.demo-note{font-size:10px;color:var(--muted);margin-top:22px}.quote{display:flex;gap:22px;border-top:1px solid var(--line);padding:26px 0}.quote-symbol{color:var(--red);font:44px/1 var(--serif)}.quote blockquote{font:400 24px/1.45 var(--serif);letter-spacing:-.02em}.quote-person{display:flex;gap:14px;align-items:center;margin-top:20px}.quote-person img{width:42px;height:42px;border-radius:50%;object-fit:cover}.quote-person b{font-size:11px;font-weight:500}.quote-person small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.contact-section{background:#222;padding:0}.contact-paper{background:#222;color:#fff;padding:80px var(--gutter)}.contact-paper .eyebrow{color:#b9b9b5}.contact-paper h2{font-size:clamp(48px,6.3vw,94px);max-width:12ch;margin-top:30px}.contact-copy{font-size:14px;color:#c2c2bc;line-height:1.9;max-width:620px;margin-top:30px}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:35px}.contact-email{font-size:clamp(16px,2vw,24px);border-bottom:1px solid #777;padding:10px 0;max-width:100%}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:50px 0 0;padding-top:30px;border-top:1px solid #555}.contact-details dt{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#999}.contact-details dd{font-size:12px;line-height:1.8;margin:10px 0 0;max-width:340px}.footer{padding:42px var(--gutter) 20px}.footer-top{display:flex;gap:30px;align-items:center;padding-bottom:35px}.footer-brand{font-size:32px;font-weight:500;letter-spacing:-.06em;max-width:260px;line-height:1.2}.social-links{display:flex;flex-wrap:wrap;gap:18px;margin-left:auto;font-size:10px}.social-links a:hover{color:var(--red)}.back-top{font-size:28px;margin-left:auto}.footer-bottom{display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted)}
/* Rich modes keep the photographic world visible through content surfaces. */
:is(.mode-akselerasi,.mode-identitas){--muted:#444440;--line:rgba(32,32,32,.2)}
:is(.mode-akselerasi,.mode-identitas) :is(.hero-title,.studio-intro,.supporting-work,.services-paper,.advantages-section,.gallery-paper,.testimonials-section){background:rgba(255,255,255,.78)}
:is(.mode-akselerasi,.mode-identitas) .contact-paper{background:rgba(24,24,24,.78)}
:is(.mode-akselerasi,.mode-identitas) .contact-copy{color:#eee}
:is(.mode-akselerasi,.mode-identitas) .contact-details dt{color:#ddd}
/* Decorative world. It never takes the place of customer content photographs. */
.background-world{position:fixed;inset:0 0 0 var(--rail);z-index:0;overflow:hidden;background:#555;perspective:1600px}.background-scene{position:absolute;inset:-12%;opacity:0;transition:opacity .8s ease;will-change:opacity;overflow:hidden}.background-scene:first-child,.background-scene.is-active{opacity:1}.background-world.is-initialized .background-scene:not(.is-active){opacity:0}.background-image,.background-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;will-change:transform}.background-video{opacity:0;transition:opacity .4s}.background-video.is-playing{opacity:1}.background-shade{position:absolute;inset:0;background:#00000012;pointer-events:none}.scene-window{height:clamp(220px,31vw,440px);position:relative;display:flex;align-items:end;justify-content:space-between;padding:36px var(--gutter)}.scene-window>span{display:flex;gap:65px;align-items:center;padding:10px 18px;background:#fff;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.scene-window i{font-style:normal;color:var(--red);font-size:20px}.scene-window--gallery{height:300px}.mode-akselerasi,.mode-identitas{background:transparent}.mode-akselerasi .hero,.mode-identitas .hero{background:transparent;padding-top:20px}.mode-akselerasi .hero-stage,.mode-identitas .hero-stage{width:92%;margin:0 4%;border:8px solid #fff}.mode-akselerasi .hero-title,.mode-identitas .hero-title{margin-top:24px}.mode-identitas .studio-section,.mode-akselerasi .studio-section{padding-top:100px;background:transparent}.mode-akselerasi .contact-section,.mode-identitas .contact-section{padding:80px 0;background:transparent;min-height:650px;display:flex;align-items:center}.mode-akselerasi .contact-paper,.mode-identitas .contact-paper{width:74%;padding:60px var(--gutter)}.mode-identitas .hero-stage{border-bottom:3px solid var(--red)}
@media(min-width:1700px){.hero-stage{max-height:790px}.hero-stage img{object-fit:cover}}
@media(max-width:1100px){:root{--rail:78px;--gutter:34px}.navigation-rail{padding-inline:7px}.hero-title{gap:30px}.hero-actions{min-width:155px}.service-row{grid-template-columns:24px 1fr 1fr 20px;gap:20px}.advantages-section,.testimonials-section{gap:50px}.advantages-list{gap:28px 25px}.masthead{gap:20px}.wordmark{font-size:22px}.gallery-photo:nth-child(6n+2){padding-top:85px}}
@media(max-width:840px){:root{--rail:0px;--gutter:28px}html{scroll-padding-top:90px}.page-shell{padding-top:72px}.navigation-rail{height:72px;width:100%;right:0;bottom:auto;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 22px;border-right:0;border-bottom:1px solid var(--line)}.rail-brand{justify-content:start;gap:16px}.rail-brand img{width:40px;height:40px}.rail-name{display:block;font-size:20px;font-weight:500;letter-spacing:-.05em;max-width:230px;line-height:1.1}.rail-caption{display:none}.menu-toggle{display:block;margin-left:auto}.nav{position:absolute;left:0;right:0;top:100%;max-height:calc(100svh - 72px);overflow:auto;background:#fff;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:0;text-align:left;box-shadow:0 20px 30px #0001;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s}.nav a{font-size:15px;padding:16px 10px;border-bottom:1px solid var(--line)}.nav a::after{display:none}.menu-open .nav{visibility:visible;opacity:1;pointer-events:auto;transform:none}.masthead{padding-block:18px;min-height:65px}.masthead .wordmark{font-size:21px}.masthead p{font-size:8px}.masthead-contact{display:none}.hero-title{padding-top:35px;padding-bottom:50px;gap:25px}h1{font-size:64px}.hero-actions{min-width:150px}.hero-lead{font-size:13px}.hero-stage{aspect-ratio:16/10}.hero-stage img{object-position:68% center}.studio-intro{padding-top:70px;grid-template-columns:1fr;gap:25px}.supporting-grid{gap:22px}.supporting-photo:nth-child(2){padding-top:45px}.supporting-work{padding-bottom:60px}.section-heading{margin-bottom:40px}.services-paper{padding-block:60px}.service-row h3{font-size:28px}.service-row p{font-size:12px}.advantages-section,.testimonials-section{grid-template-columns:1fr;gap:40px;padding-block:60px}.advantages-intro h2{max-width:100%}.advantages-list{grid-template-columns:repeat(3,minmax(0,1fr))}.advantage h3{font-size:17px}.gallery-paper{padding-block:65px}.gallery-heading h2{font-size:56px}.gallery-grid{gap:30px 22px}.gallery-photo:nth-child(6n+2){padding-top:60px}.contact-paper{padding-block:65px}.contact-paper h2{font-size:66px}.mode-akselerasi .contact-paper,.mode-identitas .contact-paper{width:84%}.background-world{inset:72px 0 0}.mode-akselerasi .studio-section,.mode-identitas .studio-section{padding-top:70px}.scene-window{height:280px}.mode-akselerasi .contact-section,.mode-identitas .contact-section{min-height:600px}}
@media(max-width:560px){:root{--gutter:22px}.navigation-rail{padding-inline:18px}.logo-type{font-size:24px}.rail-name{font-size:20px;max-width:225px}.masthead{gap:20px;align-items:start}.masthead .wordmark{display:none}.masthead p{margin:0;font-size:8px}.masthead{min-height:45px;padding-block:13px}.demo-bar{padding-block:7px;font-size:7px;letter-spacing:.07em}.demo-bar>span:last-child{text-align:right;max-width:48%}.hero-stage{height:320px}.hero-stage img{object-position:73% center}.hero-stage figcaption{left:12px;right:12px;bottom:10px;font-size:6px;gap:12px;max-width:calc(100% - 24px);padding:7px 9px}.hero-stage figcaption span{padding-left:10px}.hero-title{display:block;padding-top:30px;padding-bottom:45px}h1{font-size:clamp(45px,12.8vw,67px);max-width:13ch;letter-spacing:-.06em}.hero-lead{font-size:13px;margin-top:20px;line-height:1.8}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:26px;gap:22px}.button{font-size:11px;gap:20px;padding-inline:17px;min-height:46px}.text-link{font-size:10px}.studio-intro{padding-top:55px;padding-bottom:40px}.studio-intro h2{font-size:34px}.body-copy{font-size:13px;margin-top:22px;line-height:1.9}.supporting-grid{gap:25px 14px}.supporting-photo:first-child{grid-column:span 12}.supporting-photo:nth-child(2){padding-top:0;grid-column:span 6}.supporting-photo:nth-child(3){grid-column:span 6}.supporting-photo:nth-child(4),.supporting-photo:nth-child(5){grid-column:span 6}.supporting-photo:nth-child(6){grid-column:span 12}.supporting-photo:nth-child(7){grid-column:span 12}.supporting-photo:first-child img{aspect-ratio:4/3}.supporting-photo:nth-child(6) img{aspect-ratio:3/2}.supporting-photo figcaption{font-size:7px;padding-top:8px}.section-line{margin-bottom:20px}.section-line h3{font-size:9px}.section-line>span{font-size:8px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{font-size:40px}.service-row{grid-template-columns:22px 1fr 20px;gap:16px;padding:25px 0}.service-row>div{grid-column:2}.service-row>p{grid-column:2;grid-row:2;max-width:100%;font-size:12px}.row-arrow{grid-column:3;grid-row:1}.row-index{padding-top:5px}.service-row h3{font-size:28px}.services-paper{padding-block:50px}.advantages-section{padding-block:50px}.advantages-list{grid-template-columns:1fr 1fr;gap:30px 22px}.advantages-intro h2{font-size:38px}.advantage h3{font-size:17px;gap:7px}.advantage p{font-size:11px}.gallery-paper{padding-block:55px}.gallery-heading{display:block;margin-bottom:35px}.gallery-heading .eyebrow{margin-bottom:20px}.gallery-heading h2{font-size:47px}.gallery-grid{gap:25px 14px}.gallery-photo:nth-child(n){padding-top:0;grid-column:span 6}.gallery-photo:nth-child(3n+1){grid-column:span 12}.gallery-photo:nth-child(3n+1) img{aspect-ratio:4/3}.gallery-photo figcaption{font-size:7px;margin-top:9px}.quote-intro h2{font-size:36px}.quote blockquote{font-size:23px}.quote{padding:24px 0;gap:15px}.contact-paper h2{font-size:clamp(46px,12vw,65px)}.contact-copy{font-size:12px}.contact-details{grid-template-columns:1fr;gap:25px;margin-top:35px}.contact-paper{padding-block:55px}.contact-details dd{font-size:12px}.contact-actions{gap:20px}.contact-email{font-size:17px}.footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:22px}.footer-brand{font-size:29px;max-width:230px}.social-links{order:3;width:100%;margin-left:0;gap:16px;font-size:10px}.footer-bottom{font-size:8px}.demo-watermark{right:4px;font-size:7px}.demo-badge{font-size:7px}.mode-akselerasi .hero-stage,.mode-identitas .hero-stage{margin-inline:4%;border-width:4px}.mode-akselerasi .hero-title,.mode-identitas .hero-title{margin-top:18px}.mode-identitas .studio-section,.mode-akselerasi .studio-section{padding-top:55px}.scene-window{height:240px;padding:24px var(--gutter)}.scene-window>span{font-size:9px;padding:8px 12px;gap:50px}.mode-akselerasi .contact-paper,.mode-identitas .contact-paper{width:91%;padding:45px var(--gutter)}.mode-akselerasi .contact-section,.mode-identitas .contact-section{padding:55px 0;min-height:600px}.background-scene{inset:-12% -30%}.background-image,.background-video{object-position:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.background-image,.background-video{transform:none!important;will-change:auto}.background-video{display:none}.button:hover{transform:none}}
@media print{.navigation-rail,.background-world,.demo-badge,.demo-watermark,.demo-bar{display:none}.page-shell{margin:0;padding:0}.scene-window{display:none}.paper{background:#fff;color:#000}.contact-section{padding:0!important}.contact-paper{width:100%!important}.contact-paper,.contact-paper *{color:#000;background:#fff}}
