
:root{--bg:#fff;--ink:#111;--muted:#777;--line:#e6e6e6;--accent:#111;--on-accent:#fff;
--serif:Montserrat,"Helvetica Neue",Arial,sans-serif;--sans:Montserrat,"Helvetica Neue",Arial,sans-serif;
color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}


*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:10}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:42px;padding:26px clamp(16px,3vw,40px) 42px;border-bottom:1px solid var(--ink)}
.logo{font:600 clamp(22px,3.6vw,34px)/1.1 var(--sans);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);text-decoration:none;text-align:center}
i{font-style:normal}
.lh{margin:0;font:inherit}
.hact{position:absolute;top:22px;right:clamp(16px,3vw,40px);display:flex;gap:18px;align-items:center}
.ha{display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;color:var(--ink);font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:6px 0}
.ha svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ha:hover{opacity:.6}
.hact[hidden]{display:none}
.mo{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mo.open{display:flex}
.mob{background:#fff;border:1px solid var(--ink);padding:28px;max-width:420px;text-align:center}
.mob p{margin:0 0 20px}
@media (max-width:760px){.hact{position:static;align-self:flex-end;margin-bottom:-20px}.ha span{display:none}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
nav{display:flex;gap:2px;flex-wrap:wrap;align-items:center;justify-content:center}
nav button{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:5px 4px;margin:0 8px;cursor:pointer}
nav button:hover{color:var(--ink);border-bottom-color:var(--ink)}
nav button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
nav a.ig{margin-left:8px;color:var(--muted);display:inline-flex}
nav a.ig:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
main{padding:clamp(36px,6vw,64px) clamp(16px,3vw,40px) 64px;max-width:1400px;margin:0 auto}
section[hidden]{display:none}
h2{font:500 13px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:12px 0 24px}
p{max-width:60ch}
.hero{position:relative;aspect-ratio:2.39/1;min-height:300px;border-radius:3px;overflow:hidden;background:linear-gradient(120deg,#2a3550,#6b4a4a 55%,#c08a4a);display:flex;align-items:flex-end}
.hero div{padding:clamp(20px,4vw,48px);background:linear-gradient(transparent,rgba(0,0,0,.65));width:100%;color:#fff}
.hero h1{font:400 clamp(40px,7vw,96px)/.98 var(--serif);margin:0;letter-spacing:-.02em}
.hero p{margin:12px 0 0;font-size:15px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.frame{position:relative;border-radius:0;overflow:hidden;background:var(--img,var(--c));background-size:cover;background-position:center;aspect-ratio:var(--r,4/5);margin:0 0 6px;break-inside:avoid;width:100%}
.frame::after{content:attr(data-t);position:absolute;inset:auto 0 0;padding:32px 14px 12px;font:500 13px var(--sans);letter-spacing:.04em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));opacity:0;transition:opacity .2s}
.frame:hover::after,.frame:focus-visible::after{opacity:1}
.frame.vid::before{content:"";position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px;border-radius:50%;background:rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%2315171c'/%3E%3C/svg%3E") center/60% no-repeat}
.grid{columns:4;column-gap:6px;margin-top:6px}
main.wide{max-width:none;padding-left:clamp(14px,5.2vw,80px);padding-right:clamp(14px,5.2vw,80px)}
@media (max-width:760px){.grid{columns:2}}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#portofoliu .frame::after{display:none}
#portofoliu .frame{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 60px rgba(0,0,0,.28)}
.lb button{position:absolute;background:none;border:0;color:var(--ink);cursor:pointer;font:300 40px/1 var(--sans);padding:14px}
.lb .x{top:calc(env(safe-area-inset-top,0px) + 6px);right:10px}
.lb .pv{left:6px;top:50%;transform:translateY(-50%)}
.lb .nx{right:6px;top:50%;transform:translateY(-50%)}
body.lbo{overflow:hidden}
.tag{font:400 15px/1.4 var(--sans);color:var(--muted);margin:8px 0 18px;letter-spacing:.02em}
.grid .frame[hidden]{display:none}
.more{display:flex;justify-content:center;margin-top:36px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.card .frame{margin:0 0 12px}
.card h3{font:500 18px/1.3 var(--sans);margin:0 0 4px}
.card p{color:var(--muted);margin:0 0 12px;font-size:15px}
.note{color:var(--muted);margin:0 0 28px}
.ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--line);color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.grp{font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:44px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line)}
#gear .grp:first-of-type{margin-top:0}
.ph{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);padding:12px}
.ph img{display:block;width:100%;height:100%;object-fit:contain}
.btn[disabled]{opacity:.45;cursor:default;filter:none}
.btn{font:500 14px var(--sans);letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);border:0;border-radius:4px;padding:15px 30px;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{filter:brightness(1.1)}
.filters{display:flex;gap:8px;margin-bottom:20px}
.filters button{font:500 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer}
.filters button[aria-pressed="true"]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.about p{font-size:18px;line-height:1.75;max-width:none;margin:0 0 20px}
.about h3{font:600 clamp(26px,3.2vw,38px)/1.15 var(--sans);letter-spacing:-.01em;margin:0 0 24px}
.soc{display:flex;justify-content:center;gap:24px;margin-top:32px}
.soc a{color:var(--ink);display:inline-flex}
.soc a:hover{opacity:.55}
.soc svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portrait{--c:#5b6a85;aspect-ratio:3/4;margin:0}
.portrait-img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.about .intro{font:400 clamp(24px,3vw,34px)/1.25 var(--serif);max-width:28ch;margin:0 0 24px}
.cv{margin-top:36px;border-top:1px solid var(--line)}
.cv div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.cv dt{color:var(--muted);font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding-top:3px}
.cv dd{margin:0}
.cv a,.contact a{color:var(--ink);text-underline-offset:4px;text-decoration-color:var(--accent)}
.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,72px)}
form{display:grid;gap:16px;max-width:560px}
label{display:grid;gap:6px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input,textarea{font:400 17px var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:4px;padding:12px 14px;width:100%;text-transform:none;letter-spacing:0}
textarea{min-height:140px;resize:vertical}
.posts{max-width:980px;margin:0 auto;display:grid;gap:64px}
.post .pimg{display:block}
.post .frame{margin:0}
.post .frame::after{display:none}
.pmeta{margin:18px 0 8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.post h2{font:600 clamp(26px,3.4vw,40px)/1.15 var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0 0 12px}
.post h2 a{color:var(--ink);text-decoration:none}
.post h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.post p{max-width:60ch}
.post p:not(.pmeta){margin:0 0 16px;color:var(--muted)}
.rm{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.req{color:#c0392b;font-style:normal}
.gtitle{margin:8px 0 -4px;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.cmsg{font:600 clamp(24px,3vw,34px)/1.25 var(--sans);letter-spacing:-.01em;margin:0 0 24px;max-width:22ch}
@media (max-width:760px){.row2{grid-template-columns:1fr}}
.chk{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.5;color:var(--ink)}
.chk input{flex:none;width:18px;height:18px;padding:0;margin-top:3px;accent-color:#111}
.chk a{color:var(--ink);text-underline-offset:3px}
.pol{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.pol summary{cursor:pointer;color:var(--ink);font-weight:500}
.pol p{margin:10px 0;max-width:none}
footer{margin:48px auto 0;padding:28px clamp(16px,3vw,40px) 32px;color:var(--muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:14px;border-top:1px solid var(--line)}
footer nav{display:flex;gap:6px 26px;flex-wrap:wrap;justify-content:center}
footer a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:4px 0;border-bottom:1px solid transparent}
footer svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
footer a:hover{border-bottom-color:var(--ink)}
@media (max-width:760px){.about,.contact{grid-template-columns:1fr}.portrait{max-width:340px}
.portrait-img{max-width:340px}.hero{aspect-ratio:4/3}.cv div{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

a.frame{display:block}.grid .frame{cursor:zoom-in}.grid .frame::after{display:none}.grid.hz{columns:3;margin-top:6px}@media (max-width:760px){.grid.hz{columns:2}}.grid+.grid{margin-top:6px}.grid.few{columns:2;max-width:1000px;margin-left:auto;margin-right:auto}
header nav a{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;padding:5px 4px;margin:0 8px}
header nav a:hover,header nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.hero{position:relative;min-height:clamp(380px,64vh,660px);overflow:hidden;background:#222;color:#fff;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.62))}
.hero-t{position:relative;z-index:1;padding:clamp(20px,4vw,56px)}
.hname{margin:0 0 10px;max-width:none;font:600 clamp(40px,7vw,88px)/1 var(--sans);letter-spacing:-.02em}
.hsub{margin:0 0 4px;max-width:none;font-size:clamp(15px,1.6vw,19px);opacity:.92}
.hero .btn{margin-top:22px;background:#fff;color:#111}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 22px;margin-top:56px}
.tile{display:block;text-decoration:none;color:var(--ink)}
.tph{aspect-ratio:4/5;overflow:hidden;background:#eee}
.tph img{display:block;width:100%;height:100%;object-fit:cover;object-position:40% center;transition:transform .5s}
.tile:hover img{transform:scale(1.04)}
.tile h3{margin:14px 0 0;text-align:center;font:700 13px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.cnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.cnav a{font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 16px;text-decoration:none}
.cnav a:hover,.cnav a[aria-current="page"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:760px){.tiles{grid-template-columns:repeat(2,1fr);gap:26px 12px}.grid.hz{columns:3;margin-top:6px}.grid+.grid{margin-top:6px}.grid.few{columns:2}}

header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:block;padding:0;background:#fff;border-bottom:1px solid var(--line);transition:transform .35s ease}
header.hide{transform:translateY(-101%)}
.hbar{position:relative;display:flex;flex-direction:column;align-items:center;gap:56px;padding:30px clamp(16px,4vw,56px) 22px}
.lh{margin:0;font:inherit;text-align:center}
.logo{font:italic 600 clamp(34px,3.8vw,50px)/1 "Cormorant Garamond",Georgia,"Times New Roman",serif;letter-spacing:.01em;text-transform:none;text-decoration:none;color:var(--ink);white-space:nowrap}
header nav{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 34px}
header nav a,.hl{font:500 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:none;border:0;border-bottom:2px solid transparent;padding:6px 0;margin:0;cursor:pointer;white-space:nowrap}
header nav a:hover,header nav a[aria-current="page"],.hl:hover{border-bottom-color:var(--ink)}
.cover{position:relative;overflow:hidden;background:#222;min-height:calc(100vw*9/16);display:flex;align-items:center;padding:clamp(20px,3vw,36px) 0}
.cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cpanel{position:relative;z-index:1;margin-left:clamp(16px,5vw,72px);width:min(560px,calc(100% - 2*clamp(16px,5vw,72px)));background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:clamp(20px,3vw,36px)}
.cpanel form{gap:12px}
.cpanel textarea{min-height:96px}
.cpanel input,.cpanel textarea{padding:10px 12px}
.cinfo{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cinfo p{margin:0 0 4px;font-size:17px;max-width:none}
.cinfo a{color:var(--ink)}
@media (max-width:760px){.cpanel{margin:0 auto;width:calc(100% - 32px)}}
main.flush{padding:0 0 64px;max-width:none}
main.flush section#contact{max-width:none}
#contact .contact{max-width:1300px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(16px,4vw,56px)}
#portfolio .tiles{margin-top:6px;gap:6px}
#about .about{max-width:1080px;margin:0 auto;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
#about .about p{font-size:17px;line-height:1.75}
@media (max-width:860px){#about .about{grid-template-columns:1fr;max-width:560px;gap:28px}#about .portrait-img{max-width:100%;width:100%}}
@media (max-width:760px){#portfolio .tiles{gap:22px}}
.cform{align-items:flex-start}
.cshade{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.5))}
.cwrap{position:relative;z-index:1;width:min(720px,calc(100% - 2*clamp(20px,6vw,88px)));margin-left:clamp(20px,6vw,88px);color:#fff;padding:clamp(28px,4vw,56px) 0 clamp(40px,6vw,80px)}
#contact form{max-width:none;gap:22px}
#contact .row2{grid-template-columns:1fr 1fr;gap:16px}
#contact label{color:#fff;font:300 17px var(--sans);letter-spacing:.02em;text-transform:none}
#contact label em{font:700 13px Oswald,var(--sans);letter-spacing:.04em;text-transform:uppercase;font-style:normal;margin-left:10px}
#contact input,#contact textarea{background:#f9f9f9;border:2px solid #111;border-radius:0;color:#111;padding:12px 14px;font-size:16px}
#contact input[type=checkbox]{width:18px;height:18px;padding:0}
#contact textarea{min-height:150px}
.fh{margin:0;font:300 17px var(--sans);color:#fff;max-width:none}
#contact .gtitle{color:#fff;font:700 15px Oswald,var(--sans);letter-spacing:.08em;margin:6px 0 -8px;text-transform:uppercase}
#contact .gtitle em{font-style:normal;font-size:13px;margin-left:8px}
#contact .chk{color:#fff;font:300 15px/1.5 var(--sans)}
#contact .chk a{color:#fff}
.sbtn{justify-self:start;align-self:start;background:transparent;color:#fff;border:2px solid #fff;border-radius:0;padding:18px 44px;font:700 17px Oswald,var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.sbtn:hover{background:#fff;color:#111}
#contact .pol{color:rgba(255,255,255,.85);border-top:1px solid rgba(255,255,255,.35)}
#contact .pol summary{color:#fff}
.cinfo2{margin-top:44px}
.cinfo2 p{margin:0 0 10px;max-width:none;color:#fff;font:700 clamp(22px,4.6vw,34px)/1.25 Oswald,var(--sans);letter-spacing:.18em;text-transform:uppercase}
.cinfo2 a{color:#fff;text-decoration:none;word-break:break-word}
@media (max-width:760px){#contact label{font-size:15px}#contact label em{margin-left:6px;font-size:12px}#contact .row2>label{min-width:0}#contact .row2 em{display:block;margin:2px 0 0}.cinfo2 p{font-size:20px;letter-spacing:.1em}}
.grid.mas{display:flex;gap:6px;columns:auto;align-items:flex-start}
.mcol{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px}
.mcol .frame{margin:0}
.cwrap{width:calc(100% - 2*clamp(20px,6vw,88px));max-width:1300px;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.cwrap .cinfo2{margin-top:0}
.cwrap .cinfo2 p{font-size:clamp(18px,2.1vw,34px);letter-spacing:.12em}
.cwrap .cinfo2 p:nth-child(2){margin-bottom:clamp(28px,4vw,52px)}
@media (max-width:1000px){.cwrap{grid-template-columns:1fr;max-width:720px}.cwrap .cinfo2{margin-top:44px}.cwrap .cinfo2 p{font-size:clamp(20px,4.6vw,30px)}}
@media (max-width:760px){.cwrap .cinfo2 p{font-size:20px;letter-spacing:.1em}}
footer{background:#fff}
.hicons{position:absolute;top:30px;right:clamp(16px,4vw,56px);display:flex;align-items:center;gap:16px}
.cart{color:var(--ink);display:inline-flex;position:relative;background:none;border:0;cursor:pointer;padding:4px}
.cart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cnt{position:absolute;top:-4px;right:-6px;min-width:17px;height:17px;border-radius:9px;background:var(--ink);color:#fff;font:600 10px/17px var(--sans);text-align:center}
.burger{display:none;position:absolute;left:clamp(8px,3vw,24px);top:50%;transform:translateY(-50%);background:none;border:0;padding:6px;cursor:pointer;color:var(--ink)}
.burger svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
.hl-m{display:none}
@media (max-width:760px){.hbar{flex-direction:row;justify-content:center;padding:14px 56px;min-height:64px}.logo{font-size:30px}.burger{display:block}.hicons{top:50%;transform:translateY(-50%);right:12px}.hl-d{display:none}header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:6px clamp(16px,4vw,56px) 18px}header.open nav{display:flex}header nav a,.hl-m{display:block;width:100%;text-align:left;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}}
main{max-width:none;padding:clamp(28px,4vw,56px) clamp(16px,4vw,56px) 64px}
main.home{padding:0 0 72px}
main.wide{padding-left:clamp(16px,4vw,56px);padding-right:clamp(16px,4vw,56px)}
main:not(.wide):not(.home) section{max-width:1300px;margin:0 auto}
.hero{min-height:clamp(440px,72vh,760px);aspect-ratio:auto}
.hero::after{display:none}
.hero .hname{font:italic 600 clamp(46px,8vw,104px)/1 "Cormorant Garamond",Georgia,serif;letter-spacing:0;text-transform:none;opacity:1;margin:0 0 12px}
.hero .hsub{font-size:clamp(15px,1.6vw,19px);letter-spacing:0;text-transform:none;opacity:.92;margin:0 0 4px}
.feat{display:grid;grid-template-columns:1fr 1fr}
.feat .fi{position:relative;min-height:400px;overflow:hidden;background:#eee}
.feat .fi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat .ft{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,6vw,96px)}
.feat.rev .fi{order:2}
.feat small{font:500 13px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.feat h2{font:700 clamp(28px,3.8vw,54px)/1.08 var(--sans);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);margin:10px 0 28px}
.sec-h{text-align:center;font:700 clamp(22px,3vw,34px)/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:72px 0 30px}
.hometiles{padding:0 clamp(16px,4vw,56px)}
.hometiles .tph{aspect-ratio:1/1}
.card .frame::after{display:none}
.cards .btn[disabled]{opacity:.45;cursor:default}
.mo{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mo.open{display:flex}
.mob{background:#fff;border:1px solid var(--ink);padding:28px;max-width:420px;text-align:center}
.mob p{margin:0 0 20px}
@media (max-width:760px){.feat{grid-template-columns:1fr}.feat .fi,.feat.rev .fi{order:0;min-height:0;aspect-ratio:4/3}.tiles{grid-template-columns:1fr}.hometiles .tph{aspect-ratio:4/3}}

/* Contact: casute fara contur; formular stanga + detalii dreapta (desktop), centrat pe telefon; footer lipit de poza */
#contact .cover{justify-content:center}
#contact .cwrap{display:block;margin:0 auto;width:min(640px,calc(100% - 2*clamp(20px,6vw,88px)));max-width:none}
#contact input,#contact textarea{border:0;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
#contact input:focus,#contact textarea:focus{outline:2px solid #fff;outline-offset:2px}
#contact input[type=checkbox]{box-shadow:none}
#contact .sbtn{justify-self:center;align-self:center}
#contact .cwrap .cinfo2{margin-top:clamp(36px,6vw,64px);text-align:center}
#contact .cwrap .cinfo2 p{font-size:clamp(20px,3.4vw,30px);letter-spacing:.14em;overflow-wrap:anywhere}
@media (max-width:760px){#contact .cwrap .cinfo2 p{font-size:19px;letter-spacing:.08em}#contact .cwrap .cinfo2 p:nth-child(2){font-size:clamp(13px,4.2vw,18px);letter-spacing:.04em;white-space:nowrap;overflow-wrap:normal}}
@media (min-width:1001px){
#contact .cwrap{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;width:calc(100% - 2*clamp(20px,6vw,88px));max-width:1300px}
#contact .cwrap .cinfo2{margin-top:0;text-align:left}
#contact .cwrap .cinfo2 p{font-size:clamp(16px,1.7vw,28px);letter-spacing:.1em}
#contact .cwrap .cinfo2 p:nth-child(2){margin-bottom:clamp(28px,4vw,52px)}}
main.flush{padding-bottom:0}
main.flush+footer{margin-top:0;border-top:0}

/* Antet: nume aproape de meniu; spatiu jos = spatiu sus, cu linie subtire de delimitare */
@media (min-width:761px){.hbar{gap:18px}}
main{padding-bottom:clamp(28px,4vw,56px)}
footer{margin-top:0}
.grid:not(.grid+.grid){margin-top:0}
#portfolio .tiles{margin-top:0}

/* About: poza are exact inaltimea textului */
#about .about{align-items:stretch}
#about .about>div:not(.portrait-box){align-self:center}
#about .portrait-box{position:relative;min-height:320px}
#about .portrait-box .portrait-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center 25%}
#about .about>div:not(.portrait-box)>p:last-of-type,#about .about .soc{margin-bottom:0}
@media (max-width:860px){#about .portrait-box{min-height:0;aspect-ratio:3/4}}
@media (min-width:1101px){#about .about{max-width:1240px;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:clamp(40px,5vw,80px)}}
@media (min-width:861px) and (max-width:1100px){#about .about{grid-template-columns:1fr;max-width:560px;gap:28px}#about .portrait-box{min-height:0;aspect-ratio:3/4}}

/* Contact: asterisc pentru campuri obligatorii, bifa GDPR proprie, detalii centrate pe verticala fata de formular */
#contact label em,#contact .gtitle em{font:400 18px/1 var(--sans);letter-spacing:0;text-transform:none;margin-left:4px}
@media (max-width:760px){#contact label em{font-size:16px;margin-left:4px}#contact .row2 em{display:inline;margin:0 0 0 4px}}
#contact .chk{display:flex;gap:14px;align-items:flex-start}
#contact .chk input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;display:grid;place-content:center;width:22px;height:22px;margin:1px 0 0;padding:0;border:2px solid #fff;border-radius:3px;background:transparent;box-shadow:none;cursor:pointer;transition:background .15s}
#contact .chk input[type=checkbox]::after{content:"";width:6px;height:11px;border:solid #111;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg);opacity:0;transition:opacity .15s}
#contact .chk input[type=checkbox]:checked{background:#fff}
#contact .chk input[type=checkbox]:checked::after{opacity:1}
#contact .chk span{cursor:default}
@media (min-width:1001px){#contact .cwrap .cinfo2{align-self:start}}
#contact .gtitle em{margin-left:2px}
#contact .chk input[type=checkbox]:focus:not(:focus-visible){outline:none}
#contact label em,#contact .gtitle em{color:#ff4040}
#contact label em,#contact .gtitle em{color:#ff2d2d;font-weight:700;text-shadow:0 0 3px rgba(0,0,0,.6)}
#contact label em,#contact .gtitle em{color:#e8837c;font-weight:400;text-shadow:none}
#contact label em,#contact .gtitle em{color:#ff3333;font-weight:400;font-size:20px;text-shadow:0 0 2px rgba(0,0,0,.45)}
@media (max-width:760px){#contact label em{font-size:18px}}

/* Contact: continut centrat vertical intre antet si footer */
#contact .cover{align-items:center}
#contact .cwrap{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px)}
@media (min-width:1001px){#contact .cwrap{grid-template-columns:minmax(0,560px) max-content;justify-content:space-between;column-gap:clamp(32px,4vw,64px)}}
